From 88070b0afbc6c8a452fe6df0a37290f86f807cc7 Mon Sep 17 00:00:00 2001 From: Shreyas Goenka Date: Wed, 19 Aug 2026 14:43:54 +0000 Subject: [PATCH 1/4] Bump databricks-sdk-go from v0.171.0 to v0.175.0 Bump the pinned SDK and OpenAPI spec SHA, and regenerate all downstream artifacts. Breaking changes handled: - jobs.JobCluster.NewCluster became *compute.ClusterSpec (v0.172): nil-guard the job-cluster fixups and update the affected test fixtures. - pipelines.GetPipelineResponse gained EffectiveServerlessComputeId: add it to PipelineRemote so TestPipelineRemote's coverage check passes. - apps.App absorbed source_code_path, git_source, and default_git_source (v0.175), duplicating the json tags DABs already declared on resources.App, AppState, and AppRemote. Two fields at one path broke app diffing (phantom source_code_path drift plus an "unexpected local and remote diffs" warning), so drop the DABs copies and use the embedded ones. The bundle key source_code_path is unchanged for users, and appRequestBody keeps these deploy-only fields out of app create/update bodies as before. Remote-side suppression now comes from the spec (input_only/output_only) via resources.generated.yml. Co-authored-by: Isaac --- .codegen/_openapi_sha | 2 +- .codegen/cli.json | 96389 +++++++++------- .../dependency-updates/bump-sdk-0.175.0.md | 1 + acceptance/bundle/refschema/out.fields.txt | 51 +- .../cmd/account/account-help/output.txt | 2 +- acceptance/cmd/workspace/apps/output.txt | 1 + acceptance/help/output.txt | 2 +- bundle/apps/validate_test.go | 24 +- .../mutator/paths/app_paths_visitor_test.go | 5 +- .../mutator/resourcemutator/cluster_fixups.go | 7 +- .../merge_job_clusters_test.go | 10 +- .../mutator/translate_paths_apps_test.go | 4 +- bundle/config/resources/apps.go | 11 +- .../validate/single_node_cluster_test.go | 6 +- bundle/deploy/terraform/convert_test.go | 2 +- bundle/deploy/terraform/tfdyn/convert_app.go | 9 + .../terraform/tfdyn/convert_app_test.go | 10 +- .../terraform/tfdyn/convert_job_test.go | 8 +- bundle/direct/dresources/app.go | 73 +- bundle/direct/dresources/pipeline.go | 48 +- .../direct/dresources/resources.generated.yml | 10 +- .../validation/generated/enum_fields.go | 16 +- .../validation/generated/required_fields.go | 63 +- bundle/run/app_test.go | 8 +- bundle/schema/jsonschema.json | 381 +- bundle/terraform_dabs_map/generated.go | 81 +- bundle/trampoline/python_dbr_warning_test.go | 10 +- cmd/account/iam-v2/iam-v2.go | 2519 +- .../usage-dashboards/usage-dashboards.go | 30 +- cmd/workspace/ai-gateway/ai-gateway.go | 30 +- cmd/workspace/apps/apps.go | 6 + .../bundle-deployments/bundle-deployments.go | 133 +- .../git-credentials/git-credentials.go | 6 +- cmd/workspace/postgres/postgres.go | 358 +- cmd/workspace/repos/repos.go | 3 +- .../workspace-iam-v2/workspace-iam-v2.go | 2684 +- go.mod | 2 +- go.sum | 4 +- python/databricks/bundles/jobs/_models/job.py | 6 +- .../bundles/jobs/_models/job_cluster.py | 4 +- .../databricks/bundles/pipelines/__init__.py | 42 + .../pipelines/_models/connector_options.py | 46 +- .../pipelines/_models/data_staging_options.py | 12 +- .../pipelines/_models/ingestion_config.py | 5 +- .../_models/ingestion_pipeline_definition.py | 8 +- .../_models/linked_in_ads_options.py | 101 + ...ons_linked_in_ads_custom_report_options.py | 138 + ...ptions_linked_in_ads_entity_granularity.py | 22 + ...tom_report_options_linked_in_ads_finder.py | 21 + ..._options_linked_in_ads_time_granularity.py | 22 + .../pipelines/_models/marketo_options.py | 50 + .../bundles/pipelines/_models/schema_spec.py | 12 +- .../bundles/pipelines/_models/table_spec.py | 12 +- .../_models/table_specific_config.py | 8 +- .../_models/zendesk_support_options.py | 4 +- 55 files changed, 58347 insertions(+), 45175 deletions(-) create mode 100644 .nextchanges/dependency-updates/bump-sdk-0.175.0.md create mode 100644 python/databricks/bundles/pipelines/_models/linked_in_ads_options.py create mode 100644 python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options.py create mode 100644 python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_entity_granularity.py create mode 100644 python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_finder.py create mode 100644 python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_time_granularity.py create mode 100644 python/databricks/bundles/pipelines/_models/marketo_options.py diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index cad92139214..e1ef04f4fce 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -fc0241ef3fa690fe0d1bd2238dbdb4c4e58a12ab \ No newline at end of file +b73946692eb938a39aa3c6a863873f99eadde611 \ No newline at end of file diff --git a/.codegen/cli.json b/.codegen/cli.json index 350196a7838..b17b9a95064 100644 --- a/.codegen/cli.json +++ b/.codegen/cli.json @@ -1282,6 +1282,14 @@ "OUTPUT_ONLY" ] }, + "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", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "default_source_code_path": { "description": "The default workspace file system path of the source code from which app deployment are\ncreated. This field tracks the workspace source code path of the last active deployment.", "launch_stage": "GA", @@ -1321,6 +1329,14 @@ "ref": "apps.GitRepository", "launch_stage": "GA" }, + "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", + "behaviors": [ + "INPUT_ONLY" + ] + }, "id": { "description": "The unique identifier of the app.", "launch_stage": "GA", @@ -1374,6 +1390,12 @@ "OUTPUT_ONLY" ] }, + "source_code_path": { + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "INPUT_ONLY" + ] + }, "space": { "description": "Name of the space this app belongs to.", "launch_stage": "PRIVATE_PREVIEW" @@ -2669,6 +2691,17 @@ "apps.GitRepository": { "description": "Git repository configuration specifying the location of the repository.", "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" + }, + "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", + "behaviors": [ + "INPUT_ONLY" + ] + }, "provider": { "description": "Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud,\nbitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.", "launch_stage": "GA" @@ -3366,16 +3399,16 @@ "dashboard_type": { "description": "Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account.", "ref": "billing.UsageDashboardType", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "major_version": { "description": "The major version of the usage dashboard template to use. Defaults to VERSION_1.", "ref": "billing.UsageDashboardMajorVersion", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "workspace_id": { "description": "The workspace ID of the workspace in which the usage dashboard is created.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -3383,7 +3416,7 @@ "fields": { "dashboard_id": { "description": "The unique id of the usage dashboard.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -3620,11 +3653,11 @@ "dashboard_type": { "description": "Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account.", "ref": "billing.UsageDashboardType", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "workspace_id": { "description": "The workspace ID of the workspace in which the usage dashboard is created.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -3632,11 +3665,11 @@ "fields": { "dashboard_id": { "description": "The unique id of the usage dashboard.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "dashboard_url": { "description": "The URL of the usage dashboard.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -3995,8 +4028,8 @@ "USAGE_DASHBOARD_MAJOR_VERSION_2" ], "enum_launch_stages": { - "USAGE_DASHBOARD_MAJOR_VERSION_1": "PUBLIC_PREVIEW", - "USAGE_DASHBOARD_MAJOR_VERSION_2": "PUBLIC_PREVIEW" + "USAGE_DASHBOARD_MAJOR_VERSION_1": "GA", + "USAGE_DASHBOARD_MAJOR_VERSION_2": "GA" } }, "billing.UsageDashboardType": { @@ -4005,8 +4038,8 @@ "USAGE_DASHBOARD_TYPE_GLOBAL" ], "enum_launch_stages": { - "USAGE_DASHBOARD_TYPE_GLOBAL": "PUBLIC_PREVIEW", - "USAGE_DASHBOARD_TYPE_WORKSPACE": "PUBLIC_PREVIEW" + "USAGE_DASHBOARD_TYPE_GLOBAL": "GA", + "USAGE_DASHBOARD_TYPE_WORKSPACE": "GA" } }, "billing.WrappedCreateLogDeliveryConfiguration": { @@ -4065,19 +4098,6 @@ } } }, - "bundledeployments.CreateOperationRequest": { - "fields": { - "operation": { - "description": "The resource operation to create.", - "ref": "bundledeployments.Operation", - "launch_stage": "PRIVATE_PREVIEW" - }, - "resource_key": { - "description": "The key identifying the resource this operation applies to.\nBecomes the final component of the operation's name.", - "launch_stage": "PRIVATE_PREVIEW" - } - } - }, "bundledeployments.CreateVersionRequest": { "fields": { "version": { @@ -4478,10 +4498,10 @@ } }, "bundledeployments.Operation": { - "description": "An operation on a single resource performed during a version. Operations\nrecord the result of applying a resource change to the workspace. Most\nfields are immutable once recorded; `state`, `error_message`, `resource_id`,\nand `status` may be updated afterwards (via UpdateOperation), guarded by\n`sequence_id` for optimistic concurrency control.", + "description": "An operation on a single resource performed during a version. The full set\nof operations for a version is recorded when the version is created: each\ncarries its `resource_key` and `action_type` and starts in\n`OPERATION_STATUS_PENDING`. As each resource is applied, its operation is\nupdated (via UpdateOperation) to record the result of applying the change to\nthe workspace. `state`, `error_message`, `resource_id`, `status`, and\n`dashboard_metadata` may be updated afterwards, guarded by `sequence_id` for\noptimistic concurrency control; all other fields are immutable once recorded.", "fields": { "action_type": { - "description": "The type of operation performed on this resource.", + "description": "The type of operation performed on this resource. Set when the version is\ncreated and immutable thereafter.", "ref": "bundledeployments.OperationActionType", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ @@ -4496,11 +4516,11 @@ ] }, "dashboard_metadata": { - "description": "Dashboard-specific metadata; set only for dashboard resources.", + "description": "Dashboard-specific metadata; set only for dashboard resources. Mutable: may\nbe set or updated via UpdateOperation as the resource is applied, and is\nmirrored onto the corresponding deployment-level resource.", "ref": "bundledeployments.DashboardMetadata", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ - "IMMUTABLE" + "OPTIONAL" ] }, "error_message": { @@ -4525,7 +4545,7 @@ ] }, "resource_key": { - "description": "Resource identifier within the bundle (e.g. \"jobs.foo\",\n\"pipelines.bar\", \"jobs.foo.permissions\", \"files.\u003crel-path\u003e\").\nCan be an arbitrary UTF-8 encoded string key. This key links the\noperation to the corresponding deployment-level Resource.", + "description": "Resource identifier within the bundle (e.g. \"jobs.foo\",\n\"pipelines.bar\", \"jobs.foo.permissions\", \"files.\u003crel-path\u003e\").\nCan be an arbitrary UTF-8 encoded string key. This key links the\noperation to the corresponding deployment-level Resource. Set when the\nversion is created and immutable thereafter.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "IMMUTABLE" @@ -4540,7 +4560,7 @@ ] }, "sequence_id": { - "description": "Monotonically increasing revision used for optimistic concurrency control\n(the AIP-154 concurrency token for this resource, realized as a sequence\nnumber rather than an opaque etag). The server assigns 1 on creation and\nincrements it on every successful UpdateOperation. It is OPTIONAL rather\nthan OUTPUT_ONLY because it is dual-purpose: CreateOperation/GetOperation\nreturn the current value, and UpdateOperation reads the caller-supplied\nvalue as a precondition. The caller must echo the value it last observed;\nif it no longer matches the server's value, the update is rejected with\nABORTED so the caller can re-read and retry. Ignored on CreateOperation.", + "description": "Monotonically increasing revision used for optimistic concurrency control\n(the AIP-154 concurrency token for this resource, realized as a sequence\nnumber rather than an opaque etag). The server assigns 0 when the operation\nis created and increments it on every successful UpdateOperation, so a\nnever-updated operation is at 0 and the first successful update makes it 1.\nIt is OPTIONAL rather than OUTPUT_ONLY because it is dual-purpose:\nGetOperation returns the current value, and UpdateOperation reads the\ncaller-supplied value as a precondition. The caller must echo the value it\nlast observed; if it no longer matches the server's value, the update is\nrejected with ABORTED so the caller can re-read and retry.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -4554,9 +4574,12 @@ ] }, "status": { - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", + "description": "Status of the operation. Starts as OPERATION_STATUS_PENDING when the version\nis created and moves to a terminal status once the resource is applied.\nMutable: updated via UpdateOperation, e.g. when an operation recorded as\nfailed is retried and eventually succeeds. A succeeded operation cannot\ncarry an `error_message`.", "ref": "bundledeployments.OperationStatus", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] }, "update_time": { "description": "When the operation was last updated. Set to `create_time` when the operation is created and\nto the server timestamp on each successful UpdateOperation.", @@ -4682,7 +4705,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "update_mask": { - "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, and `status`. An empty mask or any other\npath is rejected with INVALID_PARAMETER_VALUE.", + "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, `status`, and `dashboard_metadata`. An empty\nmask or any other path is rejected with INVALID_PARAMETER_VALUE.", "launch_stage": "PRIVATE_PREVIEW" } } @@ -6305,11 +6328,11 @@ "launch_stage": "PUBLIC_BETA" }, "mcp_service_id": { - "description": "Leaf identifier for the MCP service (the unqualified name within the\nparent schema, e.g. \"my_mcp_service\").", + "description": "Name for the MCP service, e.g. \"my_mcp_service\".", "launch_stage": "PUBLIC_BETA" }, "parent": { - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "launch_stage": "PUBLIC_BETA" } } @@ -6355,11 +6378,11 @@ "launch_stage": "PUBLIC_BETA" }, "model_provider_service_id": { - "description": "Leaf identifier for the provider service (the unqualified name within the\nparent schema, e.g. \"openai_prod\").", + "description": "Name for the model provider service, e.g. \"openai_prod\".", "launch_stage": "PUBLIC_BETA" }, "parent": { - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "launch_stage": "PUBLIC_BETA" } } @@ -6372,11 +6395,11 @@ "launch_stage": "PUBLIC_BETA" }, "model_service_id": { - "description": "Leaf identifier for the model service (the unqualified name within the\nparent schema, e.g. \"my_model_service\").", + "description": "Name for the model service, e.g. \"my_model_service\".", "launch_stage": "PUBLIC_BETA" }, "parent": { - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "launch_stage": "PUBLIC_BETA" } } @@ -9019,7 +9042,7 @@ "catalog.ListMcpServicesRequest": { "fields": { "page_size": { - "description": "Maximum number of MCP services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `next_page_token` to retrieve additional pages.", + "description": "Maximum number of MCP services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `page_token` to retrieve additional pages.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" @@ -9033,14 +9056,14 @@ ] }, "parent": { - "description": "Resource name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", + "description": "Name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "view": { - "description": "View selector controlling which fields are populated per row.", + "description": "View selector controlling which fields are populated per row. `FULL`\nreturns the full representation of the service; `BASIC` returns a more\ncompact version. Defaults to `BASIC` when unset.", "ref": "catalog.ListMcpServicesRequestView", "launch_stage": "PUBLIC_BETA", "behaviors": [ @@ -9100,7 +9123,7 @@ "catalog.ListModelProviderServicesRequest": { "fields": { "page_size": { - "description": "Maximum number of provider services to return. Defaults to 100 when unset or\n0; the maximum is 100. Use `next_page_token` to retrieve additional pages.", + "description": "Maximum number of provider services to return. Defaults to 100 when unset or\n0; the maximum is 100. Use `page_token` to retrieve additional pages.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" @@ -9114,14 +9137,14 @@ ] }, "parent": { - "description": "Resource name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", + "description": "Name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "view": { - "description": "View selector controlling which fields are populated per row.", + "description": "View selector controlling which fields are populated per row. `FULL`\nreturns the full representation of the service; `BASIC` returns a more\ncompact version. Defaults to `BASIC` when unset.", "ref": "catalog.ListModelProviderServicesRequestView", "launch_stage": "PUBLIC_BETA", "behaviors": [ @@ -9157,7 +9180,7 @@ "catalog.ListModelServicesRequest": { "fields": { "page_size": { - "description": "Maximum number of model services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `next_page_token` to retrieve additional pages.", + "description": "Maximum number of model services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `page_token` to retrieve additional pages.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" @@ -9171,14 +9194,14 @@ ] }, "parent": { - "description": "Resource name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", + "description": "Name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "view": { - "description": "View selector controlling which fields are populated per row.", + "description": "View selector controlling which fields are populated per row. `FULL`\nreturns the full representation of the service; `BASIC` returns a more\ncompact version. Defaults to `BASIC` when unset.", "ref": "catalog.ListModelServicesRequestView", "launch_stage": "PUBLIC_BETA", "behaviors": [ @@ -9780,6 +9803,7 @@ ] }, "name": { + "description": "Name of the UC connection that hosts the MCP server, as\n`connections/{catalog}.{schema}.{connection}`.", "launch_stage": "PUBLIC_BETA" } } @@ -20629,6 +20653,14 @@ }, "dashboards.GenieConversationSummary": { "fields": { + "agent_type": { + "description": "Whether this is a classic chat or an agent-mode conversation. Allows callers to\nroute message retrieval (chat vs. agent endpoint) without an extra lookup.", + "ref": "dashboards.GenieConversationType", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "conversation_id": { "launch_stage": "GA" }, @@ -20646,6 +20678,17 @@ } } }, + "dashboards.GenieConversationType": { + "description": "The type of a Genie conversation. Distinguishes an agent-mode conversation from\na classic chat conversation so callers can route message retrieval accordingly\nwithout a per-conversation lookup.", + "enum": [ + "GENIE_CONVERSATION_TYPE_CHAT", + "GENIE_CONVERSATION_TYPE_AGENT" + ], + "enum_launch_stages": { + "GENIE_CONVERSATION_TYPE_AGENT": "PUBLIC_BETA", + "GENIE_CONVERSATION_TYPE_CHAT": "PUBLIC_BETA" + } + }, "dashboards.GenieCreateConversationMessageRequest": { "fields": { "content": { @@ -21450,6 +21493,13 @@ }, "dashboards.GenieSpace": { "fields": { + "create_time": { + "description": "Time when the Genie space was created.", + "launch_stage": "GA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "description": { "description": "Description of the Genie Space", "launch_stage": "GA", @@ -21486,6 +21536,13 @@ "description": "Title of the Genie Space", "launch_stage": "GA" }, + "update_time": { + "description": "Time when the Genie space was last modified, matching the value shown in the Genie Agent UI.", + "launch_stage": "GA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "warehouse_id": { "description": "Warehouse associated with the Genie Space", "launch_stage": "GA", @@ -22245,10 +22302,12 @@ "dashboards.TextAttachmentPurpose": { "description": "Purpose/intent of a text attachment", "enum": [ - "FOLLOW_UP_QUESTION" + "FOLLOW_UP_QUESTION", + "TEXT_ATTACHMENT_PURPOSE_ANSWER" ], "enum_launch_stages": { - "FOLLOW_UP_QUESTION": "GA" + "FOLLOW_UP_QUESTION": "GA", + "TEXT_ATTACHMENT_PURPOSE_ANSWER": "PUBLIC_BETA" } }, "dashboards.Thought": { @@ -23373,9 +23432,13 @@ "database.SyncedTableSpecPgSpecificType": { "description": "PostgreSQL-specific target types that can override the default Delta-to-PG mapping.", "enum": [ - "PG_SPECIFIC_TYPE_VECTOR" + "PG_SPECIFIC_TYPE_VECTOR", + "PG_SPECIFIC_TYPE_HALFVEC", + "PG_SPECIFIC_TYPE_VARCHAR" ], "enum_launch_stages": { + "PG_SPECIFIC_TYPE_HALFVEC": "PRIVATE_PREVIEW", + "PG_SPECIFIC_TYPE_VARCHAR": "PRIVATE_PREVIEW", "PG_SPECIFIC_TYPE_VECTOR": "PRIVATE_PREVIEW" } }, @@ -27174,6 +27237,78 @@ } } }, + "iamv2.CreateDirectGroupMemberProxyRequest": { + "fields": { + "direct_group_member": { + "description": "Required. The group membership to create.", + "ref": "iamv2.DirectGroupMember", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateDirectGroupMemberRequest": { + "fields": { + "direct_group_member": { + "description": "Required. The direct group member to be added to the group.", + "ref": "iamv2.DirectGroupMember", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateGroupProxyRequest": { + "fields": { + "group": { + "description": "Required. Group to be created in \u003cDatabricks\u003e", + "ref": "iamv2.Group", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateGroupRequest": { + "fields": { + "group": { + "description": "Required. Group to be created in \u003cDatabricks\u003e", + "ref": "iamv2.Group", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateServicePrincipalProxyRequest": { + "fields": { + "service_principal": { + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "ref": "iamv2.ServicePrincipal", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateServicePrincipalRequest": { + "fields": { + "service_principal": { + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "ref": "iamv2.ServicePrincipal", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateUserProxyRequest": { + "fields": { + "user": { + "description": "Required. User to be created in \u003cDatabricks\u003e", + "ref": "iamv2.User", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateUserRequest": { + "fields": { + "user": { + "description": "Required. User to be created in \u003cDatabricks\u003e", + "ref": "iamv2.User", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "iamv2.CreateWorkspaceAssignmentDetailProxyRequest": { "fields": { "workspace_assignment_detail": { @@ -27192,8 +27327,86 @@ } } }, + "iamv2.CreateWorkspaceAssignmentProxyRequest": { + "fields": { + "workspace_assignment": { + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "ref": "iamv2.WorkspaceAssignment", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.CreateWorkspaceAssignmentRequest": { + "fields": { + "workspace_assignment": { + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "ref": "iamv2.WorkspaceAssignment", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.DeleteDirectGroupMemberProxyRequest": {}, + "iamv2.DeleteDirectGroupMemberRequest": {}, + "iamv2.DeleteGroupProxyRequest": {}, + "iamv2.DeleteGroupRequest": {}, + "iamv2.DeleteServicePrincipalProxyRequest": {}, + "iamv2.DeleteServicePrincipalRequest": {}, + "iamv2.DeleteUserProxyRequest": {}, + "iamv2.DeleteUserRequest": {}, "iamv2.DeleteWorkspaceAssignmentDetailProxyRequest": {}, "iamv2.DeleteWorkspaceAssignmentDetailRequest": {}, + "iamv2.DeleteWorkspaceAssignmentProxyRequest": {}, + "iamv2.DeleteWorkspaceAssignmentRequest": {}, + "iamv2.DirectGroupMember": { + "description": "Represents a principal that is a direct member of a group, with its source of membership.", + "fields": { + "display_name": { + "description": "Display name of the principal.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "external_id": { + "description": "The external ID of the principal in Databricks.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "group_id": { + "description": "The internal ID of the group this member belongs to.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL", + "OUTPUT_ONLY" + ] + }, + "membership_source": { + "description": "The source of group membership (internal or from identity provider).", + "ref": "iamv2.GroupMembershipSource", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "principal_id": { + "description": "Internal ID of the principal in Databricks.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE" + ] + }, + "principal_type": { + "description": "The type of the principal (user/service principal/group).", + "ref": "iamv2.PrincipalType", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, "iamv2.Entitlement": { "enum": [ "WORKSPACE_ACCESS", @@ -27212,6 +27425,14 @@ "WORKSPACE_CONSUME": "PRIVATE_PREVIEW" } }, + "iamv2.GetDirectGroupMemberProxyRequest": {}, + "iamv2.GetDirectGroupMemberRequest": {}, + "iamv2.GetGroupProxyRequest": {}, + "iamv2.GetGroupRequest": {}, + "iamv2.GetServicePrincipalProxyRequest": {}, + "iamv2.GetServicePrincipalRequest": {}, + "iamv2.GetUserProxyRequest": {}, + "iamv2.GetUserRequest": {}, "iamv2.GetWorkspaceAccessDetailLocalRequest": { "fields": { "view": { @@ -27238,6 +27459,9 @@ }, "iamv2.GetWorkspaceAssignmentDetailProxyRequest": {}, "iamv2.GetWorkspaceAssignmentDetailRequest": {}, + "iamv2.GetWorkspaceAssignmentProxyRequest": {}, + "iamv2.GetWorkspaceAssignmentRequest": {}, + "iamv2.GetWorkspaceIdentityDetailRequest": {}, "iamv2.Group": { "description": "The details of a Group resource.", "fields": { @@ -27271,6 +27495,300 @@ } } }, + "iamv2.GroupMembershipSource": { + "description": "The source of the group membership (internal or from identity provider).", + "enum": [ + "INTERNAL", + "IDENTITY_PROVIDER" + ], + "enum_launch_stages": { + "IDENTITY_PROVIDER": "PRIVATE_PREVIEW", + "INTERNAL": "PRIVATE_PREVIEW" + } + }, + "iamv2.ListDirectGroupMembersProxyRequest": { + "fields": { + "page_size": { + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListDirectGroupMembersRequest": { + "fields": { + "page_size": { + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListDirectGroupMembers call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListDirectGroupMembersResponse": { + "description": "Response message for listing direct group members.", + "fields": { + "direct_group_members": { + "description": "The list of direct group members with their membership source type.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "next_page_token": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.ListGroupsProxyRequest": { + "fields": { + "filter": { + "description": "Optional. Allows filtering groups by group name or external id.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_size": { + "description": "The maximum number of groups to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListGroupsRequest": { + "fields": { + "filter": { + "description": "Optional. Allows filtering groups by group name or external id.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_size": { + "description": "The maximum number of groups to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListGroupsResponse": { + "description": "Response message containing a page of groups in the account.", + "fields": { + "groups": { + "launch_stage": "PRIVATE_PREVIEW" + }, + "next_page_token": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.ListServicePrincipalsProxyRequest": { + "fields": { + "filter": { + "description": "Optional. Allows filtering service principals by application id or external id.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_size": { + "description": "The maximum number of SPs to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListServicePrincipalsRequest": { + "fields": { + "filter": { + "description": "Optional. Allows filtering service principals by application id or external id.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_size": { + "description": "The maximum number of service principals to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListServicePrincipalsResponse": { + "description": "Response message containing a page of service principals in the account.", + "fields": { + "next_page_token": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "service_principals": { + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.ListTransitiveParentGroupsProxyRequest": { + "fields": { + "page_size": { + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListTransitiveParentGroups call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListTransitiveParentGroupsRequest": { + "fields": { + "page_size": { + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListTransitiveParentGroups call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListTransitiveParentGroupsResponse": { + "description": "Response message for listing all transitive parent groups of a principal.", + "fields": { + "next_page_token": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "transitive_parent_groups": { + "description": "The list of transitive parent groups.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.ListUsersProxyRequest": { + "fields": { + "filter": { + "description": "Optional. Allows filtering users by username or external id.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_size": { + "description": "The maximum number of users to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListUsersRequest": { + "fields": { + "filter": { + "description": "Optional. Allows filtering users by username or external id.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_size": { + "description": "The maximum number of users to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListUsersResponse": { + "fields": { + "next_page_token": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "users": { + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "iamv2.ListWorkspaceAssignmentDetailsProxyRequest": { "fields": { "page_size": { @@ -27319,6 +27837,54 @@ } } }, + "iamv2.ListWorkspaceAssignmentsProxyRequest": { + "fields": { + "page_size": { + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListWorkspaceAssignmentsRequest": { + "fields": { + "page_size": { + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "A page token, received from a previous ListWorkspaceAssignments call. Provide this to retrieve the subsequent page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.ListWorkspaceAssignmentsResponse": { + "description": "Response message for listing workspace assignments.", + "fields": { + "next_page_token": { + "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "workspace_assignments": { + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "iamv2.PrincipalType": { "description": "The type of the principal (user/sp/group).", "enum": [ @@ -27467,6 +28033,110 @@ "INACTIVE": "PUBLIC_BETA" } }, + "iamv2.TransitiveParentGroup": { + "description": "Represents a group that is a transitive parent of a principal.", + "fields": { + "account_id": { + "description": "The parent account ID for group in Databricks.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "external_id": { + "description": "ExternalId of the group in the customer's IdP.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "group_id": { + "description": "Internal group ID of the group in Databricks.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "iamv2.UpdateGroupProxyRequest": { + "fields": { + "group": { + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "ref": "iamv2.Group", + "launch_stage": "PRIVATE_PREVIEW" + }, + "update_mask": { + "description": "Optional. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateGroupRequest": { + "fields": { + "group": { + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "ref": "iamv2.Group", + "launch_stage": "PRIVATE_PREVIEW" + }, + "update_mask": { + "description": "Optional. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateServicePrincipalProxyRequest": { + "fields": { + "service_principal": { + "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "ref": "iamv2.ServicePrincipal", + "launch_stage": "PRIVATE_PREVIEW" + }, + "update_mask": { + "description": "Optional. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateServicePrincipalRequest": { + "fields": { + "service_principal": { + "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "ref": "iamv2.ServicePrincipal", + "launch_stage": "PRIVATE_PREVIEW" + }, + "update_mask": { + "description": "Optional. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateUserProxyRequest": { + "fields": { + "update_mask": { + "description": "Optional. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "user": { + "description": "Required. User to be updated in \u003cDatabricks\u003e", + "ref": "iamv2.User", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateUserRequest": { + "fields": { + "update_mask": { + "description": "Optional. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "user": { + "description": "Required. User to be updated in \u003cDatabricks\u003e", + "ref": "iamv2.User", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "iamv2.UpdateWorkspaceAssignmentDetailProxyRequest": { "fields": { "update_mask": { @@ -27493,6 +28163,45 @@ } } }, + "iamv2.UpdateWorkspaceAssignmentProxyRequest": { + "fields": { + "update_mask": { + "description": "Required. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "workspace_assignment": { + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "ref": "iamv2.WorkspaceAssignment", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateWorkspaceAssignmentRequest": { + "fields": { + "update_mask": { + "description": "Required. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "workspace_assignment": { + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "ref": "iamv2.WorkspaceAssignment", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "iamv2.UpdateWorkspaceIdentityDetailRequest": { + "fields": { + "update_mask": { + "description": "Required. The list of fields to update.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "workspace_identity_detail": { + "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "ref": "iamv2.WorkspaceIdentityDetail", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "iamv2.User": { "description": "The details of a User resource.", "fields": { @@ -27628,6 +28337,54 @@ "FULL": "PUBLIC_BETA" } }, + "iamv2.WorkspaceAssignment": { + "description": "The direct assignment of a provisioned account-level principal (user, service\nprincipal, or group) to a workspace, together with the entitlements that\nassignment grants in the workspace.\n\nThis resource covers only principals assigned directly to the workspace.\nPrincipals that inherit workspace access through a group are not represented\nhere. See WorkspaceAccessDetail and WorkspaceIdentityDetail for the effective,\ndirect-or-indirect view. Creating the resource assigns the principal to the\nworkspace, and deleting it removes the assignment.\n\n`entitlements` is the only client-settable field. It holds the entitlements\ngranted directly on this assignment, including any the principal also holds\nthrough a group. `effective_entitlements` is the read-only union of those and\nany granted through group membership.\n\nA direct assignment always carries at least one directly-assigned entitlement,\nbecause the assignment is what grants it. Create and update both reject an\nempty `entitlements` set. To remove a principal's assignment entirely, delete\nthe resource.\n\nThis resource replaces workspace assignment previously managed through the\nworkspace SCIM and permission-assignment APIs, and is intended for account\nand workspace admins.", + "fields": { + "account_id": { + "description": "The account ID parent of the workspace where the principal is assigned", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "effective_entitlements": { + "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY", + "UNORDERED_LIST" + ] + }, + "entitlements": { + "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL", + "UNORDERED_LIST" + ] + }, + "principal_id": { + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "principal_type": { + "description": "The type of the principal (user/service principal/group) that is assigned.", + "ref": "iamv2.PrincipalType", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "workspace_id": { + "description": "The workspace ID where the principal is assigned.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL", + "OUTPUT_ONLY" + ] + } + } + }, "iamv2.WorkspaceAssignmentDetail": { "description": "The direct assignment of a provisioned account-level principal (user, service\nprincipal, or group) to a workspace, together with the entitlements that\nassignment grants in the workspace.\n\nThis resource covers only principals assigned directly to the workspace.\nPrincipals that inherit workspace access through a group are not represented\nhere. See WorkspaceAccessDetail and WorkspaceIdentityDetail for the effective,\ndirect-or-indirect view. Creating the resource assigns the principal to the\nworkspace, and deleting it removes the assignment.\n\n`entitlements` is the only client-settable field. It holds the entitlements\ngranted directly on this assignment, including any the principal also holds\nthrough a group. `effective_entitlements` is the read-only union of those and\nany granted through group membership.\n\nA direct assignment always carries at least one directly-assigned entitlement,\nbecause the assignment is what grants it. Create and update both reject an\nempty `entitlements` set. To remove a principal's assignment entirely, delete\nthe resource.\n\nThis resource replaces workspace assignment previously managed through the\nworkspace SCIM and permission-assignment APIs, and is intended for account\nand workspace admins.", "fields": { @@ -27666,14 +28423,62 @@ ] }, "workspace_id": { - "description": "The workspace ID where the principal is assigned", + "description": "The workspace ID where the principal is assigned.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ + "OPTIONAL", "OUTPUT_ONLY" ] } } }, + "iamv2.WorkspaceIdentityDetail": { + "description": "The details of a directly or indirectly assigned principal's details in a workspace.", + "fields": { + "assignment_type": { + "description": "The type of assignment the principal has to the workspace (direct or indirect).", + "ref": "iamv2.WorkspaceIdentityDetailAssignmentType", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "principal_id": { + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "principal_type": { + "description": "The type of the principal (user/service principal/group).", + "ref": "iamv2.PrincipalType", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "workspace_identity_status": { + "description": "The activity status of an identity in a Databricks workspace.", + "ref": "iamv2.State", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "iamv2.WorkspaceIdentityDetailAssignmentType": { + "description": "The type of assignment the principal has to the workspace.", + "enum": [ + "DIRECT", + "INDIRECT" + ], + "enum_launch_stages": { + "DIRECT": "PRIVATE_PREVIEW", + "INDIRECT": "PRIVATE_PREVIEW" + } + }, "iamv2.WorkspacePermission": { "description": "The type of permission a principal has to a workspace (admin/user).", "enum": [ @@ -28457,7 +29262,7 @@ "launch_stage": "GA" }, "triggers": { - "description": "List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. The 10-trigger cap is the design's\nhard limit; rollout steps the effective cap 3 -\u003e 5 -\u003e 10 via internal validation during the preview.", + "description": "List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. Gated behind the \"Multiple Triggers\" feature preview.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" @@ -29587,7 +30392,7 @@ "launch_stage": "GA" }, "triggers": { - "description": "List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. The 10-trigger cap is the design's\nhard limit; rollout steps the effective cap 3 -\u003e 5 -\u003e 10 via internal validation during the preview.", + "description": "List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. Gated behind the \"Multiple Triggers\" feature preview.", "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" @@ -31240,6 +32045,13 @@ "OUTPUT_ONLY" ] }, + "effective_serverless_compute_id": { + "description": "The id of the serverless compute this task ran on, either explicitly configured on the task\nor the workspace default. Only set once the compute has been resolved at run trigger.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "email_notifications": { "description": "An optional set of email addresses notified when the task run begins or completes. The default behavior is to not send any emails.", "ref": "jobs.JobEmailNotifications", @@ -35933,6 +36745,22 @@ } } }, + "ml.CustomUdf": { + "description": "A CustomUdf function applies a registered Unity Catalog function row-wise to\nsource columns, producing a single output column per row.", + "fields": { + "function_path": { + "description": "Fully qualified 3-part Unity Catalog path of the function to apply.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "input_bindings": { + "description": "Binds each UC function parameter to a source column.\nMay be empty for zero-argument functions (e.g. a timestamp generator).", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "ml.DataSource": { "description": "Specifies the data source backing a feature. Exactly one source type must be set.", "fields": { @@ -36765,6 +37593,14 @@ "OPTIONAL" ] }, + "custom_udf": { + "description": "Applies a registered Unity Catalog function row-wise to source columns.", + "ref": "ml.CustomUdf", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "extra_parameters": { "description": "Deprecated: Use the function oneof with AggregationFunction instead. Kept for backwards compatibility.\nExtra parameters for parameterized functions.", "deprecated": true, @@ -37127,6 +37963,19 @@ } } }, + "ml.InputBinding": { + "description": "Binds a single UC function parameter to a source column.", + "fields": { + "column": { + "description": "Source column whose value is passed for this parameter at execution time.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "parameter": { + "description": "Name of the UC function parameter.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "ml.InputTag": { "description": "Tag for a dataset input.", "fields": { @@ -39002,7 +39851,7 @@ "description": "A rolling time window with an optional delay. This is the SQL-spec-aligned\nreplacement for ContinuousWindow: `delay` is the non-negative counterpart\nof the legacy non-positive `ContinuousWindow.offset`.", "fields": { "delay": { - "description": "The delay applied to the end of the rolling window (must be non-negative).\nFor example, delay=1d shifts the window end 1 day before the evaluation time.", + "description": "Non-negative analytic lag that evaluates the window this far in the past. Use this for timing\nvariations unrelated to source lateness, such as a 30-day count as of one week ago. If unset,\nthe analytic lag is zero. It composes with source.lateness when both are set.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -39149,7 +39998,7 @@ "description": "A sawtooth window served via the hybrid batch + streaming path. The batch pipeline maintains\ndaily partial aggregates for the bulk of the window while the streaming pipeline maintains the\nmost recent day(s), and serving merges them on read. Same field shape as RollingWindow, but a\ndistinct type so the control plane can explicitly identify hybrid (sawtooth) features rather\nthan inferring hybrid behavior from window_duration.", "fields": { "delay": { - "description": "The delay applied to the end of the window (must be non-negative).\nFor example, delay=1d shifts the window end 1 day before the evaluation time.", + "description": "Delay is not currently supported for Sawtooth windows.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -41460,6 +42309,14 @@ "ref": "pipelines.KafkaOptions", "launch_stage": "PUBLIC_BETA" }, + "linkedin_ads_options": { + "ref": "pipelines.LinkedInAdsOptions", + "launch_stage": "PRIVATE_PREVIEW" + }, + "marketo_options": { + "ref": "pipelines.MarketoOptions", + "launch_stage": "PRIVATE_PREVIEW" + }, "meta_ads_options": { "ref": "pipelines.MetaMarketingOptions", "launch_stage": "PUBLIC_BETA" @@ -41486,7 +42343,7 @@ }, "zendesk_support_options": { "ref": "pipelines.ZendeskSupportOptions", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" } } }, @@ -41497,8 +42354,8 @@ "QUERY_BASED" ], "enum_launch_stages": { - "CDC": "PUBLIC_BETA", - "QUERY_BASED": "PUBLIC_BETA" + "CDC": "PUBLIC_PREVIEW", + "QUERY_BASED": "PUBLIC_PREVIEW" } }, "pipelines.CreatePipeline": { @@ -41686,15 +42543,15 @@ "fields": { "catalog_name": { "description": "(Required, Immutable) The name of the catalog for the connector's staging storage location.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" }, "schema_name": { "description": "(Required, Immutable) The name of the schema for the connector's staging storage location.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" }, "volume_name": { "description": "(Optional) The Unity Catalog-compatible name for the storage location.\nThis is the volume to use for the data that is extracted by the connector.\nSpark Declarative Pipelines system will automatically create the volume under the catalog and schema.\nFor Combined Cdc Managed Ingestion pipelines default name for the volume would be :\n__databricks_ingestion_gateway_staging_data-$pipelineId", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" } } }, @@ -42085,6 +42942,10 @@ "ref": "pipelines.PublishingMode", "launch_stage": "GA" }, + "effective_serverless_compute_id": { + "description": "Serverless compute ID resolved for the pipeline.", + "launch_stage": "PUBLIC_BETA" + }, "health": { "description": "The health of a pipeline.", "ref": "pipelines.GetPipelineResponseHealth", @@ -42289,12 +43150,12 @@ "connector_type": { "description": "(Optional) Connector Type for sources. Ex: CDC, Query Based.", "ref": "pipelines.ConnectorType", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" }, "data_staging_options": { "description": "(Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline\nwith Gateway pipeline to Combined Cdc Managed Ingestion Pipeline.\nIf not specified, the volume for staged data will be created in catalog and schema/target specified in the\ntop level pipeline definition.", "ref": "pipelines.DataStagingOptions", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" }, "full_refresh_window": { "description": "(Optional) A window that specifies a set of time ranges for snapshot queries in CDC.", @@ -42439,7 +43300,7 @@ "SQLSERVER": "PUBLIC_PREVIEW", "TERADATA": "PUBLIC_PREVIEW", "WORKDAY_RAAS": "PUBLIC_PREVIEW", - "ZENDESK": "PUBLIC_BETA" + "ZENDESK": "PUBLIC_PREVIEW" } }, "pipelines.JiraConnectorOptions": { @@ -42510,6 +43371,88 @@ } } }, + "pipelines.LinkedInAdsOptions": { + "description": "LinkedIn Ads specific options for ingestion.\nsync_start_date and lookback_window_days apply to both the prebuilt analytics\ntables and custom reports. custom_report_options defines a custom (user-defined)\nadAnalytics report and is only valid on a table object.", + "fields": { + "custom_report_options": { + "description": "(Optional) Custom report definition. Only valid on a table object. When set,\nthe table is synthesized from /rest/adAnalytics using the finder, pivots,\ntime granularity and metrics here. When unset, the table must match one of\nthe connector's prebuilt sources.", + "ref": "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptions", + "launch_stage": "PRIVATE_PREVIEW" + }, + "lookback_window_days": { + "description": "(Optional) Days to look back during incremental sync for late-arriving data.\nIf not specified, defaults to 30 days.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "sync_start_date": { + "description": "(Optional) Start date for the initial sync of report tables, YYYY-MM-DD.\nEarliest date from which to sync historical data; overrides the default\nwhen set. For finder attributedRevenueMetrics, this must be between 30 and\n366 days before today.\nIf not specified, defaults to 1 year of history.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptions": { + "description": "User-defined custom report for the LinkedIn Ads connector. The destination\ntable name comes from the enclosing TableSpec.destination_table, the start\ndate from the enclosing LinkedInAdsOptions.sync_start_date, and the account\nit runs against from the source schema (namespace) -- none are repeated here.", + "fields": { + "entity_granularity": { + "description": "(Required) Entity pivots to group by; count/constraints depend on finder.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "finder": { + "description": "(Required) adAnalytics finder. See LinkedInAdsFinder.", + "ref": "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder", + "launch_stage": "PRIVATE_PREVIEW" + }, + "metrics": { + "description": "(Optional) LinkedIn metric names for the report. Open vocabulary (not an\nenum): the valid set is large (~100) and evolves with the LinkedIn\nadAnalytics API, so values are passed through verbatim. If empty, a\npivot-safe default core set is ingested: impressions, clicks,\ncostInLocalCurrency, externalWebsiteConversions (valid for every pivot).\nIgnored for attributedRevenueMetrics (always returns the full\nRevenueAttributionMetrics struct).", + "launch_stage": "PRIVATE_PREVIEW" + }, + "time_granularity": { + "description": "(Optional) Time aggregation. Defaults to DAILY when unspecified. Used by\nanalytics/statistics; ignored for attributedRevenueMetrics.", + "ref": "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity": { + "description": "Entity pivot to group by.", + "enum": [ + "CAMPAIGN", + "CREATIVE", + "CAMPAIGN_GROUP" + ], + "enum_launch_stages": { + "CAMPAIGN": "PRIVATE_PREVIEW", + "CAMPAIGN_GROUP": "PRIVATE_PREVIEW", + "CREATIVE": "PRIVATE_PREVIEW" + } + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder": { + "description": "adAnalytics finder. Determines call shape, valid pivots, and metric\nrequirements.", + "enum": [ + "ANALYTICS", + "STATISTICS", + "ATTRIBUTED_REVENUE_METRICS" + ], + "enum_launch_stages": { + "ANALYTICS": "PRIVATE_PREVIEW", + "ATTRIBUTED_REVENUE_METRICS": "PRIVATE_PREVIEW", + "STATISTICS": "PRIVATE_PREVIEW" + } + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity": { + "description": "Time aggregation. Used by analytics/statistics; ignored for\nattributedRevenueMetrics. Defaults to DAILY when unspecified.", + "enum": [ + "ALL", + "DAILY", + "MONTHLY", + "YEARLY" + ], + "enum_launch_stages": { + "ALL": "PRIVATE_PREVIEW", + "DAILY": "PRIVATE_PREVIEW", + "MONTHLY": "PRIVATE_PREVIEW", + "YEARLY": "PRIVATE_PREVIEW" + } + }, "pipelines.ListPipelineEventsRequest": { "fields": { "filter": { @@ -42610,6 +43553,15 @@ } }, "pipelines.ManualTrigger": {}, + "pipelines.MarketoOptions": { + "description": "Marketo specific options for ingestion", + "fields": { + "sync_start_date": { + "description": "(Optional) Start date for the initial sync in YYYY-MM-DD format.\nThis determines the earliest date from which to sync historical data.\nIf not specified, complete history is ingested.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "pipelines.MaturityLevel": { "description": "Maturity level for EventDetails.", "enum": [ @@ -43648,7 +44600,7 @@ "launch_stage": "PUBLIC_PREVIEW" }, "source_schema": { - "description": "Required. Schema name in the source database.", + "description": "Schema name in the source database. Currently required; this field will become optional in\nan upcoming release, since some source types (for example streaming / message-bus connectors)\ndo not use it. When that change ships, this field's type in the generated SDKs and CLI will\nchange from required to optional (nullable); clients that assume it is always present should\nhandle its absence.", "launch_stage": "PUBLIC_PREVIEW" }, "table_configuration": { @@ -43879,7 +44831,7 @@ "launch_stage": "PUBLIC_PREVIEW" }, "source_table": { - "description": "Required. Table name in the source database.", + "description": "Table name in the source database. Currently required; this field will become optional in\nan upcoming release, since some source types (for example streaming / message-bus connectors)\ndo not use it. When that change ships, this field's type in the generated SDKs and CLI will\nchange from required to optional (nullable); clients that assume it is always present should\nhandle its absence.", "launch_stage": "PUBLIC_PREVIEW" }, "table_configuration": { @@ -43938,7 +44890,7 @@ }, "source_metadata_column": { "description": "(Optional) Name of the struct column added to each ingested record to hold per row source\nmetadata.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "table_properties": { "description": "Table properties to set on the destination table.\nThese are key-value pairs that configure various Delta table behaviors or any user defined properties.\nExample: {\"delta.feature.variantType\": \"supported\", \"delta.enableTypeWidening\": \"true\"}\nNote: table_properties in table specific configuration will override the table_properties of the pipeline definition.", @@ -44288,7 +45240,7 @@ "fields": { "start_date": { "description": "(Optional) Start date in YYYY-MM-DD format for the initial sync.\nThis determines the earliest date from which to sync historical data.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" } } }, @@ -44296,25 +45248,25 @@ "fields": { "branch_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "create_time": { "description": "A timestamp indicating when the branch was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "parent": { "description": "The project containing this branch (API resource hierarchy).\nFormat: projects/{project_id}\n\nNote: This field indicates where the branch exists in the resource hierarchy.\nFor point-in-time branching from another branch, see `status.source_branch`.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44322,7 +45274,7 @@ "spec": { "description": "The spec contains the branch configuration.", "ref": "postgres.BranchSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -44331,21 +45283,21 @@ "status": { "description": "The current status of a Branch.", "ref": "postgres.BranchStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "uid": { "description": "System-generated unique ID for the branch.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "update_time": { "description": "A timestamp indicating when the branch was last updated.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44357,28 +45309,28 @@ "fields": { "expire_time": { "description": "Absolute expiration timestamp. When set, the branch will expire at this time.\nMutually exclusive with `ttl` and `no_expiry`. When updating, use `spec.expiration` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "is_protected": { "description": "When set to true, protects the branch from deletion and reset. Associated compute endpoints and the project cannot be deleted while the branch is protected.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "no_expiry": { "description": "Explicitly disable expiration. When set to true, the branch will not expire.\nIf set to false, the request is invalid; provide either ttl or expire_time instead.\nMutually exclusive with `expire_time` and `ttl`. When updating, use `spec.expiration` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "source_branch": { "description": "The name of the source branch from which this branch was created (data lineage for point-in-time recovery).\nIf not specified, defaults to the project's default branch.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -44386,7 +45338,7 @@ }, "source_branch_lsn": { "description": "The Log Sequence Number (LSN) on the source branch from which this branch was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -44394,7 +45346,7 @@ }, "source_branch_time": { "description": "The point in time on the source branch from which this branch was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -44402,7 +45354,7 @@ }, "ttl": { "description": "Relative time-to-live duration. When set, the branch will expire at creation_time + ttl.\nMutually exclusive with `expire_time` and `no_expiry`. When updating, use `spec.expiration` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -44413,7 +45365,7 @@ "fields": { "branch_id": { "description": "Part of the resource name.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44421,14 +45373,14 @@ "current_state": { "description": "The branch's state, indicating if it is initializing, ready for use, or archived.", "ref": "postgres.BranchStatusState", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "default": { "description": "Whether the branch is the project's default branch.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44442,21 +45394,21 @@ }, "expire_time": { "description": "Absolute expiration time for the branch. Empty if expiration is disabled.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "is_protected": { "description": "Whether the branch is protected.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "logical_size_bytes": { "description": "The logical size of the branch.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44464,7 +45416,7 @@ "pending_state": { "description": "The pending state of the branch, if a state transition is in progress.", "ref": "postgres.BranchStatusState", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44478,28 +45430,28 @@ }, "source_branch": { "description": "The name of the source branch from which this branch was created.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "source_branch_lsn": { "description": "The Log Sequence Number (LSN) on the source branch from which this branch was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "source_branch_time": { "description": "The point in time on the source branch from which this branch was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "state_change_time": { "description": "A timestamp indicating when the `current_state` began.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44517,38 +45469,38 @@ "DELETED" ], "enum_launch_stages": { - "ARCHIVED": "PUBLIC_BETA", + "ARCHIVED": "GA", "DELETED": "PRIVATE_PREVIEW", - "IMPORTING": "PUBLIC_BETA", - "INIT": "PUBLIC_BETA", - "READY": "PUBLIC_BETA", - "RESETTING": "PUBLIC_BETA" + "IMPORTING": "GA", + "INIT": "GA", + "READY": "GA", + "RESETTING": "GA" } }, "postgres.Catalog": { "fields": { "catalog_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "create_time": { "description": "A timestamp indicating when the catalog was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "Output only. The full resource path of the catalog.\n\nFormat: \"catalogs/{catalog_id}\".", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "spec": { "description": "The desired state of the Catalog.", "ref": "postgres.CatalogCatalogSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -44557,21 +45509,21 @@ "status": { "description": "The observed state of the Catalog.", "ref": "postgres.CatalogCatalogStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "uid": { "description": "System-generated unique identifier for the catalog.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "update_time": { "description": "A timestamp indicating when the catalog was last updated.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44583,21 +45535,21 @@ "fields": { "branch": { "description": "The resource path of the branch associated with the catalog.\n\nFormat: projects/{project_id}/branches/{branch_id}.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "create_database_if_missing": { "description": "If set to true, the specified postgres_database is created on behalf of the calling user\nif it does not already exist. In this case, the calling user has a role created for\nthem in Postgres if they do not already have one.\n\nDefaults to false, meaning that the request fails if the specified postgres_database does not already exist.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "postgres_database": { "description": "The name of the Postgres database inside the specified Lakebase project and branch to be associated with the UC catalog.\nThis database must already exist, unless create_database_if_missing is set to true on creation.\n\nA database can only be registered with one UC catalog at a time.\nTo re-register a database with a different catalog, the existing catalog must be deleted first.\n\nA child branch inherits the fact of parent's registration. This means the same-named database\nin a child branch cannot be registered with a second catalog\nwhile the parent's registration exists. To allow registering the database of a child branch,\ndrop and recreate the database on the child branch.\nThis removes the fact of parent's registration from this branch only.\n\nDoing Point In Time Restore (PITR) prior to the moment before the Postgres DB was registered\nin the Catalog drops the fact of registration of the database. So the user should avoid doing so.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "IMMUTABLE" ] @@ -44609,21 +45561,21 @@ "fields": { "branch": { "description": "The resource path of the branch associated with the catalog.\n\nFormat: projects/{project_id}/branches/{branch_id}.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "postgres_database": { "description": "The name of the Postgres database associated with the catalog.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "project": { "description": "The resource path of the project associated with the catalog.\n\nFormat: projects/{project_id}.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -44757,15 +45709,15 @@ "branch": { "description": "The Branch to create.", "ref": "postgres.Branch", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "branch_id": { "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "replace_existing": { "description": "If true, update the branch if it already exists instead of returning an error.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -44777,11 +45729,11 @@ "fields": { "catalog": { "ref": "postgres.Catalog", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "catalog_id": { "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -44815,18 +45767,18 @@ "database": { "description": "The desired specification of a Database.", "ref": "postgres.Database", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "database_id": { "description": "The ID to use for the Database, which will become the final component of\nthe database's resource name.\nThis ID becomes the database name in postgres.\n\nThis value should be 4-63 characters, and only use characters available in DNS names,\nas defined by RFC-1123\n\nIf database_id is not specified in the request, it is generated automatically.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "replace_existing": { "description": "If true, update the database if it already exists instead of returning an\nerror.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -44839,15 +45791,15 @@ "endpoint": { "description": "The Endpoint to create.", "ref": "postgres.Endpoint", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "endpoint_id": { "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "replace_existing": { "description": "If true, update the endpoint if it already exists instead of returning an error.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -44860,11 +45812,11 @@ "project": { "description": "The Project to create.", "ref": "postgres.Project", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "project_id": { "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -44872,7 +45824,7 @@ "fields": { "replace_existing": { "description": "If true, update the role if it already exists instead of returning an\nerror.\n\nWhen the role already exists, the provided `role` spec fully replaces the\nexisting one: `membership_roles` is overwritten, not merged. Leaving\n`membership_roles` empty clears all of the role's existing memberships,\nincluding `DATABRICKS_SUPERUSER`. Always send the complete desired list of\nmemberships when using this field.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -44881,11 +45833,11 @@ "role": { "description": "The desired specification of a Role.", "ref": "postgres.Role", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "role_id": { "description": "The ID to use for the Role, which will become the final component of\nthe role's resource name.\nThis ID becomes the role in Postgres.\n\nThis value should be 4-63 characters, and valid characters\nare lowercase letters, numbers, and hyphens, as defined by RFC 1123.\n\nIf role_id is not specified in the request, it is generated automatically.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -44896,11 +45848,11 @@ "fields": { "synced_table": { "ref": "postgres.SyncedTable", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "synced_table_id": { "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45109,25 +46061,25 @@ "fields": { "create_time": { "description": "A timestamp indicating when the database was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "database_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "parent": { "description": "The branch containing this database.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45135,7 +46087,7 @@ "spec": { "description": "The desired state of the Database.", "ref": "postgres.DatabaseDatabaseSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -45144,14 +46096,14 @@ "status": { "description": "The observed state of the Database.", "ref": "postgres.DatabaseDatabaseStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "update_time": { "description": "A timestamp indicating when the database was last updated.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45162,11 +46114,11 @@ "fields": { "expire_time": { "description": "Timestamp in UTC of when this credential expires.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "token": { "description": "The OAuth token that can be used as a password when connecting to a database.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45174,14 +46126,14 @@ "fields": { "postgres_database": { "description": "The name of the Postgres database.\n\nThis expects a valid Postgres identifier as specified in the link below.\nhttps://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS\nRequired when creating the Database.\n\nTo rename, pass a valid postgres identifier when updating the Database.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "role": { "description": "The name of the role that owns the database.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}\n\nTo change the owner, pass valid existing Role name when updating the Database\n\nA database always has an owner.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45189,21 +46141,21 @@ "fields": { "database_id": { "description": "Part of the resource name.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "postgres_database": { "description": "The name of the Postgres database.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "role": { "description": "The name of the role that owns the database.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45215,17 +46167,17 @@ "description": "Databricks Error that is returned by all Databricks APIs.", "fields": { "details": { - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "error_code": { "ref": "postgres.ErrorCode", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "message": { - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "stack_trace": { - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45270,7 +46222,7 @@ "fields": { "reassign_owned_to": { "description": "Reassign objects. If this is set, all objects owned by the role are\nreassigned to the role specified in this parameter.\n\nNOTE: setting this requires spinning up a compute to succeed, since it involves running\nSQL queries.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45282,14 +46234,14 @@ "fields": { "delta_commit_time": { "description": "The timestamp when the above Delta version was committed in the source Delta table.\nNote: This is the Delta commit time, not the time the data was written to the synced table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "delta_commit_version": { "description": "The Delta Lake commit version that was last successfully synced.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45300,25 +46252,25 @@ "fields": { "create_time": { "description": "A timestamp indicating when the compute endpoint was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "endpoint_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "parent": { "description": "The branch containing this endpoint (API resource hierarchy).\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45326,7 +46278,7 @@ "spec": { "description": "The spec contains the compute endpoint configuration, including autoscaling limits, suspend timeout, and disabled state.", "ref": "postgres.EndpointSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -45335,21 +46287,21 @@ "status": { "description": "Current operational status of the compute endpoint.", "ref": "postgres.EndpointStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "uid": { "description": "System-generated unique ID for the endpoint.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "update_time": { "description": "A timestamp indicating when the compute endpoint was last updated.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45360,18 +46312,18 @@ "fields": { "enable_readable_secondaries": { "description": "Whether to allow read-only connections to read-write endpoints. Only relevant for read-write endpoints where\nsize.max \u003e 1.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "max": { "description": "The maximum number of computes in the endpoint group. Currently, this must be equal to min. Set to 1 for single\ncompute endpoints, to disable HA. To manually suspend all computes in an endpoint group, set disabled to\ntrue on the EndpointSpec.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "min": { "description": "The minimum number of computes in the endpoint group. Currently, this must be equal to max. This must be greater\nthan or equal to 1.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45379,18 +46331,18 @@ "fields": { "enable_readable_secondaries": { "description": "Whether read-only connections to read-write endpoints are allowed. Only relevant if read replicas are configured\nby specifying size.max \u003e 1.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "max": { "description": "The maximum number of computes in the endpoint group. Currently, this must be equal to min. Set to 1 for single\ncompute endpoints, to disable HA. To manually suspend all computes in an endpoint group, set disabled to\ntrue on the EndpointSpec.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "min": { "description": "The minimum number of computes in the endpoint group. Currently, this must be equal to max. This must be greater\nthan or equal to 1.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45399,28 +46351,28 @@ "fields": { "host": { "description": "The hostname to connect to this endpoint. For read-write endpoints, this is a read-write hostname which connects\nto the primary compute. For read-only endpoints, this is a read-only hostname which allows read-only operations.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "read_only_host": { "description": "An optionally defined read-only host for the endpoint, without pooling. For read-only endpoints,\nthis attribute is always defined and is equivalent to host. For read-write endpoints, this attribute is defined\nif the enclosing endpoint is a group with greater than 1 computes configured, and has readable secondaries enabled.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "read_only_pooled_host": { "description": "The read-only hostname of the compute endpoint, with pooling. This attribute is always defined for read-only endpoints,\nand may be defined for read-write endpoints if configured with read replicas and allow read-only connections.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "read_write_pooled_host": { "description": "The read-write hostname of the compute endpoint, with pooling. This attribute is only defined for read-write endpoints.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45433,7 +46385,7 @@ "fields": { "pg_settings": { "description": "A raw representation of Postgres settings.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45444,21 +46396,21 @@ "fields": { "autoscaling_limit_max_cu": { "description": "The maximum number of Compute Units. The maximum value is 64.\nThe difference between the minimum and maximum Compute Units (max - min) must not exceed 16.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "autoscaling_limit_min_cu": { "description": "The minimum number of Compute Units. Minimum value is 0.5.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "disabled": { "description": "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45466,7 +46418,7 @@ "endpoint_type": { "description": "The endpoint type. A branch can only have one READ_WRITE endpoint.", "ref": "postgres.EndpointType", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "IMMUTABLE" ] @@ -45474,28 +46426,28 @@ "group": { "description": "Settings for optional HA configuration of the endpoint. If unspecified, the endpoint defaults\nto non HA settings, with a single compute backing the endpoint (and no readable secondaries\nfor Read/Write endpoints).", "ref": "postgres.EndpointGroupSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "no_suspension": { "description": "When set to true, explicitly disables automatic suspension (never suspend).\nShould be set to true when provided.\nMutually exclusive with `suspend_timeout_duration`. When updating, use `spec.suspension` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "settings": { "ref": "postgres.EndpointSettings", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "suspend_timeout_duration": { "description": "Duration of inactivity after which the compute endpoint is automatically suspended.\nIf specified should be between 60s and 604800s (1 minute to 1 week).\nMutually exclusive with `no_suspension`. When updating, use `spec.suspension` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45506,35 +46458,35 @@ "fields": { "autoscaling_limit_max_cu": { "description": "The maximum number of Compute Units. The maximum value is 64.\nThe difference between the minimum and maximum Compute Units (max - min) must not exceed 16.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "autoscaling_limit_min_cu": { "description": "The minimum number of Compute Units.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "current_state": { "ref": "postgres.EndpointStatusState", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "disabled": { "description": "Whether to restrict connections to the compute endpoint.\nEnabling this option schedules a suspend compute operation.\nA disabled compute endpoint cannot be enabled by a connection or\nconsole action.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "endpoint_id": { "description": "Part of the resource name.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45542,7 +46494,7 @@ "endpoint_type": { "description": "The endpoint type. A branch can only have one READ_WRITE endpoint.", "ref": "postgres.EndpointType", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45550,7 +46502,7 @@ "group": { "description": "Details on the HA configuration of the endpoint.", "ref": "postgres.EndpointGroupStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45558,35 +46510,35 @@ "hosts": { "description": "Contains host information for connecting to the endpoint.", "ref": "postgres.EndpointHosts", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "last_active_time": { "description": "A timestamp indicating when the compute endpoint was last active.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "pending_state": { "ref": "postgres.EndpointStatusState", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "settings": { "ref": "postgres.EndpointSettings", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "suspend_timeout_duration": { "description": "Duration of inactivity after which the compute endpoint is automatically suspended.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -45602,10 +46554,10 @@ "DEGRADED" ], "enum_launch_stages": { - "ACTIVE": "PUBLIC_BETA", - "DEGRADED": "PUBLIC_BETA", - "IDLE": "PUBLIC_BETA", - "INIT": "PUBLIC_BETA" + "ACTIVE": "GA", + "DEGRADED": "GA", + "IDLE": "GA", + "INIT": "GA" } }, "postgres.EndpointType": { @@ -45615,8 +46567,8 @@ "ENDPOINT_TYPE_READ_ONLY" ], "enum_launch_stages": { - "ENDPOINT_TYPE_READ_ONLY": "PUBLIC_BETA", - "ENDPOINT_TYPE_READ_WRITE": "PUBLIC_BETA" + "ENDPOINT_TYPE_READ_ONLY": "GA", + "ENDPOINT_TYPE_READ_WRITE": "GA" } }, "postgres.ErrorCode": { @@ -45705,109 +46657,109 @@ "PROVIDER_SHARE_NOT_ACCESSIBLE" ], "enum_launch_stages": { - "ABORTED": "PUBLIC_BETA", - "ALREADY_EXISTS": "PUBLIC_BETA", - "BAD_REQUEST": "PUBLIC_BETA", - "CANCELLED": "PUBLIC_BETA", - "CATALOG_ALREADY_EXISTS": "PUBLIC_BETA", - "CATALOG_DOES_NOT_EXIST": "PUBLIC_BETA", - "CATALOG_NOT_EMPTY": "PUBLIC_BETA", - "COULD_NOT_ACQUIRE_LOCK": "PUBLIC_BETA", - "CUSTOMER_UNAUTHORIZED": "PUBLIC_BETA", - "DAC_ALREADY_EXISTS": "PUBLIC_BETA", - "DAC_DOES_NOT_EXIST": "PUBLIC_BETA", - "DATA_LOSS": "PUBLIC_BETA", - "DEADLINE_EXCEEDED": "PUBLIC_BETA", - "DEPLOYMENT_TIMEOUT": "PUBLIC_BETA", - "DIRECTORY_NOT_EMPTY": "PUBLIC_BETA", - "DIRECTORY_PROTECTED": "PUBLIC_BETA", - "DRY_RUN_FAILED": "PUBLIC_BETA", - "ENDPOINT_NOT_FOUND": "PUBLIC_BETA", - "EXTERNAL_LOCATION_ALREADY_EXISTS": "PUBLIC_BETA", - "EXTERNAL_LOCATION_DOES_NOT_EXIST": "PUBLIC_BETA", - "FEATURE_DISABLED": "PUBLIC_BETA", - "GIT_CONFLICT": "PUBLIC_BETA", - "GIT_REMOTE_ERROR": "PUBLIC_BETA", - "GIT_SENSITIVE_TOKEN_DETECTED": "PUBLIC_BETA", - "GIT_UNKNOWN_REF": "PUBLIC_BETA", - "GIT_URL_NOT_ON_ALLOW_LIST": "PUBLIC_BETA", - "INSECURE_PARTNER_RESPONSE": "PUBLIC_BETA", - "INTERNAL_ERROR": "PUBLIC_BETA", - "INVALID_PARAMETER_VALUE": "PUBLIC_BETA", - "INVALID_STATE": "PUBLIC_BETA", - "INVALID_STATE_TRANSITION": "PUBLIC_BETA", - "IO_ERROR": "PUBLIC_BETA", - "IPYNB_FILE_IN_REPO": "PUBLIC_BETA", - "MALFORMED_PARTNER_RESPONSE": "PUBLIC_BETA", - "MALFORMED_REQUEST": "PUBLIC_BETA", - "MANAGED_RESOURCE_GROUP_DOES_NOT_EXIST": "PUBLIC_BETA", - "MAX_BLOCK_SIZE_EXCEEDED": "PUBLIC_BETA", - "MAX_CHILD_NODE_SIZE_EXCEEDED": "PUBLIC_BETA", - "MAX_LIST_SIZE_EXCEEDED": "PUBLIC_BETA", - "MAX_NOTEBOOK_SIZE_EXCEEDED": "PUBLIC_BETA", - "MAX_READ_SIZE_EXCEEDED": "PUBLIC_BETA", - "METASTORE_ALREADY_EXISTS": "PUBLIC_BETA", - "METASTORE_DOES_NOT_EXIST": "PUBLIC_BETA", - "METASTORE_NOT_EMPTY": "PUBLIC_BETA", - "NOT_FOUND": "PUBLIC_BETA", - "NOT_IMPLEMENTED": "PUBLIC_BETA", - "PARTIAL_DELETE": "PUBLIC_BETA", - "PERMISSION_DENIED": "PUBLIC_BETA", - "PERMISSION_NOT_PROPAGATED": "PUBLIC_BETA", - "PRINCIPAL_DOES_NOT_EXIST": "PUBLIC_BETA", - "PROJECTS_OPERATION_TIMEOUT": "PUBLIC_BETA", - "PROVIDER_ALREADY_EXISTS": "PUBLIC_BETA", - "PROVIDER_DOES_NOT_EXIST": "PUBLIC_BETA", - "PROVIDER_SHARE_NOT_ACCESSIBLE": "PUBLIC_BETA", - "QUOTA_EXCEEDED": "PUBLIC_BETA", - "RECIPIENT_ALREADY_EXISTS": "PUBLIC_BETA", - "RECIPIENT_DOES_NOT_EXIST": "PUBLIC_BETA", - "REQUEST_LIMIT_EXCEEDED": "PUBLIC_BETA", - "RESOURCE_ALREADY_EXISTS": "PUBLIC_BETA", - "RESOURCE_CONFLICT": "PUBLIC_BETA", - "RESOURCE_DOES_NOT_EXIST": "PUBLIC_BETA", - "RESOURCE_EXHAUSTED": "PUBLIC_BETA", - "RESOURCE_LIMIT_EXCEEDED": "PUBLIC_BETA", - "SCHEMA_ALREADY_EXISTS": "PUBLIC_BETA", - "SCHEMA_DOES_NOT_EXIST": "PUBLIC_BETA", - "SCHEMA_NOT_EMPTY": "PUBLIC_BETA", - "SEARCH_QUERY_TOO_LONG": "PUBLIC_BETA", - "SEARCH_QUERY_TOO_SHORT": "PUBLIC_BETA", - "SERVICE_UNDER_MAINTENANCE": "PUBLIC_BETA", - "SHARE_ALREADY_EXISTS": "PUBLIC_BETA", - "SHARE_DOES_NOT_EXIST": "PUBLIC_BETA", - "STORAGE_CREDENTIAL_ALREADY_EXISTS": "PUBLIC_BETA", - "STORAGE_CREDENTIAL_DOES_NOT_EXIST": "PUBLIC_BETA", - "TABLE_ALREADY_EXISTS": "PUBLIC_BETA", - "TABLE_DOES_NOT_EXIST": "PUBLIC_BETA", - "TEMPORARILY_UNAVAILABLE": "PUBLIC_BETA", - "UNAUTHENTICATED": "PUBLIC_BETA", - "UNAVAILABLE": "PUBLIC_BETA", - "UNKNOWN": "PUBLIC_BETA", - "UNPARSEABLE_HTTP_ERROR": "PUBLIC_BETA", - "WORKSPACE_TEMPORARILY_UNAVAILABLE": "PUBLIC_BETA" + "ABORTED": "GA", + "ALREADY_EXISTS": "GA", + "BAD_REQUEST": "GA", + "CANCELLED": "GA", + "CATALOG_ALREADY_EXISTS": "GA", + "CATALOG_DOES_NOT_EXIST": "GA", + "CATALOG_NOT_EMPTY": "GA", + "COULD_NOT_ACQUIRE_LOCK": "GA", + "CUSTOMER_UNAUTHORIZED": "GA", + "DAC_ALREADY_EXISTS": "GA", + "DAC_DOES_NOT_EXIST": "GA", + "DATA_LOSS": "GA", + "DEADLINE_EXCEEDED": "GA", + "DEPLOYMENT_TIMEOUT": "GA", + "DIRECTORY_NOT_EMPTY": "GA", + "DIRECTORY_PROTECTED": "GA", + "DRY_RUN_FAILED": "GA", + "ENDPOINT_NOT_FOUND": "GA", + "EXTERNAL_LOCATION_ALREADY_EXISTS": "GA", + "EXTERNAL_LOCATION_DOES_NOT_EXIST": "GA", + "FEATURE_DISABLED": "GA", + "GIT_CONFLICT": "GA", + "GIT_REMOTE_ERROR": "GA", + "GIT_SENSITIVE_TOKEN_DETECTED": "GA", + "GIT_UNKNOWN_REF": "GA", + "GIT_URL_NOT_ON_ALLOW_LIST": "GA", + "INSECURE_PARTNER_RESPONSE": "GA", + "INTERNAL_ERROR": "GA", + "INVALID_PARAMETER_VALUE": "GA", + "INVALID_STATE": "GA", + "INVALID_STATE_TRANSITION": "GA", + "IO_ERROR": "GA", + "IPYNB_FILE_IN_REPO": "GA", + "MALFORMED_PARTNER_RESPONSE": "GA", + "MALFORMED_REQUEST": "GA", + "MANAGED_RESOURCE_GROUP_DOES_NOT_EXIST": "GA", + "MAX_BLOCK_SIZE_EXCEEDED": "GA", + "MAX_CHILD_NODE_SIZE_EXCEEDED": "GA", + "MAX_LIST_SIZE_EXCEEDED": "GA", + "MAX_NOTEBOOK_SIZE_EXCEEDED": "GA", + "MAX_READ_SIZE_EXCEEDED": "GA", + "METASTORE_ALREADY_EXISTS": "GA", + "METASTORE_DOES_NOT_EXIST": "GA", + "METASTORE_NOT_EMPTY": "GA", + "NOT_FOUND": "GA", + "NOT_IMPLEMENTED": "GA", + "PARTIAL_DELETE": "GA", + "PERMISSION_DENIED": "GA", + "PERMISSION_NOT_PROPAGATED": "GA", + "PRINCIPAL_DOES_NOT_EXIST": "GA", + "PROJECTS_OPERATION_TIMEOUT": "GA", + "PROVIDER_ALREADY_EXISTS": "GA", + "PROVIDER_DOES_NOT_EXIST": "GA", + "PROVIDER_SHARE_NOT_ACCESSIBLE": "GA", + "QUOTA_EXCEEDED": "GA", + "RECIPIENT_ALREADY_EXISTS": "GA", + "RECIPIENT_DOES_NOT_EXIST": "GA", + "REQUEST_LIMIT_EXCEEDED": "GA", + "RESOURCE_ALREADY_EXISTS": "GA", + "RESOURCE_CONFLICT": "GA", + "RESOURCE_DOES_NOT_EXIST": "GA", + "RESOURCE_EXHAUSTED": "GA", + "RESOURCE_LIMIT_EXCEEDED": "GA", + "SCHEMA_ALREADY_EXISTS": "GA", + "SCHEMA_DOES_NOT_EXIST": "GA", + "SCHEMA_NOT_EMPTY": "GA", + "SEARCH_QUERY_TOO_LONG": "GA", + "SEARCH_QUERY_TOO_SHORT": "GA", + "SERVICE_UNDER_MAINTENANCE": "GA", + "SHARE_ALREADY_EXISTS": "GA", + "SHARE_DOES_NOT_EXIST": "GA", + "STORAGE_CREDENTIAL_ALREADY_EXISTS": "GA", + "STORAGE_CREDENTIAL_DOES_NOT_EXIST": "GA", + "TABLE_ALREADY_EXISTS": "GA", + "TABLE_DOES_NOT_EXIST": "GA", + "TEMPORARILY_UNAVAILABLE": "GA", + "UNAUTHENTICATED": "GA", + "UNAVAILABLE": "GA", + "UNKNOWN": "GA", + "UNPARSEABLE_HTTP_ERROR": "GA", + "WORKSPACE_TEMPORARILY_UNAVAILABLE": "GA" } }, "postgres.GenerateDatabaseCredentialRequest": { "fields": { "claims": { "description": "The returned token will be scoped to UC tables with the specified permissions.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "endpoint": { "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "expire_time": { "description": "Timestamp in UTC of when this credential should expire.\nMust be at least 300 seconds (5 minutes) and at most 1 hour from the current time.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "ttl": { "description": "The requested time-to-live for the generated credential token.\nMust be at least 300 seconds (5 minutes) and at most 3600 seconds (1 hour).", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45830,7 +46782,7 @@ "fields": { "is_protected": { "description": "Whether the initial default branch should be protected from deletion.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45842,14 +46794,14 @@ "fields": { "autoscaling_limit_max_cu": { "description": "The maximum number of Compute Units for the initial endpoint.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "autoscaling_limit_min_cu": { "description": "The minimum number of Compute Units for the initial endpoint.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45857,21 +46809,21 @@ "group": { "description": "Settings for HA configuration of the endpoint.", "ref": "postgres.EndpointGroupSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "no_suspension": { "description": "When set to true, explicitly disables automatic suspension (never suspend).\nShould be set to true when provided.\nMutually exclusive with `suspend_timeout_duration`.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "suspend_timeout_duration": { "description": "Duration of inactivity after which the initial endpoint is automatically suspended.\nIf specified, should be between 60s and 604800s (1 minute to 1 week).\nMutually exclusive with `no_suspension`.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45882,14 +46834,14 @@ "fields": { "page_size": { "description": "Upper bound for items returned. Cannot be negative.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "Page token from a previous response. If not provided, returns the first page.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45907,11 +46859,11 @@ "fields": { "branches": { "description": "List of branches in the project.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "next_page_token": { "description": "Token to request the next page of branches.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -45981,14 +46933,14 @@ "fields": { "page_size": { "description": "Upper bound for items returned.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "Pagination token to go to the next page of Databases. Requests first page if absent.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -45999,11 +46951,11 @@ "fields": { "databases": { "description": "List of databases.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "next_page_token": { "description": "Pagination token to request the next page of databases.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46011,14 +46963,14 @@ "fields": { "page_size": { "description": "Upper bound for items returned. Cannot be negative.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "Page token from a previous response. If not provided, returns the first page.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46029,14 +46981,14 @@ "fields": { "endpoints": { "description": "List of compute endpoints in the branch.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "next_page_token": { "description": "Token to request the next page of compute endpoints.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46047,14 +46999,14 @@ "fields": { "page_size": { "description": "Upper bound for items returned. Cannot be negative. The maximum value is 100.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "Page token from a previous response. If not provided, returns the first page.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46072,11 +47024,11 @@ "fields": { "next_page_token": { "description": "Token to request the next page of projects.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "projects": { "description": "List of all projects in the workspace that the user has permission to access.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46084,14 +47036,14 @@ "fields": { "page_size": { "description": "Upper bound for items returned. Cannot be negative.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "Page token from a previous response. If not provided, returns the first page.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46102,11 +47054,11 @@ "fields": { "next_page_token": { "description": "Token to request the next page of Postgres roles.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "roles": { "description": "List of Postgres roles in the branch.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46114,27 +47066,46 @@ "fields": { "budget_policy_id": { "description": "Budget policy to set on the newly created pipeline.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", + "behaviors": [ + "OPTIONAL" + ] + }, + "pipeline_channel": { + "description": "Release channel of the underlying pipeline's runtime.\nSome source table configurations (e.g., read-time CDF) require PREVIEW.\nDefaults to CURRENT if not specified.", + "ref": "postgres.NewPipelineSpecPipelineChannel", + "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" ] }, "storage_catalog": { "description": "UC catalog for the pipeline to store intermediate files (checkpoints, event logs etc).\nThis needs to be a standard catalog where the user has permissions to create Delta tables.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "storage_schema": { "description": "UC schema for the pipeline to store intermediate files (checkpoints, event logs etc).\nThis needs to be in the standard catalog where the user has permissions to create Delta tables.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] } } }, + "postgres.NewPipelineSpecPipelineChannel": { + "description": "Release channel of the underlying pipeline's runtime.\nPREVIEW provides early access to the latest features but may be less stable.\nSome source table configurations (e.g., read-time CDF) require PREVIEW.\nDefaults to CURRENT if not specified.", + "enum": [ + "CURRENT", + "PREVIEW" + ], + "enum_launch_stages": { + "CURRENT": "PRIVATE_PREVIEW", + "PREVIEW": "PRIVATE_PREVIEW" + } + }, "postgres.OpenApiMode": { "description": "Controls how the Data API exposes the OpenAPI documentation endpoint.\nOnly IGNORE_PRIVILEGES and DISABLED are supported today; \"follow-privileges\"\nis not implemented yet (it may be added later as value 3 — adding new enum\nvalues is backward-compatible).", "enum": [ @@ -46151,24 +47122,24 @@ "fields": { "done": { "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "error": { "description": "The error result of the operation in case of failure or cancellation.", "ref": "postgres.DatabricksServiceExceptionWithDetailsProto", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "metadata": { "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "name": { "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "response": { "description": "The normal, successful response of the operation.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46176,7 +47147,7 @@ "fields": { "create_time": { "description": "A timestamp indicating when the project was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46191,7 +47162,7 @@ "initial_branch_spec": { "description": "Configuration for the initial default branch created as part of project creation.\nAllows overriding branch protection. These settings only apply at creation time\nand do not affect resources created after project creation.", "ref": "postgres.InitialBranchSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -46200,7 +47171,7 @@ "initial_endpoint_spec": { "description": "Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly\ncreated project. If omitted, the initial endpoint created will have default settings, without high availability\nconfigured. This field does not apply to any endpoints created after project creation. Use\nspec.default_endpoint_settings to configure default settings for endpoints created after project creation.", "ref": "postgres.InitialEndpointSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -46208,11 +47179,11 @@ }, "name": { "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "project_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46227,7 +47198,7 @@ "spec": { "description": "The spec contains the project configuration, including display_name, pg_version (Postgres version), history_retention_duration, and default_endpoint_settings.", "ref": "postgres.ProjectSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -46236,21 +47207,21 @@ "status": { "description": "The current status of a Project.", "ref": "postgres.ProjectStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "uid": { "description": "System-generated unique ID for the project.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "update_time": { "description": "A timestamp indicating when the project was last updated.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46261,11 +47232,11 @@ "fields": { "key": { "description": "The key of the custom tag.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "value": { "description": "The value of the custom tag.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46274,35 +47245,35 @@ "fields": { "autoscaling_limit_max_cu": { "description": "The maximum number of Compute Units. Minimum value is 0.5.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "autoscaling_limit_min_cu": { "description": "The minimum number of Compute Units. Minimum value is 0.5.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "no_suspension": { "description": "When set to true, explicitly disables automatic suspension (never suspend).\nShould be set to true when provided.\nMutually exclusive with `suspend_timeout_duration`. When updating, use `spec.project_default_settings.suspension` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "pg_settings": { "description": "A raw representation of Postgres settings.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "suspend_timeout_duration": { "description": "Duration of inactivity after which the compute endpoint is automatically suspended.\nIf specified should be between 60s and 604800s (1 minute to 1 week).\nMutually exclusive with `no_suspension`. When updating, use `spec.project_default_settings.suspension` in the update_mask.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46314,56 +47285,56 @@ "fields": { "budget_policy_id": { "description": "The desired budget policy to associate with the project.\nSee status.budget_policy_id for the policy that is actually applied to the project.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "custom_tags": { "description": "Custom tags to associate with the project. Forwarded to LBM for billing and cost tracking.\nTo update tags, provide the new tag list and include \"spec.custom_tags\" in the update_mask.\nTo clear all tags, provide an empty list and include \"spec.custom_tags\" in the update_mask.\nTo preserve existing tags, omit this field from the update_mask (or use wildcard \"*\" which auto-excludes empty tags).", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "default_branch": { "description": "The full resource path for the default branch of the project\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "default_endpoint_settings": { "ref": "postgres.ProjectDefaultEndpointSettings", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "display_name": { "description": "Human-readable project name. Length should be between 1 and 256 characters.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "enable_pg_native_login": { "description": "Whether to enable PG native password login on all endpoints in this project. Defaults to false.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "history_retention_duration": { "description": "The number of seconds to retain the shared history for point in time recovery for all branches in this project. Value should be between 172800s (2 days) and 3024000s (35 days).", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "pg_version": { "description": "The major Postgres version number. The set of supported versions may vary; consult the API documentation for currently accepted values.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "IMMUTABLE", "OPTIONAL" @@ -46375,35 +47346,35 @@ "fields": { "branch_logical_size_limit_bytes": { "description": "The logical size limit for a branch.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "budget_policy_id": { "description": "The budget policy that is applied to the project.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "compute_last_active_time": { "description": "The most recent time when any endpoint of this project was active.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "custom_tags": { "description": "The effective custom tags associated with the project.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "default_branch": { "description": "The full resource path of the default branch of the project", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46411,56 +47382,56 @@ "default_endpoint_settings": { "description": "The effective default endpoint settings.", "ref": "postgres.ProjectDefaultEndpointSettings", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "display_name": { "description": "The effective human-readable project name.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "enable_pg_native_login": { "description": "Whether to enable PG native password login on all endpoints in this project.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "history_retention_duration": { "description": "The effective number of seconds to retain the shared history for point in time recovery.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "owner": { "description": "The email of the project owner.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "pg_version": { "description": "The effective major Postgres version number.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "project_id": { "description": "Part of the resource name.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "synthetic_storage_size_bytes": { "description": "The current space occupied by the project in storage.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46477,12 +47448,12 @@ "DEGRADED" ], "enum_launch_stages": { - "ACTIVE": "PUBLIC_BETA", - "DEGRADED": "PUBLIC_BETA", - "DELETING": "PUBLIC_BETA", - "FAILED": "PUBLIC_BETA", - "PROVISIONING": "PUBLIC_BETA", - "UPDATING": "PUBLIC_BETA" + "ACTIVE": "GA", + "DEGRADED": "GA", + "DELETING": "GA", + "FAILED": "GA", + "PROVISIONING": "GA", + "UPDATING": "GA" } }, "postgres.ProvisioningPhase": { @@ -46493,19 +47464,19 @@ "PROVISIONING_PHASE_INDEX_SORT" ], "enum_launch_stages": { - "PROVISIONING_PHASE_INDEX_SCAN": "PUBLIC_BETA", - "PROVISIONING_PHASE_INDEX_SORT": "PUBLIC_BETA", - "PROVISIONING_PHASE_MAIN": "PUBLIC_BETA" + "PROVISIONING_PHASE_INDEX_SCAN": "GA", + "PROVISIONING_PHASE_INDEX_SORT": "GA", + "PROVISIONING_PHASE_MAIN": "GA" } }, "postgres.RequestedClaims": { "fields": { "permission_set": { "ref": "postgres.RequestedClaimsPermissionSet", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "resources": { - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46514,14 +47485,14 @@ "READ_ONLY" ], "enum_launch_stages": { - "READ_ONLY": "PUBLIC_BETA" + "READ_ONLY": "GA" } }, "postgres.RequestedResource": { "fields": { "table_name": { "description": "The full Unity Catalog table name.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -46529,25 +47500,25 @@ "description": "Role represents a Postgres role within a Branch.", "fields": { "create_time": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "parent": { "description": "The Branch where this Role exists.\nFormat: projects/{project_id}/branches/{branch_id}", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "role_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46555,7 +47526,7 @@ "spec": { "description": "The spec contains the role configuration, including identity type, authentication method, and role attributes.", "ref": "postgres.RoleRoleSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -46564,13 +47535,13 @@ "status": { "description": "Current status of the role, including its identity type, authentication method, and role attributes.", "ref": "postgres.RoleRoleStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "update_time": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46581,19 +47552,19 @@ "description": "Attributes that can be granted to a Postgres role. We are only implementing a subset for now, see xref:\nhttps://www.postgresql.org/docs/16/sql-createrole.html\nThe values follow Postgres keyword naming e.g. CREATEDB, BYPASSRLS, etc. which is why they don't include typical\nunderscores between words.", "fields": { "bypassrls": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "createdb": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "createrole": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46608,9 +47579,9 @@ "LAKEBASE_OAUTH_V1" ], "enum_launch_stages": { - "LAKEBASE_OAUTH_V1": "PUBLIC_BETA", - "NO_LOGIN": "PUBLIC_BETA", - "PG_PASSWORD_SCRAM_SHA_256": "PUBLIC_BETA" + "LAKEBASE_OAUTH_V1": "GA", + "NO_LOGIN": "GA", + "PG_PASSWORD_SCRAM_SHA_256": "GA" } }, "postgres.RoleIdentityType": { @@ -46621,9 +47592,9 @@ "GROUP" ], "enum_launch_stages": { - "GROUP": "PUBLIC_BETA", - "SERVICE_PRINCIPAL": "PUBLIC_BETA", - "USER": "PUBLIC_BETA" + "GROUP": "GA", + "SERVICE_PRINCIPAL": "GA", + "USER": "GA" } }, "postgres.RoleMembershipRole": { @@ -46632,7 +47603,7 @@ "DATABRICKS_SUPERUSER" ], "enum_launch_stages": { - "DATABRICKS_SUPERUSER": "PUBLIC_BETA" + "DATABRICKS_SUPERUSER": "GA" } }, "postgres.RoleOperationMetadata": {}, @@ -46641,7 +47612,7 @@ "attributes": { "description": "The desired API-exposed Postgres role attribute to associate with the role. Optional.", "ref": "postgres.RoleAttributes", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46649,7 +47620,7 @@ "auth_method": { "description": "Controls how the Postgres role authenticates when a client opens a database\nconnection. Supported values:\n\n* LAKEBASE_OAUTH_V1: the role authenticates by presenting a Databricks\nOAuth access token derived from the backing managed identity (the\nDatabricks user, service principal, or group named by the role's\n`postgres_role`). No static password exists for roles using this method.\n* PG_PASSWORD_SCRAM_SHA_256: the role authenticates with a Postgres\npassword verified server-side using the SCRAM-SHA-256 mechanism.\nLakebase generates a password for the role.\n* NO_LOGIN: the role cannot open a Postgres session at all. Useful for\nroles that exist only to own objects or to aggregate privileges that\nare then granted to other, loginable roles.\n\nIf auth_method is left unspecified, a meaningful authentication method is derived from the identity_type:\n* For the managed identities, OAUTH is used.\n* For the regular postgres roles, authentication based on postgres passwords is used.\n\nNOTE: for the Databricks identity type GROUP, LAKEBASE_OAUTH_V1\nis the default auth method (group can login as well).", "ref": "postgres.RoleAuthMethod", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46657,21 +47628,21 @@ "identity_type": { "description": "The type of role.\nWhen specifying a managed-identity, the chosen role_id must be a valid:\n\n* application ID for SERVICE_PRINCIPAL\n* user email for USER\n* group name for GROUP", "ref": "postgres.RoleIdentityType", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "membership_roles": { "description": "An enum value for a standard role that this role is a member of.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "postgres_role": { "description": "The name of the Postgres role.\n\nThis expects a valid Postgres identifier as specified in the link below.\nhttps://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS\n\nRequired when creating the Role.\n\nIf you wish to create a Postgres Role backed by a managed Databricks identity, then postgres_role\nmust be one of the following:\n\n1. user email for IdentityType.USER\n2. app ID for IdentityType.SERVICE_PRINCIPAL\n2. group name for IdentityType.GROUP", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46683,14 +47654,14 @@ "attributes": { "description": "The PG role attributes associated with the role.", "ref": "postgres.RoleAttributes", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "auth_method": { "ref": "postgres.RoleAuthMethod", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46698,28 +47669,28 @@ "identity_type": { "description": "The type of the role.", "ref": "postgres.RoleIdentityType", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "membership_roles": { "description": "An enum value for a standard role that this role is a member of.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "postgres_role": { "description": "The name of the Postgres role.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "role_id": { "description": "Part of the resource name.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46729,19 +47700,19 @@ "postgres.SyncedTable": { "fields": { "create_time": { - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "name": { "description": "Output only. The Full resource name of the synced table in Postgres\nwhere (catalog, schema, table) are the UC entity names.\n\nFormat \"synced_tables/{catalog}.{schema}.{table}\"\n\nFor the corresponding source table in the Unity catalog look for the \"source_table_full_name\" attribute.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "spec": { "description": "Configuration details of the synced table, such as the source table, scheduling policy, etc.\nThis attribute is specified at creation time and most fields are returned as is on subsequent queries.", "ref": "postgres.SyncedTableSyncedTableSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "INPUT_ONLY", "OPTIONAL" @@ -46750,21 +47721,21 @@ "status": { "description": "Synced Table data synchronization status.", "ref": "postgres.SyncedTableSyncedTableStatus", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "synced_table_id": { "description": "The part of the name, chosen by the user when the resource was created.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "uid": { "description": "The Unity Catalog table ID for this synced table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46779,35 +47750,35 @@ "fields": { "estimated_completion_time_seconds": { "description": "The estimated time remaining to complete this update in seconds.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "latest_version_currently_processing": { "description": "The source table Delta version that was last processed by the pipeline. The pipeline may not\nhave completely processed this version yet.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "sync_progress_completion": { "description": "The completion ratio of this update. This is a number between 0 and 1.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "synced_row_count": { "description": "The number of rows that have been synced in this update.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "total_row_count": { "description": "The total number of rows that need to be synced in this update. This number may be an estimate.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46818,21 +47789,21 @@ "fields": { "delta_table_sync_info": { "ref": "postgres.DeltaTableSyncInfo", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "sync_end_time": { "description": "The end timestamp of the most recent successful synchronization.\nThis is the time when the data is available in the synced table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "sync_start_time": { "description": "The starting timestamp of the most recent successful synchronization from the source table\nto the destination (synced) table.\nNote this is the starting timestamp of the sync operation, not the end time.\nE.g., for a batch, this is the time when the sync operation started.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -46855,17 +47826,17 @@ "SYNCED_TABLE_ONLINE_UPDATING_PIPELINE_RESOURCES" ], "enum_launch_stages": { - "SYNCED_TABLE_OFFLINE": "PUBLIC_BETA", - "SYNCED_TABLE_OFFLINE_FAILED": "PUBLIC_BETA", - "SYNCED_TABLE_ONLINE": "PUBLIC_BETA", - "SYNCED_TABLE_ONLINE_CONTINUOUS_UPDATE": "PUBLIC_BETA", - "SYNCED_TABLE_ONLINE_NO_PENDING_UPDATE": "PUBLIC_BETA", - "SYNCED_TABLE_ONLINE_PIPELINE_FAILED": "PUBLIC_BETA", - "SYNCED_TABLE_ONLINE_TRIGGERED_UPDATE": "PUBLIC_BETA", - "SYNCED_TABLE_ONLINE_UPDATING_PIPELINE_RESOURCES": "PUBLIC_BETA", - "SYNCED_TABLE_PROVISIONING": "PUBLIC_BETA", - "SYNCED_TABLE_PROVISIONING_INITIAL_SNAPSHOT": "PUBLIC_BETA", - "SYNCED_TABLE_PROVISIONING_PIPELINE_RESOURCES": "PUBLIC_BETA" + "SYNCED_TABLE_OFFLINE": "GA", + "SYNCED_TABLE_OFFLINE_FAILED": "GA", + "SYNCED_TABLE_ONLINE": "GA", + "SYNCED_TABLE_ONLINE_CONTINUOUS_UPDATE": "GA", + "SYNCED_TABLE_ONLINE_NO_PENDING_UPDATE": "GA", + "SYNCED_TABLE_ONLINE_PIPELINE_FAILED": "GA", + "SYNCED_TABLE_ONLINE_TRIGGERED_UPDATE": "GA", + "SYNCED_TABLE_ONLINE_UPDATING_PIPELINE_RESOURCES": "GA", + "SYNCED_TABLE_PROVISIONING": "GA", + "SYNCED_TABLE_PROVISIONING_INITIAL_SNAPSHOT": "GA", + "SYNCED_TABLE_PROVISIONING_PIPELINE_RESOURCES": "GA" } }, "postgres.SyncedTableSyncedTableSpec": { @@ -46879,21 +47850,21 @@ }, "branch": { "description": "The full resource name the branch associated with the table.\n\nFormat: \"projects/{project_id}/branches/{branch_id}\".", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "create_database_objects_if_missing": { "description": "If true, the synced table's logical database and schema resources in PG\nwill be created if they do not already exist.\nThe request will fail if this is false and the database/schema do not exist.\n\nDefaults to true if omitted.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "existing_pipeline_id": { "description": "ID of an existing pipeline to bin-pack this synced table into.\nAt most one of existing_pipeline_id and new_pipeline_spec should be defined.\n\nThe pipeline used for the synced table is returned via the top level pipeline_id attribute.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46908,21 +47879,21 @@ "new_pipeline_spec": { "description": "Specification for creating a new pipeline.\nAt most one of existing_pipeline_id and new_pipeline_spec should be defined.\n\nThe pipeline used for the synced table is returned via the top level pipeline_id attribute.", "ref": "postgres.NewPipelineSpec", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "postgres_database": { "description": "The Postgres database name where the synced table will be created in.\n\nIf this synced table is created inside a Lakebase Catalog, this attribute can be omitted on creation and is inferred\nfrom the postgres_database associated with the Lakebase Catalog. If specified when inside a Lakebase Catalog, the value must match.\n\nA value must be specified when creating a synced table inside a Standard Catalog.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "primary_key_columns": { "description": "Primary Key columns to be used for data insert/update in the destination.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46930,28 +47901,28 @@ "scheduling_policy": { "description": "Scheduling policy of the underlying pipeline.", "ref": "postgres.SyncedTableSyncedTableSpecSyncedTableSchedulingPolicy", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "source_table_full_name": { "description": "Three-part (catalog, schema, table) name of the source Delta table.\n\nFor the corresponding destination table, use any of the two:\n\n* synced_table_id used at the creation of the SyncedTable\n* \"name\" consisting of \"synced_tables/\" prefix and the full name of the destination table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "timeseries_key": { "description": "Time series key to deduplicate (tie-break) rows with the same primary key.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "type_overrides": { "description": "Override the default Delta-\u003ePG type mapping for specific columns.\nA TypeOverride with PG_SPECIFIC_TYPE_UNSPECIFIED is rejected; a valid pg_type must be set.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -46997,10 +47968,14 @@ "postgres.SyncedTableSyncedTableSpecPgSpecificType": { "description": "PostgreSQL-specific target types that can override the default Delta-to-PG mapping.", "enum": [ - "PG_SPECIFIC_TYPE_VECTOR" + "PG_SPECIFIC_TYPE_VECTOR", + "PG_SPECIFIC_TYPE_HALFVEC", + "PG_SPECIFIC_TYPE_VARCHAR" ], "enum_launch_stages": { - "PG_SPECIFIC_TYPE_VECTOR": "PUBLIC_BETA" + "PG_SPECIFIC_TYPE_HALFVEC": "GA", + "PG_SPECIFIC_TYPE_VARCHAR": "GA", + "PG_SPECIFIC_TYPE_VECTOR": "GA" } }, "postgres.SyncedTableSyncedTableSpecSyncedTableSchedulingPolicy": { @@ -47011,9 +47986,9 @@ "SNAPSHOT" ], "enum_launch_stages": { - "CONTINUOUS": "PUBLIC_BETA", - "SNAPSHOT": "PUBLIC_BETA", - "TRIGGERED": "PUBLIC_BETA" + "CONTINUOUS": "GA", + "SNAPSHOT": "GA", + "TRIGGERED": "GA" } }, "postgres.SyncedTableSyncedTableSpecTypeOverride": { @@ -47021,16 +47996,16 @@ "fields": { "column_name": { "description": "Name of the source column whose target PostgreSQL type should be overridden.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "pg_type": { "description": "PostgreSQL-specific target type to use for the column.", "ref": "postgres.SyncedTableSyncedTableSpecPgSpecificType", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "size": { "description": "Size parameter for the target type, for types that take one (e.g. vector\ndimension, varchar length). Required when the chosen pg_type needs a size.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -47042,14 +48017,14 @@ "detailed_state": { "description": "The state of the synced table.", "ref": "postgres.SyncedTableState", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "last_processed_commit_version": { "description": "The last source table Delta version that was successfully synced to the synced table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -47057,42 +48032,42 @@ "last_sync": { "description": "Summary of the last successful synchronization from source to destination.", "ref": "postgres.SyncedTablePosition", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "last_sync_time": { "description": "The end timestamp of the last time any data was synchronized from the source table to the synced\ntable. This is when the data is available in the synced table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "message": { "description": "A text description of the current state of the synced table.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "ongoing_sync_progress": { "ref": "postgres.SyncedTablePipelineProgress", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "pipeline_id": { "description": "ID of the associated pipeline.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "project": { "description": "The full resource name of the project associated with the table.\n\nFormat: \"projects/{project_id}\".", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -47100,7 +48075,7 @@ "provisioning_phase": { "description": "The current phase of the data synchronization pipeline.", "ref": "postgres.ProvisioningPhase", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -47108,7 +48083,7 @@ "unity_catalog_provisioning_state": { "description": "The provisioning state of the synced table entity in Unity Catalog.", "ref": "postgres.ProvisioningInfoState", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -47124,11 +48099,11 @@ "branch": { "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", "ref": "postgres.Branch", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "update_mask": { - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "launch_stage": "PUBLIC_BETA" + "description": "The list of fields to update.", + "launch_stage": "GA" } } }, @@ -47140,7 +48115,7 @@ "launch_stage": "PRIVATE_PREVIEW" }, "update_mask": { - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "description": "The list of fields to update.", "launch_stage": "PRIVATE_PREVIEW" } } @@ -47150,11 +48125,11 @@ "database": { "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "ref": "postgres.Database", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "update_mask": { - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "launch_stage": "PUBLIC_BETA" + "description": "The list of fields to update.", + "launch_stage": "GA" } } }, @@ -47163,11 +48138,11 @@ "endpoint": { "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "ref": "postgres.Endpoint", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "update_mask": { - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "launch_stage": "PUBLIC_BETA" + "description": "The list of fields to update.", + "launch_stage": "GA" } } }, @@ -47176,11 +48151,11 @@ "project": { "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", "ref": "postgres.Project", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "update_mask": { - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "launch_stage": "PUBLIC_BETA" + "description": "The list of fields to update.", + "launch_stage": "GA" } } }, @@ -47189,11 +48164,11 @@ "role": { "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "ref": "postgres.Role", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" }, "update_mask": { - "description": "The list of fields to update in Postgres Role.\nIf unspecified, all fields will be updated when possible.", - "launch_stage": "PUBLIC_BETA" + "description": "The list of fields to update.", + "launch_stage": "GA" } } }, @@ -50507,18 +51482,19 @@ }, "serving.TelemetryConfig": { "fields": { + "enabled_telemetry_features": { + "description": "The telemetry signals to enable for this endpoint. If empty or omitted, all signals are\nenabled; otherwise only the listed signals are enabled.", + "launch_stage": "PUBLIC_PREVIEW" + }, "inference_table_config": { "description": "Configuration for inference table payload logging, including sampling.", "ref": "serving.TelemetryInferenceTableConfig", "launch_stage": "PUBLIC_PREVIEW" }, "table_names": { - "description": "The Unity Catalog tables to which endpoint telemetry (logs, traces, and metrics) is exported.\nProvide this to create a new telemetry profile for the endpoint from the given tables.\nThis field selects the tables when writing a telemetry configuration; it is not returned when\nreading one. Responses identify the resulting profile with `telemetry_profile_id` instead.", + "description": "The Unity Catalog tables to which endpoint telemetry (logs, traces, and metrics) is exported.\nProvide this to create a new telemetry profile for the endpoint from the given tables.", "ref": "serving.UnityCatalogTableNames", - "launch_stage": "PUBLIC_PREVIEW", - "behaviors": [ - "INPUT_ONLY" - ] + "launch_stage": "PUBLIC_PREVIEW" }, "telemetry_profile_id": { "description": "The ID of an existing telemetry profile to apply to this endpoint. Provide this to reuse a\ntelemetry profile that has already been created, instead of specifying table_names.", @@ -50526,6 +51502,21 @@ } } }, + "serving.TelemetryFeature": { + "description": "A telemetry signal that a serving endpoint can export to Unity Catalog. Use these values to\nselect which signals the endpoint exports.", + "enum": [ + "TELEMETRY_FEATURE_LOGS", + "TELEMETRY_FEATURE_TRACES", + "TELEMETRY_FEATURE_METRICS", + "TELEMETRY_FEATURE_INFERENCE_TABLE" + ], + "enum_launch_stages": { + "TELEMETRY_FEATURE_INFERENCE_TABLE": "PUBLIC_PREVIEW", + "TELEMETRY_FEATURE_LOGS": "PUBLIC_PREVIEW", + "TELEMETRY_FEATURE_METRICS": "PUBLIC_PREVIEW", + "TELEMETRY_FEATURE_TRACES": "PUBLIC_PREVIEW" + } + }, "serving.TelemetryInferenceTableConfig": { "description": "Inference table payload logging configuration", "fields": { @@ -51151,7 +52142,7 @@ }, "resource_names": { "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -53295,7 +54286,7 @@ }, "enabled": { "description": "Update this field to activate/deactivate this private endpoint to allow egress access from\nserverless compute resources. Only honored for first-party services on each cloud (e.g. AWS S3).", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "endpoint_name": { "description": "The name of the Azure private endpoint resource.", @@ -53326,7 +54317,7 @@ }, "resource_names": { "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "rule_id": { "description": "The ID of a private endpoint rule.", @@ -54241,7 +55232,7 @@ }, "enabled": { "description": "Update this field to activate/deactivate this private endpoint to allow egress access from\nserverless compute resources. Only honored for first-party services on each cloud (e.g. AWS S3).", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "error_message": { "launch_stage": "GA" @@ -54252,7 +55243,7 @@ }, "resource_names": { "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -63302,7 +64293,7 @@ "launch_stage": "GA" }, "git_provider": { - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "launch_stage": "GA" }, "git_username": { @@ -63366,7 +64357,7 @@ "launch_stage": "GA" }, "provider": { - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "launch_stage": "GA" }, "sparse_checkout": { @@ -63399,7 +64390,7 @@ "launch_stage": "GA" }, "provider": { - "description": "Git provider of the linked Git repository, e.g. `gitHub`, `azureDevOpsServices`,\n`bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab\nSelf-Managed), or `awsCodeCommit` (deprecated).", + "description": "Git provider of the linked Git repository, e.g. `gitHub`, `azureDevOpsServices`,\n`bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab\nSelf-Managed), or `awsCodeCommit`.", "launch_stage": "GA" }, "sparse_checkout": { @@ -63446,7 +64437,7 @@ "launch_stage": "GA" }, "git_provider": { - "description": "The Git provider associated with the credential. One of `gitHub`, `bitbucketCloud`,\n`gitLab`, `azureDevOpsServices` (Azure DevOps Services, including Microsoft Entra ID\nauthentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket Data Center),\n`gitLabEnterpriseEdition` (GitLab Self-Managed), or `awsCodeCommit` (deprecated).", + "description": "The Git provider associated with the credential. One of `gitHub`, `bitbucketCloud`,\n`gitLab`, `azureDevOpsServices` (Azure DevOps Services, including Microsoft Entra ID\nauthentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket Data Center),\n`gitLabEnterpriseEdition` (GitLab Self-Managed), or `awsCodeCommit`.", "launch_stage": "GA" }, "git_username": { @@ -63658,7 +64649,7 @@ "launch_stage": "GA" }, "provider": { - "description": "Git provider of the linked Git repository, e.g. `gitHub`, `azureDevOpsServices`,\n`bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab\nSelf-Managed), or `awsCodeCommit` (deprecated).", + "description": "Git provider of the linked Git repository, e.g. `gitHub`, `azureDevOpsServices`,\n`bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab\nSelf-Managed), or `awsCodeCommit`.", "launch_stage": "GA" }, "sparse_checkout": { @@ -64051,7 +65042,7 @@ "launch_stage": "GA" }, "provider": { - "description": "Git provider of the remote git repository, e.g. `gitHub`, `azureDevOpsServices`,\n`bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab\nSelf-Managed), or `awsCodeCommit` (deprecated).", + "description": "Git provider of the remote git repository, e.g. `gitHub`, `azureDevOpsServices`,\n`bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab\nSelf-Managed), or `awsCodeCommit`.", "launch_stage": "GA" }, "sparse_checkout": { @@ -64187,7 +65178,7 @@ "launch_stage": "GA" }, "git_provider": { - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "launch_stage": "GA" }, "git_username": { @@ -65931,7 +66922,7 @@ { "id": "catalog.AiGateway", "name": "AiGateway", - "description": "Govern AI workloads in Unity Catalog. This API manages the Unity Catalog securables that bring centralized access control, lineage, and auditing to AI-serving entities: model services (governed access to foundation models and external LLMs), model provider services (governed connections to external model providers), MCP services (governed Model Context Protocol servers), and agent services (governed agents).", + "description": "Govern AI workloads in Unity Catalog. This API manages the Unity Catalog securables that bring centralized access control, lineage, and auditing to AI-serving entities: model services (governed access to foundation models and external LLMs), model provider services (governed connections to external model providers), and MCP services (governed Model Context Protocol servers).", "package": { "name": "catalog" }, @@ -65975,7 +66966,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -65984,7 +66975,7 @@ }, { "name": "mcp_service_id", - "description": "Leaf identifier for the MCP service (the unqualified name within the\nparent schema, e.g. \"my_mcp_service\").", + "description": "Name for the MCP service, e.g. \"my_mcp_service\".", "required": true, "is_query": true, "entity": { @@ -65995,7 +66986,7 @@ "required_in_url_fields": [ { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66004,7 +66995,7 @@ }, { "name": "mcp_service_id", - "description": "Leaf identifier for the MCP service (the unqualified name within the\nparent schema, e.g. \"my_mcp_service\").", + "description": "Name for the MCP service, e.g. \"my_mcp_service\".", "required": true, "is_query": true, "entity": { @@ -66052,7 +67043,7 @@ }, { "name": "mcp_service_id", - "description": "Leaf identifier for the MCP service (the unqualified name within the\nparent schema, e.g. \"my_mcp_service\").", + "description": "Name for the MCP service, e.g. \"my_mcp_service\".", "required": true, "is_query": true, "entity": { @@ -66061,7 +67052,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66171,7 +67162,7 @@ "required_positional_arguments": [ { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66180,7 +67171,7 @@ }, { "name": "mcp_service_id", - "description": "Leaf identifier for the MCP service (the unqualified name within the\nparent schema, e.g. \"my_mcp_service\").", + "description": "Name for the MCP service, e.g. \"my_mcp_service\".", "required": true, "is_query": true, "entity": { @@ -66218,7 +67209,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66227,7 +67218,7 @@ }, { "name": "model_provider_service_id", - "description": "Leaf identifier for the provider service (the unqualified name within the\nparent schema, e.g. \"openai_prod\").", + "description": "Name for the model provider service, e.g. \"openai_prod\".", "required": true, "is_query": true, "entity": { @@ -66238,7 +67229,7 @@ "required_in_url_fields": [ { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66247,7 +67238,7 @@ }, { "name": "model_provider_service_id", - "description": "Leaf identifier for the provider service (the unqualified name within the\nparent schema, e.g. \"openai_prod\").", + "description": "Name for the model provider service, e.g. \"openai_prod\".", "required": true, "is_query": true, "entity": { @@ -66295,7 +67286,7 @@ }, { "name": "model_provider_service_id", - "description": "Leaf identifier for the provider service (the unqualified name within the\nparent schema, e.g. \"openai_prod\").", + "description": "Name for the model provider service, e.g. \"openai_prod\".", "required": true, "is_query": true, "entity": { @@ -66304,7 +67295,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66414,7 +67405,7 @@ "required_positional_arguments": [ { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66423,7 +67414,7 @@ }, { "name": "model_provider_service_id", - "description": "Leaf identifier for the provider service (the unqualified name within the\nparent schema, e.g. \"openai_prod\").", + "description": "Name for the model provider service, e.g. \"openai_prod\".", "required": true, "is_query": true, "entity": { @@ -66461,7 +67452,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66470,7 +67461,7 @@ }, { "name": "model_service_id", - "description": "Leaf identifier for the model service (the unqualified name within the\nparent schema, e.g. \"my_model_service\").", + "description": "Name for the model service, e.g. \"my_model_service\".", "required": true, "is_query": true, "entity": { @@ -66481,7 +67472,7 @@ "required_in_url_fields": [ { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66490,7 +67481,7 @@ }, { "name": "model_service_id", - "description": "Leaf identifier for the model service (the unqualified name within the\nparent schema, e.g. \"my_model_service\").", + "description": "Name for the model service, e.g. \"my_model_service\".", "required": true, "is_query": true, "entity": { @@ -66538,7 +67529,7 @@ }, { "name": "model_service_id", - "description": "Leaf identifier for the model service (the unqualified name within the\nparent schema, e.g. \"my_model_service\").", + "description": "Name for the model service, e.g. \"my_model_service\".", "required": true, "is_query": true, "entity": { @@ -66547,7 +67538,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66669,7 +67660,7 @@ "required_positional_arguments": [ { "name": "parent", - "description": "Resource name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", + "description": "Name of the parent schema.\nFormat: `schemas/{catalog}.{schema}`.\nEach `{...}` component is capped at 255 characters individually.", "required": true, "is_query": true, "entity": { @@ -66678,7 +67669,7 @@ }, { "name": "model_service_id", - "description": "Leaf identifier for the model service (the unqualified name within the\nparent schema, e.g. \"my_model_service\").", + "description": "Name for the model service, e.g. \"my_model_service\".", "required": true, "is_query": true, "entity": { @@ -67110,7 +68101,7 @@ "all_fields": [ { "name": "page_size", - "description": "Maximum number of MCP services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `next_page_token` to retrieve additional pages.", + "description": "Maximum number of MCP services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `page_token` to retrieve additional pages.", "is_query": true, "entity": { "is_int": true @@ -67126,7 +68117,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", + "description": "Name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", "is_query": true, "entity": { "is_string": true @@ -67134,7 +68125,7 @@ }, { "name": "view", - "description": "View selector controlling which fields are populated per row.", + "description": "View selector controlling which fields are populated per row. `FULL`\nreturns the full representation of the service; `BASIC` returns a more\ncompact version. Defaults to `BASIC` when unset.", "is_query": true, "entity": { "pascal_name": "ListMcpServicesRequestView", @@ -67183,7 +68174,7 @@ "all_fields": [ { "name": "page_size", - "description": "Maximum number of provider services to return. Defaults to 100 when unset or\n0; the maximum is 100. Use `next_page_token` to retrieve additional pages.", + "description": "Maximum number of provider services to return. Defaults to 100 when unset or\n0; the maximum is 100. Use `page_token` to retrieve additional pages.", "is_query": true, "entity": { "is_int": true @@ -67199,7 +68190,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", + "description": "Name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", "is_query": true, "entity": { "is_string": true @@ -67207,7 +68198,7 @@ }, { "name": "view", - "description": "View selector controlling which fields are populated per row.", + "description": "View selector controlling which fields are populated per row. `FULL`\nreturns the full representation of the service; `BASIC` returns a more\ncompact version. Defaults to `BASIC` when unset.", "is_query": true, "entity": { "pascal_name": "ListModelProviderServicesRequestView", @@ -67256,7 +68247,7 @@ "all_fields": [ { "name": "page_size", - "description": "Maximum number of model services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `next_page_token` to retrieve additional pages.", + "description": "Maximum number of model services to return. Defaults to 100 when unset or 0;\nthe maximum is 100. Use `page_token` to retrieve additional pages.", "is_query": true, "entity": { "is_int": true @@ -67272,7 +68263,7 @@ }, { "name": "parent", - "description": "Resource name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", + "description": "Name of the parent schema to list within, as\n`schemas/{catalog}.{schema}`. Each `{...}` component is capped at 255\ncharacters individually.", "is_query": true, "entity": { "is_string": true @@ -67280,7 +68271,7 @@ }, { "name": "view", - "description": "View selector controlling which fields are populated per row.", + "description": "View selector controlling which fields are populated per row. `FULL`\nreturns the full representation of the service; `BASIC` returns a more\ncompact version. Defaults to `BASIC` when unset.", "is_query": true, "entity": { "pascal_name": "ListModelServicesRequestView", @@ -73463,6 +74454,17 @@ "is_string": true } }, + { + "name": "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.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GitSource", + "is_object": true + } + }, { "name": "default_source_code_path", "description": "The default workspace file system path of the source code from which app deployment are\ncreated. This field tracks the workspace source code path of the last active deployment.", @@ -73529,6 +74531,16 @@ "is_object": true } }, + { + "name": "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.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GitSource", + "is_object": true + } + }, { "name": "id", "description": "The unique identifier of the app.", @@ -73617,6 +74629,13 @@ "is_string": true } }, + { + "name": "source_code_path", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "space", "description": "Name of the space this app belongs to.", @@ -75905,6 +76924,17 @@ "is_string": true } }, + { + "name": "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.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GitSource", + "is_object": true + } + }, { "name": "default_source_code_path", "description": "The default workspace file system path of the source code from which app deployment are\ncreated. This field tracks the workspace source code path of the last active deployment.", @@ -75971,6 +77001,16 @@ "is_object": true } }, + { + "name": "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.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GitSource", + "is_object": true + } + }, { "name": "id", "description": "The unique identifier of the app.", @@ -76059,6 +77099,13 @@ "is_string": true } }, + { + "name": "source_code_path", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "space", "description": "Name of the space this app belongs to.", @@ -79839,704 +80886,9 @@ } ] }, - { - "name": "CreateOperation", - "description": "Creates a resource operation under a version.\n\nThe caller must provide a `resource_key` which becomes the final\ncomponent of the operation's name. If an operation with the same key\nalready exists under the version, the server returns `ALREADY_EXISTS`.\n\nOn success the server also updates the corresponding deployment-level\nresource, creating it if this is the first operation for that resource_key\nand removing it if the operation records no `state` (see that field).", - "summary": "Create an operation.", - "path": "/api/2.0/bundle/{parent=deployments/*/versions/*}/operations", - "can_use_json": true, - "must_use_json": true, - "is_json_only": true, - "is_crud_create": true, - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "CreateOperationRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "parent", - "description": "The parent version where this operation will be recorded.\nFormat: deployments/{deployment_id}/versions/{version_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "operation", - "description": "The resource operation to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Operation", - "is_object": true - } - }, - { - "name": "resource_key", - "description": "The key identifying the resource this operation applies to.\nBecomes the final component of the operation's name.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "parent", - "description": "The parent version where this operation will be recorded.\nFormat: deployments/{deployment_id}/versions/{version_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "resource_key", - "description": "The key identifying the resource this operation applies to.\nBecomes the final component of the operation's name.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "operation", - "description": "The resource operation to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Operation", - "is_object": true - } - } - ] - }, - "request_body_field": { - "name": "operation", - "description": "The resource operation to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] - } - }, - "response": { - "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] - }, - "all_fields": [ - { - "name": "operation", - "description": "The resource operation to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] - } - }, - { - "name": "parent", - "description": "The parent version where this operation will be recorded.\nFormat: deployments/{deployment_id}/versions/{version_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "resource_key", - "description": "The key identifying the resource this operation applies to.\nBecomes the final component of the operation's name.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "create_time", - "description": "When the operation was recorded.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "dashboard_metadata", - "description": "Dashboard-specific metadata; set only for dashboard resources.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DashboardMetadata", - "is_object": true - } - }, - { - "name": "error_message", - "description": "Error message if the operation failed. Set when status is\nOPERATION_STATUS_FAILED. Captures the error encountered while applying the\nresource to the workspace. Mutable: may be updated after creation via\nUpdateOperation; setting it to an empty string clears it. After an update\nis applied, an operation whose status is OPERATION_STATUS_SUCCEEDED cannot\ncarry an error_message.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Resource name of the operation.\nFormat: deployments/{deployment_id}/versions/{version_id}/operations/{resource_key}", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "resource_id", - "description": "ID of the actual resource in the workspace (e.g. the job ID, pipeline ID).\nRequired whenever `state` is set, because state records a resource that\nexists. A CREATE or RECREATE that has not produced its resource yet records\nneither. Mutable: may be filled in (or corrected) later via UpdateOperation\nonce the ID is known.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "resource_key", - "description": "Resource identifier within the bundle (e.g. \"jobs.foo\",\n\"pipelines.bar\", \"jobs.foo.permissions\", \"files.\u003crel-path\u003e\").\nCan be an arbitrary UTF-8 encoded string key. This key links the\noperation to the corresponding deployment-level Resource.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "resource_type", - "description": "The type of the deployment resource this operation applies to. Derived\nfrom the `resource_key` prefix (e.g. \"jobs\" → JOB); the caller does not\nset this field.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DeploymentResourceType", - "enum": [ - { - "content": "DEPLOYMENT_RESOURCE_TYPE_ALERT" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_APP" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_CATALOG" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_CLUSTER" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_DASHBOARD" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_DATABASE_CATALOG" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_DATABASE_INSTANCE" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_EXPERIMENT" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_EXTERNAL_LOCATION" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_JOB" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_MODEL" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_MODEL_SERVING_ENDPOINT" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_PIPELINE" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_BRANCH" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_PROJECT" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_QUALITY_MONITOR" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_REGISTERED_MODEL" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_SCHEMA" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_SECRET_SCOPE" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_SQL_WAREHOUSE" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_SYNCED_DATABASE_TABLE" - }, - { - "content": "DEPLOYMENT_RESOURCE_TYPE_VOLUME" - } - ] - } - }, - { - "name": "sequence_id", - "description": "Monotonically increasing revision used for optimistic concurrency control\n(the AIP-154 concurrency token for this resource, realized as a sequence\nnumber rather than an opaque etag). The server assigns 1 on creation and\nincrements it on every successful UpdateOperation. It is OPTIONAL rather\nthan OUTPUT_ONLY because it is dual-purpose: CreateOperation/GetOperation\nreturn the current value, and UpdateOperation reads the caller-supplied\nvalue as a precondition. The caller must echo the value it last observed;\nif it no longer matches the server's value, the update is rejected with\nABORTED so the caller can re-read and retry. Ignored on CreateOperation.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "state", - "description": "Serialized local config state after the operation. Its presence records\nwhether the resource still exists, so an operation that records no state\nremoves its resource from the deployment. It may be unset only for an\noperation that left no resource behind: a `DELETE` that succeeded, or a\n`CREATE` or `RECREATE` that failed. It is required otherwise, including for\na failed `DELETE`, whose resource survives.\n\nMutable: may be updated after creation via UpdateOperation. When updating,\nthe caller must echo the last-observed `sequence_id` as a concurrency\nprecondition.\n\nOpaque to this service: the string is stored and returned unchanged. This is\ndeliberately not google.protobuf.Value, whose only numeric case is\n`double number_value`, so parsing the client's JSON into it rewrites every\ninteger as a double - `1` reads back as `1.0`, which no longer deserializes\ninto an integer field - and silently loses precision above 2^53, which is\nwithin range for IDs the client records.\n\nA string rather than bytes: the payload is always UTF-8 JSON, and proto3 JSON\nmaps bytes to base64, which inflates every request and response by a third\nand makes state unreadable in logs and API responses. Both generate the same\nOpenAPI schema (\"type\": \"string\"), so the SDKs are identical either way.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - }, - { - "name": "update_time", - "description": "When the operation was last updated. Set to `create_time` when the operation is created and\nto the server timestamp on each successful UpdateOperation.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - } - ], - "required_positional_arguments": [ - { - "name": "parent", - "description": "The parent version where this operation will be recorded.\nFormat: deployments/{deployment_id}/versions/{version_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, { "name": "CreateVersion", - "description": "Creates a new version under a deployment.\n\nCreating a version acquires an exclusive lock on the deployment,\npreventing concurrent deploys. The caller provides a `version_id`,\na numeric string that must be numerically greater than the\ndeployment's most recent version, and sets the version's\n`previous_version_id` to the deployment's most recent version\n(leaving it unset for the first version), which the server validates\nto detect concurrent deploys.", + "description": "Creates a new version under a deployment.\n\nCreating a version acquires an exclusive lock on the deployment,\npreventing concurrent deploys. The caller provides a `version_id`,\na numeric string that must be numerically greater than the\ndeployment's most recent version, and sets the version's\n`previous_version_id` to the deployment's most recent version\n(leaving it unset for the first version), which the server validates\nto detect concurrent deploys.\n\nThe caller also provides the full set of `operations` planned for this\nversion, each identified by a `resource_key` and an `action_type`. The\nserver records one operation per resource in `OPERATION_STATUS_PENDING`\nin the same transaction as the version, so the plan is captured\natomically. The outcome of each operation is recorded later via\nUpdateOperation as the resource is applied; the set of operations cannot\nbe changed after the version is created.", "summary": "Create a version.", "path": "/api/2.0/bundle/{parent=deployments/*}/versions", "can_use_json": true, @@ -81218,122 +81570,7 @@ }, "response": { "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] + "is_object": true }, "all_fields": [ { @@ -82088,7 +82325,7 @@ }, { "name": "UpdateOperation", - "description": "Updates a resource operation's mutable fields.\n\n`state`, `error_message`, `resource_id`, and `status` may be updated,\nindependently; `update_mask` must contain only those paths. All other\nfields are immutable. The update is guarded by an optimistic-concurrency\ncheck: the caller sets `operation.sequence_id` to the value it last\nobserved, and the server rejects the update with `ABORTED` if the\noperation has been modified since. On success the server increments\n`sequence_id`; updates to `state` and `resource_id` are mirrored onto the\ncorresponding deployment-level resource. Listing `state` in `update_mask`\nwith no value clears it, which removes the resource, so a delete that is\nretried until it succeeds must clear `state`. The parent version must be in\nprogress, and after the update is applied a succeeded operation cannot carry\nan `error_message`. See the `state` and `resource_id` fields for the rest.", + "description": "Updates a resource operation's mutable fields.\n\n`state`, `error_message`, `resource_id`, `status`, and `dashboard_metadata`\nmay be updated, independently; `update_mask` must contain only those paths.\nAll other fields are immutable. The update is guarded by an\noptimistic-concurrency check: the caller sets `operation.sequence_id` to the\nvalue it last observed, and the server rejects the update with `ABORTED` if\nthe operation has been modified since. On success the server increments\n`sequence_id`; updates to `state`, `resource_id`, and `dashboard_metadata`\nare mirrored onto the corresponding deployment-level resource. Listing\n`state` in `update_mask` with no value clears it, which removes the\nresource, so a delete that is retried until it succeeds must clear `state`.\nThe parent version must be in progress, and after the update is applied a\nsucceeded operation cannot carry an `error_message`. See the `state` and\n`resource_id` fields for the rest.", "summary": "Update an operation.", "path": "/api/2.0/bundle/{name=deployments/*/versions/*/operations/*}", "can_use_json": true, @@ -82126,7 +82363,7 @@ }, { "name": "update_mask", - "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, and `status`. An empty mask or any other\npath is rejected with INVALID_PARAMETER_VALUE.", + "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, `status`, and `dashboard_metadata`. An empty\nmask or any other path is rejected with INVALID_PARAMETER_VALUE.", "required": true, "is_query": true, "entity": { @@ -82147,7 +82384,7 @@ }, { "name": "update_mask", - "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, and `status`. An empty mask or any other\npath is rejected with INVALID_PARAMETER_VALUE.", + "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, `status`, and `dashboard_metadata`. An empty\nmask or any other path is rejected with INVALID_PARAMETER_VALUE.", "required": true, "is_query": true, "entity": { @@ -82175,242 +82412,12 @@ "is_request_body_field": true, "entity": { "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] + "is_object": true } }, "response": { "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] + "is_object": true }, "all_fields": [ { @@ -82430,127 +82437,12 @@ "is_request_body_field": true, "entity": { "pascal_name": "Operation", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationActionType", - "enum": [ - { - "content": "OPERATION_ACTION_TYPE_BIND" - }, - { - "content": "OPERATION_ACTION_TYPE_BIND_AND_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_CREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_DELETE" - }, - { - "content": "OPERATION_ACTION_TYPE_INITIAL_REGISTER" - }, - { - "content": "OPERATION_ACTION_TYPE_RECREATE" - }, - { - "content": "OPERATION_ACTION_TYPE_RESIZE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE" - }, - { - "content": "OPERATION_ACTION_TYPE_UPDATE_WITH_ID" - } - ] - } - }, - { - "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OperationStatus", - "enum": [ - { - "content": "OPERATION_STATUS_FAILED" - }, - { - "content": "OPERATION_STATUS_SUCCEEDED" - } - ] - } - } - ] + "is_object": true } }, { "name": "update_mask", - "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, and `status`. An empty mask or any other\npath is rejected with INVALID_PARAMETER_VALUE.", + "description": "The set of fields to update. Required; supported paths are `state`,\n`error_message`, `resource_id`, `status`, and `dashboard_metadata`. An empty\nmask or any other path is rejected with INVALID_PARAMETER_VALUE.", "required": true, "is_query": true, "entity": { @@ -82559,8 +82451,7 @@ }, { "name": "action_type", - "description": "The type of operation performed on this resource.", - "required": true, + "description": "The type of operation performed on this resource. Set when the version is\ncreated and immutable thereafter.", "is_request_body_field": true, "entity": { "pascal_name": "OperationActionType", @@ -82607,7 +82498,7 @@ }, { "name": "dashboard_metadata", - "description": "Dashboard-specific metadata; set only for dashboard resources.", + "description": "Dashboard-specific metadata; set only for dashboard resources. Mutable: may\nbe set or updated via UpdateOperation as the resource is applied, and is\nmirrored onto the corresponding deployment-level resource.", "is_request_body_field": true, "is_optional_object": true, "entity": { @@ -82642,7 +82533,7 @@ }, { "name": "resource_key", - "description": "Resource identifier within the bundle (e.g. \"jobs.foo\",\n\"pipelines.bar\", \"jobs.foo.permissions\", \"files.\u003crel-path\u003e\").\nCan be an arbitrary UTF-8 encoded string key. This key links the\noperation to the corresponding deployment-level Resource.", + "description": "Resource identifier within the bundle (e.g. \"jobs.foo\",\n\"pipelines.bar\", \"jobs.foo.permissions\", \"files.\u003crel-path\u003e\").\nCan be an arbitrary UTF-8 encoded string key. This key links the\noperation to the corresponding deployment-level Resource. Set when the\nversion is created and immutable thereafter.", "is_request_body_field": true, "entity": { "is_string": true @@ -82730,7 +82621,7 @@ }, { "name": "sequence_id", - "description": "Monotonically increasing revision used for optimistic concurrency control\n(the AIP-154 concurrency token for this resource, realized as a sequence\nnumber rather than an opaque etag). The server assigns 1 on creation and\nincrements it on every successful UpdateOperation. It is OPTIONAL rather\nthan OUTPUT_ONLY because it is dual-purpose: CreateOperation/GetOperation\nreturn the current value, and UpdateOperation reads the caller-supplied\nvalue as a precondition. The caller must echo the value it last observed;\nif it no longer matches the server's value, the update is rejected with\nABORTED so the caller can re-read and retry. Ignored on CreateOperation.", + "description": "Monotonically increasing revision used for optimistic concurrency control\n(the AIP-154 concurrency token for this resource, realized as a sequence\nnumber rather than an opaque etag). The server assigns 0 when the operation\nis created and increments it on every successful UpdateOperation, so a\nnever-updated operation is at 0 and the first successful update makes it 1.\nIt is OPTIONAL rather than OUTPUT_ONLY because it is dual-purpose:\nGetOperation returns the current value, and UpdateOperation reads the\ncaller-supplied value as a precondition. The caller must echo the value it\nlast observed; if it no longer matches the server's value, the update is\nrejected with ABORTED so the caller can re-read and retry.", "is_request_body_field": true, "entity": { "is_int64": true @@ -82746,8 +82637,7 @@ }, { "name": "status", - "description": "Whether the operation succeeded or failed. Mutable: may be updated after\ncreation via UpdateOperation, e.g. when an operation recorded as failed is\nretried and eventually succeeds. A succeeded operation cannot carry an\n`error_message`.", - "required": true, + "description": "Status of the operation. Starts as OPERATION_STATUS_PENDING when the version\nis created and moves to a terminal status once the resource is applied.\nMutable: updated via UpdateOperation, e.g. when an operation recorded as\nfailed is retried and eventually succeeds. A succeeded operation cannot\ncarry an `error_message`.", "is_request_body_field": true, "entity": { "pascal_name": "OperationStatus", @@ -131199,7 +131089,7 @@ "required_fields": [ { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131210,7 +131100,7 @@ "required_request_body_fields": [ { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131275,7 +131165,7 @@ }, { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131326,7 +131216,7 @@ "required_positional_arguments": [ { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131551,7 +131441,7 @@ }, { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131573,7 +131463,7 @@ "required_request_body_fields": [ { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131607,7 +131497,7 @@ }, { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -131667,7 +131557,7 @@ }, { "name": "git_provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -133900,23 +133790,23 @@ "cli_launch_stage_display": "Beta", "methods": [ { - "name": "CreateWorkspaceAssignmentDetail", - "description": "Creates a workspace assignment detail for a principal. Entitlements are granted one at a time\nrather than atomically. If the request fails partway through, the principal stays assigned to\nthe workspace with only some of the requested entitlements. Get the assignment detail\nafterwards to confirm which entitlements were granted.", - "summary": "Create a workspace assignment detail.", - "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details", + "name": "CreateDirectGroupMember", + "description": "Creates a group membership (assigns a principal to a group).", + "summary": "Create a direct group membership.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}/direct-members", "can_use_json": true, "is_hidden_cli": true, "has_required_positional_arguments": true, "launch_stage": "PRIVATE_PREVIEW", "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "CreateWorkspaceAssignmentDetailRequest", + "pascal_name": "CreateDirectGroupMemberRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being created.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -133924,20 +133814,20 @@ } }, { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "name": "direct_group_member", + "description": "Required. The direct group member to be added to the group.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "DirectGroupMember", "is_object": true } } ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being created.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -133947,30 +133837,30 @@ ], "required_request_body_fields": [ { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "name": "direct_group_member", + "description": "Required. The direct group member to be added to the group.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "DirectGroupMember", "is_object": true } } ] }, "request_body_field": { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "name": "direct_group_member", + "description": "Required. The direct group member to be added to the group.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "DirectGroupMember", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -133981,7 +133871,7 @@ "required_request_body_fields": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -133992,13 +133882,13 @@ } }, "response": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "DirectGroupMember", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -134009,7 +133899,7 @@ "required_request_body_fields": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -134020,18 +133910,18 @@ }, "all_fields": [ { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "name": "direct_group_member", + "description": "Required. The direct group member to be added to the group.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "DirectGroupMember", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -134042,7 +133932,7 @@ "required_request_body_fields": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -134053,8 +133943,8 @@ } }, { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being created.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -134062,8 +133952,8 @@ } }, { - "name": "account_id", - "description": "The account ID parent of the workspace where the principal is assigned", + "name": "display_name", + "description": "Display name of the principal.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -134071,71 +133961,43 @@ } }, { - "name": "effective_entitlements", - "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "name": "external_id", + "description": "The external ID of the principal in Databricks.", "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "EntitlementList", - "array_value": { - "pascal_name": "Entitlement", - "enum": [ - { - "content": "ALLOW_CLUSTER_CREATE" - }, - { - "content": "ALLOW_INSTANCE_POOL_CREATE" - }, - { - "content": "DATABRICKS_SQL_ACCESS" - }, - { - "content": "WORKSPACE_ACCESS" - }, - { - "content": "WORKSPACE_ADMIN" - }, - { - "content": "WORKSPACE_CONSUME" - } - ] - } + "is_string": true } }, { - "name": "entitlements", - "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", + "name": "group_id", + "description": "The internal ID of the group this member belongs to.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "EntitlementList", - "array_value": { - "pascal_name": "Entitlement", - "enum": [ - { - "content": "ALLOW_CLUSTER_CREATE" - }, - { - "content": "ALLOW_INSTANCE_POOL_CREATE" - }, - { - "content": "DATABRICKS_SQL_ACCESS" - }, - { - "content": "WORKSPACE_ACCESS" - }, - { - "content": "WORKSPACE_ADMIN" - }, - { - "content": "WORKSPACE_CONSUME" - } - ] - } + "is_int64": true + } + }, + { + "name": "membership_source", + "description": "The source of group membership (internal or from identity provider).", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "GroupMembershipSource", + "enum": [ + { + "content": "IDENTITY_PROVIDER" + }, + { + "content": "INTERNAL" + } + ] } }, { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -134144,6 +134006,7 @@ }, { "name": "principal_type", + "description": "The type of the principal (user/service principal/group).", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -134160,21 +134023,12 @@ } ] } - }, - { - "name": "workspace_id", - "description": "The workspace ID where the principal is assigned", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being created.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -134183,7 +134037,7 @@ }, { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "description": "Internal ID of the principal in Databricks.", "required": true, "is_request_body_field": true, "entity": { @@ -134193,233 +134047,838 @@ ] }, { - "name": "DeleteWorkspaceAssignmentDetail", - "description": "Deletes a workspace assignment detail for a principal, revoking all of its entitlements.\nEntitlements are revoked one at a time rather than atomically. If the request fails partway\nthrough, the principal stays assigned with some of its original entitlements. Retrying is safe.", - "summary": "Delete a workspace assignment detail.", - "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details/{principal_id}", + "name": "CreateGroup", + "description": "Creates a local group in the Databricks account and returns the created group. A local group\nis one that is not synced from the customer's identity provider, and can be created whether or\nnot Account Identity Management (AIM) is enabled.\n\nWhen AIM is enabled, supplying an external ID returns an error. To provision the identity from\nyour identity provider, resolve it by its external ID with ResolveGroup; to read an existing\nexternal identity, use the ExternalGroup resource.", + "summary": "Create a group in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/groups", + "can_use_json": true, "is_hidden_cli": true, "has_required_positional_arguments": true, "launch_stage": "PRIVATE_PREVIEW", "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteWorkspaceAssignmentDetailRequest", + "pascal_name": "CreateGroupRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "The workspace ID where the principal has access.", + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "Group", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + }, + "response": { + "pascal_name": "Group", + "is_object": true + }, + "all_fields": [ + { + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + }, + { + "name": "account_id", + "description": "The parent account ID for group in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "external_id", + "description": "ExternalId of the group in the customer's IdP.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "group_id", + "description": "Internal group ID of the group in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "group_name", + "description": "Display name of the group.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "CreateServicePrincipal", + "description": "Creates a local service principal in the Databricks account and returns the created service\nprincipal. A local service principal is one that is not synced from the customer's identity\nprovider, and can be created whether or not Account Identity Management (AIM) is enabled.\n\nWhen AIM is enabled, supplying an external ID returns an error. To provision the identity from\nyour identity provider, resolve it by its external ID with ResolveServicePrincipal; to read an\nexisting external identity, use the ExternalServicePrincipal resource.", + "summary": "Create a service principal in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/service-principals", + "can_use_json": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "CreateServicePrincipalRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] + } + }, + "response": { + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } }, { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "workspace_id", - "description": "The workspace ID where the principal has access.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, - "response": { - "is_empty_response": true - }, "all_fields": [ { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } }, { - "name": "workspace_id", - "description": "The workspace ID where the principal has access.", + "name": "account_id", + "description": "The parent account ID for the service principal in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + }, + { + "name": "application_id", + "description": "Application ID of the service principal. Set at creation time and cannot be changed\nafterwards; when omitted, the server generates one.", + "is_computed": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "external_id", + "description": "ExternalId of the service principal in the customer's IdP.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal_id", + "description": "Internal service principal ID of the service principal in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "The workspace ID where the principal has access.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, { - "name": "GetWorkspaceAccessDetail", - "description": "Returns the access details for a principal in a workspace. Allows for checking access details for any\nprovisioned principal (user, service principal, or group) in a workspace.\n* Provisioned principal here refers to one that has been synced into Databricks from the customer's IdP or\nadded explicitly to Databricks via SCIM/UI.\nAllows for passing in a \"view\" parameter to control what fields are returned (BASIC by default or FULL).", - "summary": "Get workspace access details for a principal.", - "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-access-details/{principal_id}", + "name": "CreateUser", + "description": "Creates a local user in the Databricks account and returns the created user. A local user is\none that is not synced from the customer's identity provider, and can be created whether or not\nAccount Identity Management (AIM) is enabled.\n\nWhen AIM is enabled, supplying an external ID returns an error. To provision the identity from\nyour identity provider, resolve it by its external ID with ResolveUser; to read an existing\nexternal identity, use the ExternalUser resource.", + "summary": "Create a user in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/users", + "can_use_json": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWorkspaceAccessDetailRequest", + "pascal_name": "CreateUserRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "Required. The workspace ID for which the access details are being requested.", + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "User", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "User", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] + } + }, + "response": { + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } }, { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "name": "full_name", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "workspace_id", - "description": "Required. The workspace ID for which the access details are being requested.", + "name": "username", + "description": "Username/email of the user.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "name": "full_name", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, - "response": { - "pascal_name": "WorkspaceAccessDetail", - "is_object": true - }, "all_fields": [ { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } }, { - "name": "view", - "description": "Controls what fields are returned.", - "is_query": true, + "name": "account_id", + "description": "The accountId parent of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAccessDetailView", + "is_string": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", "enum": [ { - "content": "BASIC" + "content": "ACTIVE" }, { - "content": "FULL" + "content": "INACTIVE" } ] } }, { - "name": "workspace_id", - "description": "Required. The workspace ID for which the access details are being requested.", + "name": "external_id", + "description": "ExternalId of the user in the customer's IdP.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "user_id", + "description": "Internal userId of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "Required. The workspace ID for which the access details are being requested.", + "name": "username", + "description": "Username/email of the user.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "name": "full_name", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, { - "name": "GetWorkspaceAssignmentDetail", - "description": "Returns the assignment details for a principal in a workspace.", - "summary": "Get workspace assignment details for a principal.", - "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details/{principal_id}", + "name": "CreateWorkspaceAssignment", + "description": "Creates a workspace assignment for a principal. Entitlements are granted one at a time\nrather than atomically. If the request fails partway through, the principal stays assigned to\nthe workspace with only some of the requested entitlements. Get the assignment\nafterwards to confirm which entitlements were granted.", + "summary": "Create a workspace assignment.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments", + "can_use_json": true, "is_hidden_cli": true, "has_required_positional_arguments": true, "launch_stage": "PRIVATE_PREVIEW", "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWorkspaceAssignmentDetailRequest", + "pascal_name": "CreateWorkspaceAssignmentRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { "name": "workspace_id", - "description": "Required. The workspace ID for which the assignment details are being requested.", + "description": "Required. The workspace ID for which the workspace assignment is being created.", "required": true, "is_path": true, "entity": { @@ -134427,38 +134886,75 @@ } }, { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "WorkspaceAssignment", + "is_object": true } } ], "required_in_url_fields": [ { "name": "workspace_id", - "description": "Required. The workspace ID for which the assignment details are being requested.", + "description": "Required. The workspace ID for which the workspace assignment is being created.", "required": true, "is_path": true, "entity": { "is_int64": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "WorkspaceAssignment", + "is_object": true } } ] }, + "request_body_field": { + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + } + }, "response": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ @@ -134486,346 +134982,197 @@ }, "all_fields": [ { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "WorkspaceAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] } }, { "name": "workspace_id", - "description": "Required. The workspace ID for which the assignment details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_positional_arguments": [ - { - "name": "workspace_id", - "description": "Required. The workspace ID for which the assignment details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", + "description": "Required. The workspace ID for which the workspace assignment is being created.", "required": true, "is_path": true, "entity": { "is_int64": true } - } - ] - }, - { - "name": "ListWorkspaceAssignmentDetails", - "description": "Lists workspace assignment details for a workspace. The response omits the per-principal\nentitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for\na single principal, get that principal's assignment detail.", - "summary": "List workspace assignment details for a workspace.", - "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "ListWorkspaceAssignmentDetailsRequest", - "is_object": true, - "required_fields": [ - { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_in_url_fields": [ - { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - "response": { - "pascal_name": "ListWorkspaceAssignmentDetailsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_size", - "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", - "is_query": true, - "entity": { - "is_int": true - } }, { - "name": "page_token", - "description": "A page token, received from a previous ListWorkspaceAssignmentDetails call. Provide this to retrieve the subsequent page.", - "is_query": true, + "name": "account_id", + "description": "The account ID parent of the workspace where the principal is assigned", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", - "required": true, - "is_path": true, + "name": "effective_entitlements", + "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } - } - ], - "required_positional_arguments": [ + }, { - "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", - "required": true, - "is_path": true, + "name": "entitlements", + "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", + "is_request_body_field": true, "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "ResolveGroup", - "description": "Resolves a group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", - "summary": "Resolve an external group in the Databricks account.", - "path": "/api/2.0/identity/accounts/{account_id}/groups/resolve-by-external-id", - "can_use_json": 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": "ResolveGroupRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] } } - ] - }, - "response": { - "pascal_name": "ResolveGroupResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, + "name": "principal_type", + "description": "The type of the principal (user/service principal/group) that is assigned.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "ResolveServicePrincipal", - "description": "Resolves a service principal with the given external ID from the customer's IdP. If the service\nprincipal does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", - "summary": "Resolve an external service principal in the Databricks account.", - "path": "/api/2.0/identity/accounts/{account_id}/service-principals/resolve-by-external-id", - "can_use_json": 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": "ResolveServicePrincipalRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "pascal_name": "PrincipalType", + "enum": [ + { + "content": "GROUP" + }, + { + "content": "SERVICE_PRINCIPAL" + }, + { + "content": "USER" + } + ] } - ] - }, - "response": { - "pascal_name": "ResolveServicePrincipalResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, + "name": "workspace_id", + "description": "The workspace ID where the principal is assigned.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "ResolveUser", - "description": "Resolves a user with the given external ID from the customer's IdP. If the user does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", - "summary": "Resolve an external user in the Databricks account.", - "path": "/api/2.0/identity/accounts/{account_id}/users/resolve-by-external-id", - "can_use_json": 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": "ResolveUserRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "ResolveUserResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment is being created.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "UpdateWorkspaceAssignmentDetail", - "description": "Updates the entitlements of a directly assigned principal in a workspace. Changes are applied\none at a time rather than atomically. If the request fails partway through, only some of the\nrequested changes take effect. Get the assignment detail afterwards to confirm the final state.", - "summary": "Update a workspace assignment detail.", - "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details/{principal_id}", + "name": "CreateWorkspaceAssignmentDetail", + "description": "Creates a workspace assignment detail for a principal. Entitlements are granted one at a time\nrather than atomically. If the request fails partway through, the principal stays assigned to\nthe workspace with only some of the requested entitlements. Get the assignment detail\nafterwards to confirm which entitlements were granted.", + "summary": "Create a workspace assignment detail.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details", "can_use_json": true, "is_hidden_cli": true, "has_required_positional_arguments": true, "launch_stage": "PRIVATE_PREVIEW", "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateWorkspaceAssignmentDetailRequest", + "pascal_name": "CreateWorkspaceAssignmentDetailRequest", "is_object": true, - "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks.", + "description": "Required. The workspace ID for which the workspace assignment detail is being created.", "required": true, "is_path": true, "entity": { @@ -134834,57 +135181,30 @@ }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { "pascal_name": "WorkspaceAssignmentDetail", "is_object": true } - }, - { - "name": "update_mask", - "description": "Required. The list of fields to update.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks.", + "description": "Required. The workspace ID for which the workspace assignment detail is being created.", "required": true, "is_path": true, "entity": { "is_int64": true } - }, - { - "name": "update_mask", - "description": "Required. The list of fields to update.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "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 created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { @@ -134896,7 +135216,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 created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { @@ -134955,27 +135275,9 @@ ] }, "all_fields": [ - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "update_mask", - "description": "Required. The list of fields to update.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { @@ -135008,7 +135310,7 @@ }, { "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", + "description": "Required. The workspace ID for which the workspace assignment detail is being created.", "required": true, "is_path": true, "entity": { @@ -135117,7 +135419,7 @@ }, { "name": "workspace_id", - "description": "The workspace ID where the principal is assigned", + "description": "The workspace ID where the principal is assigned.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -135128,31 +135430,13 @@ "required_positional_arguments": [ { "name": "workspace_id", - "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks.", + "description": "Required. The workspace ID for which the workspace assignment detail is being created.", "required": true, "is_path": true, "entity": { "is_int64": true } }, - { - "name": "update_mask", - "description": "Required. The list of fields to update.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, { "name": "principal_id", "description": "The internal ID of the principal (user/sp/group) in Databricks.", @@ -135163,290 +135447,133 @@ } } ] - } - ] - }, - { - "id": "compute.InstancePools", - "name": "InstancePools", - "description": "Instance Pools API are used to create, edit, delete and list instance pools by using\nready-to-use cloud instances which reduces a cluster start and auto-scaling times.\n\nDatabricks pools reduce cluster start and auto-scaling times by maintaining a set of idle,\nready-to-use instances. When a cluster is attached to a pool, cluster nodes are created using\nthe pool’s idle instances. If the pool has no idle instances, the pool expands by allocating\na new instance from the instance provider in order to accommodate the cluster’s request.\nWhen a cluster releases an instance, it returns to the pool and is free for another cluster\nto use. Only clusters attached to a pool can use that pool’s idle instances.\n\nYou can specify a different pool for the driver node and worker nodes, or use the same pool\nfor both.\n\nDatabricks does not charge DBUs while instances are idle in the pool. Instance provider\nbilling does apply. See pricing.", - "package": { - "name": "compute" - }, - "docs_group": "compute", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "InstancePoolAndStatsInstancePoolNameToInstancePoolIdMap" }, - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListInstancePoolsRequest" - } - }, - "methods": [ { - "name": "Create", - "description": "Creates a new instance pool using idle and ready-to-use cloud instances.", - "summary": "Create a new instance pool.", - "path": "/api/2.0/instance-pools/create", - "can_use_json": true, - "is_crud_create": true, + "name": "DeleteDirectGroupMember", + "description": "Deletes a group membership (unassigns a principal from a group).", + "summary": "Delete a direct group membership.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}/direct-members/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "CreateInstancePool", + "pascal_name": "DeleteDirectGroupMemberRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "CreateInstancePoolResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "aws_attributes", - "description": "Attributes related to instance pools running on Amazon Web Services.\nIf not specified at pool creation, a set of default values will be used.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "InstancePoolAwsAttributes", - "is_object": true - } - }, - { - "name": "azure_attributes", - "description": "Attributes related to instance pools running on Azure.\nIf not specified at pool creation, a set of default values will be used.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "InstancePoolAzureAttributes", - "is_object": true - } - }, - { - "name": "custom_tags", - "description": "Additional tags for pool resources. Databricks will tag all pool resources (e.g., AWS\ninstances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n\n- Currently, Databricks allows at most 45 custom tags", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "disk_spec", - "description": "Defines the specification of the disks that will be attached to all spark containers.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DiskSpec", - "is_object": true - } - }, - { - "name": "enable_elastic_disk", - "description": "Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\nadditional disk space when its Spark workers are running low on disk space. In AWS, this\nfeature requires specific AWS permissions to function correctly - refer to the User Guide for\nmore details.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "gcp_attributes", - "description": "Attributes related to instance pools running on Google Cloud Platform.\nIf not specified at pool creation, a set of default values will be used.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "InstancePoolGcpAttributes", - "is_object": true - } - }, - { - "name": "idle_instance_autotermination_minutes", - "description": "Automatically terminates the extra instances in the pool cache after they are inactive for this\ntime in minutes if min_idle_instances requirement is already met. If not set, the extra pool\ninstances will be automatically terminated after a default timeout. If specified, the\nthreshold must be between 0 and 10000 minutes.\nUsers can also set this value to 0 to instantly remove idle instances from the cache if\nmin cache size could still hold.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "max_capacity", - "description": "Maximum number of outstanding instances to keep in the pool, including both instances used by\nclusters and idle instances. Clusters that require further instance provisioning will fail during\nupsize requests.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "min_idle_instances", - "description": "Minimum number of idle instances to keep in the instance pool", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "node_type_flexibility", - "description": "Flexible node type configuration for the pool.", - "is_request_body_field": true, - "is_optional_object": true, + "is_path": true, "entity": { - "pascal_name": "NodeTypeFlexibility", - "is_object": true + "is_int64": true } }, { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "preloaded_docker_images", - "description": "Custom Docker Image BYOC", - "is_request_body_field": true, - "entity": { - "pascal_name": "DockerImageList", - "array_value": { - "pascal_name": "DockerImage", - "is_object": true - } - } - }, - { - "name": "preloaded_spark_versions", - "description": "A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\nwith the preloaded Spark version will start faster. A list of available Spark versions\ncan be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "remote_disk_throughput", - "description": "If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "total_initial_remote_disk_size", - "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types.", - "is_request_body_field": true, + "is_path": true, "entity": { - "is_int": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "Delete", - "description": "Deletes the instance pool permanently. The idle instances in the pool are terminated asynchronously.", - "summary": "Delete an instance pool.", - "path": "/api/2.0/instance-pools/delete", - "can_use_json": true, + "name": "DeleteGroup", + "description": "Deletes a group from the Databricks account by its internal ID.", + "summary": "Delete a group in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteInstancePool", + "pascal_name": "DeleteGroupRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool to be terminated.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool to be terminated.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -135454,16 +135581,14 @@ ] }, "response": { - "pascal_name": "DeleteInstancePoolResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool to be terminated.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -135471,10 +135596,10 @@ ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "The instance pool to be terminated.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -135482,71 +135607,34 @@ ] }, { - "name": "Edit", - "description": "Modifies the configuration of an existing instance pool.", - "summary": "Edit an existing instance pool.", - "path": "/api/2.0/instance-pools/edit", - "can_use_json": true, + "name": "DeleteServicePrincipal", + "description": "Deletes a service principal from the Databricks account by its internal ID.", + "summary": "Delete a service principal in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/service-principals/{service_principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "EditInstancePool", + "pascal_name": "DeleteServicePrincipalRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "Instance pool ID", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "instance_pool_id", - "description": "Instance pool ID", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -135554,113 +135642,25 @@ ] }, "response": { - "pascal_name": "EditInstancePoolResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "custom_tags", - "description": "Additional tags for pool resources. Databricks will tag all pool resources (e.g., AWS\ninstances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n\n- Currently, Databricks allows at most 45 custom tags", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "idle_instance_autotermination_minutes", - "description": "Automatically terminates the extra instances in the pool cache after they are inactive for this\ntime in minutes if min_idle_instances requirement is already met. If not set, the extra pool\ninstances will be automatically terminated after a default timeout. If specified, the\nthreshold must be between 0 and 10000 minutes.\nUsers can also set this value to 0 to instantly remove idle instances from the cache if\nmin cache size could still hold.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "instance_pool_id", - "description": "Instance pool ID", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "max_capacity", - "description": "Maximum number of outstanding instances to keep in the pool, including both instances used by\nclusters and idle instances. Clusters that require further instance provisioning will fail during\nupsize requests.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "min_idle_instances", - "description": "Minimum number of idle instances to keep in the instance pool", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "remote_disk_throughput", - "description": "If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "total_initial_remote_disk_size", - "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types.", - "is_request_body_field": true, - "entity": { - "is_int": true - } } ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "Instance pool ID", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instance_pool_name", - "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "node_type_id", - "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -135668,23 +135668,23 @@ ] }, { - "name": "Get", - "description": "Retrieve the information for an instance pool based on its identifier.", - "summary": "Get instance pool information.", - "path": "/api/2.0/instance-pools/get", - "is_crud_read": true, + "name": "DeleteUser", + "description": "Deletes a user from the Databricks account by its internal ID.", + "summary": "Delete a user in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/users/{user_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetInstancePoolRequest", + "pascal_name": "DeleteUserRequest", "is_object": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "The canonical unique identifier for the instance pool.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -135692,10 +135692,10 @@ ], "required_in_url_fields": [ { - "name": "instance_pool_id", - "description": "The canonical unique identifier for the instance pool.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -135703,38 +135703,14 @@ ] }, "response": { - "pascal_name": "GetInstancePool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "instance_pool_id", - "description": "Canonical unique identifier for the pool.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "instance_pool_id", - "description": "Canonical unique identifier for the pool.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "instance_pool_id", - "description": "The canonical unique identifier for the instance pool.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -135742,10 +135718,10 @@ ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "The canonical unique identifier for the instance pool.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -135753,234 +135729,336 @@ ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get instance pool permission levels.", - "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}/permissionLevels", + "name": "DeleteWorkspaceAssignment", + "description": "Deletes a workspace assignment for a principal, revoking all of its entitlements.\nEntitlements are revoked one at a time rather than atomically. If the request fails partway\nthrough, the principal stays assigned with some of its original entitlements. Retrying is safe.", + "summary": "Delete a workspace assignment.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetInstancePoolPermissionLevelsRequest", + "pascal_name": "DeleteWorkspaceAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "pascal_name": "GetInstancePoolPermissionLevelsResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, { - "name": "GetPermissions", - "description": "Gets the permissions of an instance pool. Instance pools can inherit permissions from their root object.", - "summary": "Get instance pool permissions.", - "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}", + "name": "DeleteWorkspaceAssignmentDetail", + "description": "Deletes a workspace assignment detail for a principal, revoking all of its entitlements.\nEntitlements are revoked one at a time rather than atomically. If the request fails partway\nthrough, the principal stays assigned with some of its original entitlements. Retrying is safe.", + "summary": "Delete a workspace assignment detail.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetInstancePoolPermissionsRequest", + "pascal_name": "DeleteWorkspaceAssignmentDetailRequest", "is_object": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "pascal_name": "InstancePoolPermissions", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "workspace_id", + "description": "The workspace ID where the principal has access.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, { - "name": "List", - "description": "Gets a list of instance pools with their statistics.", - "summary": "List instance pool info.", - "path": "/api/2.0/instance-pools/list", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListInstancePoolsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListInstancePools", - "is_object": true - }, - "pagination": {} - }, - { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set instance pool permissions.", - "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}", - "can_use_json": true, + "name": "GetDirectGroupMember", + "description": "Gets a provisioned direct member of a group.", + "summary": "Get a direct group member.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}/direct-members/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "InstancePoolPermissionsRequest", + "pascal_name": "GetDirectGroupMemberRequest", "is_object": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "pascal_name": "InstancePoolPermissions", - "is_object": true + "pascal_name": "DirectGroupMember", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "InstancePoolAccessControlRequestList", - "array_value": { - "pascal_name": "InstancePoolAccessControlRequest", - "is_object": true - } + "is_int64": true } }, { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on an instance pool. Instance pools can inherit permissions from their root object.", - "summary": "Update instance pool permissions.", - "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}", - "can_use_json": true, + "name": "GetGroup", + "description": "Fetches a group from the Databricks account by its internal ID.", + "summary": "Get a group in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "InstancePoolPermissionsRequest", + "pascal_name": "GetGroupRequest", "is_object": true, "required_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -135990,8 +136068,8 @@ ], "required_in_url_fields": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -136001,24 +136079,13 @@ ] }, "response": { - "pascal_name": "InstancePoolPermissions", + "pascal_name": "Group", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "InstancePoolAccessControlRequestList", - "array_value": { - "pascal_name": "InstancePoolAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -136028,8 +136095,8 @@ ], "required_positional_arguments": [ { - "name": "instance_pool_id", - "description": "The instance pool for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -136037,57 +136104,36 @@ } } ] - } - ] - }, - { - "id": "compute.InstanceProfiles", - "name": "InstanceProfiles", - "description": "The Instance Profiles API allows admins to add, list, and remove instance profiles that users can launch\nclusters with. Regular users can list the instance profiles available to them.\nSee [Secure access to S3 buckets](https://docs.databricks.com/administration-guide/cloud-configurations/aws/instance-profiles.html) using\ninstance profiles for more information.", - "package": { - "name": "compute" - }, - "docs_group": "compute", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListInstanceProfilesRequest" - } - }, - "methods": [ + }, { - "name": "Add", - "description": "Registers an instance profile in Databricks. In the UI, you can then give users the permission\nto use this instance profile when launching clusters.\n\nThis API is only available to admin users.", - "summary": "Register an instance profile.", - "path": "/api/2.0/instance-profiles/add", - "can_use_json": true, - "is_crud_create": true, + "name": "GetServicePrincipal", + "description": "Fetches a service principal from the Databricks account by its internal ID.", + "summary": "Get a service principal in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/service-principals/{service_principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "AddInstanceProfile", + "pascal_name": "GetServicePrincipalRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -136095,131 +136141,83 @@ ] }, "response": { - "pascal_name": "AddResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "iam_role_arn", - "description": "The AWS IAM role ARN of the role associated with the instance profile.\nThis field is required if your role name and instance profile name do\nnot match and you want to use the instance profile with\n[Databricks SQL Serverless](https://docs.databricks.com/sql/admin/serverless.html).\n\nOtherwise, this field is optional.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "is_meta_instance_profile", - "description": "Boolean flag indicating whether the instance profile should only be used in credential\npassthrough scenarios. If true, it means the instance profile contains an meta IAM role\nwhich could assume a wide range of roles. Therefore it should always be used with\nauthorization.\nThis field is optional, the default value is `false`.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "skip_validation", - "description": "By default, Databricks validates that it has sufficient permissions to launch\ninstances with the instance profile. This validation uses AWS dry-run mode for\nthe RunInstances API. If validation fails with an error message that does not\nindicate an IAM related permission issue,\n(e.g. “Your requested instance type is not supported in your requested availability zone”),\nyou can pass this flag to skip the validation and forcibly add the instance profile.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - } - ], - "required_positional_arguments": [ - { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Edit", - "description": "The only supported field to change is the optional IAM role ARN associated with\nthe instance profile. It is required to specify the IAM role ARN if both of\nthe following are true:\n\n* Your role name and instance profile name do not match. The name is the part\nafter the last slash in each ARN.\n* You want to use the instance profile with [Databricks SQL Serverless](https://docs.databricks.com/sql/admin/serverless.html).\n\nTo understand where these fields are in the AWS console, see\n[Enable serverless SQL warehouses](https://docs.databricks.com/sql/admin/serverless.html).\n\nThis API is only available to admin users.", - "summary": "Edit an instance profile.", - "path": "/api/2.0/instance-profiles/edit", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "InstanceProfile", + "pascal_name": "ServicePrincipal", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ], "required_request_body_fields": [ { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ] }, - "response": { - "pascal_name": "EditResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "iam_role_arn", - "description": "The AWS IAM role ARN of the role associated with the instance profile.\nThis field is required if your role name and instance profile name do\nnot match and you want to use the instance profile with\n[Databricks SQL Serverless](https://docs.databricks.com/sql/admin/serverless.html).\n\nOtherwise, this field is optional.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "is_meta_instance_profile", - "description": "Boolean flag indicating whether the instance profile should only be used in credential\npassthrough scenarios. If true, it means the instance profile contains an meta IAM role\nwhich could assume a wide range of roles. Therefore it should always be used with\nauthorization.\nThis field is optional, the default value is `false`.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ], "required_positional_arguments": [ { - "name": "instance_profile_arn", - "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -136227,53 +136225,34 @@ ] }, { - "name": "List", - "description": "List the instance profiles that the calling user can use to launch a cluster.\n\nThis API is available to all users.", - "summary": "List available instance profiles.", - "path": "/api/2.0/instance-profiles/list", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListInstanceProfilesRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListInstanceProfilesResponse", - "is_object": true - }, - "pagination": {} - }, - { - "name": "Remove", - "description": "Remove the instance profile with the provided ARN.\nExisting clusters with this instance profile will continue to function.\n\nThis API is only accessible to admin users.", - "summary": "Remove the instance profile.", - "path": "/api/2.0/instance-profiles/remove", - "can_use_json": true, + "name": "GetUser", + "description": "Fetches a user from the Databricks account by its internal ID.", + "summary": "Get a user in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/users/{user_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "RemoveInstanceProfile", + "pascal_name": "GetUserRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "instance_profile_arn", - "description": "The ARN of the instance profile to remove. This field is required.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "instance_profile_arn", - "description": "The ARN of the instance profile to remove. This field is required.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -136281,73 +136260,13 @@ ] }, "response": { - "pascal_name": "RemoveResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "instance_profile_arn", - "description": "The ARN of the instance profile to remove. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "instance_profile_arn", - "description": "The ARN of the instance profile to remove. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "settings.IpAccessLists", - "name": "IpAccessLists", - "description": "IP Access List enables admins to configure IP access lists.\n\nIP access lists affect web application access and REST API access to this workspace only.\nIf the feature is disabled for a workspace, all access is allowed for this workspace.\nThere is support for allow lists (inclusion) and block lists (exclusion).\n\nWhen a connection is attempted:\n1. **First, all block lists are checked.** If the connection IP address matches any block list, the connection is rejected.\n2. **If the connection was not rejected by block lists**, the IP address is compared with the allow lists.\n\nIf there is at least one allow list for the workspace, the connection is allowed only if the IP address matches an allow list.\nIf there are no allow lists for the workspace, all IP addresses are allowed.\n\nFor all allow lists and block lists combined, the workspace supports a maximum of 1000 IP/CIDR values, where one CIDR counts as a single value.\n\nAfter changes to the IP access list feature, it can take a few minutes for changes to take effect.", - "package": { - "name": "settings" - }, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "IpAccessListInfoLabelToListIdMap" - }, - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListIpAccessLists" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates an IP access list for this workspace.\n\nA list can be an allow list or a block list.\nSee the top of this file for a description of how the server treats allow lists and block lists at runtime.\n\nWhen creating or updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the new list would block the calling user's current IP, error 400 is returned with `error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect. **Note**: Your new IP access list has no effect until you enable the feature. See [workspaceconf/setStatus](https://docs.databricks.com/api/workspace/workspaceconf/setstatus)", - "summary": "Create access list.", - "path": "/api/2.0/ip-access-lists", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateIpAccessList", + "pascal_name": "User", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -136355,17 +136274,27 @@ } }, { - "name": "list_type", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ListType", + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", "enum": [ { - "content": "ALLOW" + "content": "ACTIVE" }, { - "content": "BLOCK" + "content": "INACTIVE" } ] } @@ -136373,8 +136302,8 @@ ], "required_request_body_fields": [ { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -136382,1084 +136311,961 @@ } }, { - "name": "list_type", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ListType", + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", "enum": [ { - "content": "ALLOW" + "content": "ACTIVE" }, { - "content": "BLOCK" + "content": "INACTIVE" } ] } } ] }, - "response": { - "pascal_name": "CreateIpAccessListResponse", - "is_object": true - }, "all_fields": [ { - "name": "ip_addresses", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } } ], "required_positional_arguments": [ { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } } ] }, { - "name": "Delete", - "description": "Deletes an IP access list, specified by its list ID.", - "summary": "Delete access list.", - "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", + "name": "GetWorkspaceAccessDetail", + "description": "Returns the access details for a principal in a workspace. Allows for checking access details for any\nprovisioned principal (user, service principal, or group) in a workspace.\n* Provisioned principal here refers to one that has been synced into Databricks from the customer's IdP or\nadded explicitly to Databricks via SCIM/UI.\nAllows for passing in a \"view\" parameter to control what fields are returned (BASIC by default or FULL).", + "summary": "Get workspace access details for a principal.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-access-details/{principal_id}", "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": "DeleteIpAccessListRequest", + "pascal_name": "GetWorkspaceAccessDetailRequest", "is_object": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "is_empty_response": true + "pascal_name": "WorkspaceAccessDetail", + "is_object": true }, "all_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "view", + "description": "Controls what fields are returned.", + "is_query": true, + "entity": { + "pascal_name": "WorkspaceAccessDetailView", + "enum": [ + { + "content": "BASIC" + }, + { + "content": "FULL" + } + ] + } + }, + { + "name": "workspace_id", + "description": "Required. The workspace ID for which the access details are being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, { - "name": "Get", - "description": "Gets an IP access list, specified by its list ID.", - "summary": "Get access list.", - "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", - "is_crud_read": true, + "name": "GetWorkspaceAssignment", + "description": "Returns the assignment for a principal in a workspace.", + "summary": "Get a workspace assignment for a principal.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetIpAccessListRequest", + "pascal_name": "GetWorkspaceAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment is being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment is being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "pascal_name": "FetchIpAccessListResponse", - "is_object": true + "pascal_name": "WorkspaceAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, "all_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment is being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment is being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, { - "name": "List", - "description": "Gets all IP access lists for the specified workspace.", - "summary": "Get access lists.", - "path": "/api/2.0/ip-access-lists", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListIpAccessLists", - "is_object": true - }, - "response": { - "pascal_name": "ListIpAccessListResponse", - "is_object": true - }, - "pagination": {} - }, - { - "name": "Replace", - "description": "Replaces an IP access list, specified by its ID.\n\nA list can include allow lists and block lists. See the top\nof this file for a description of how the server treats allow lists and block lists at run time. When\nreplacing an IP access list:\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code`\nvalue `QUOTA_EXCEEDED`.\n* If the resulting list would block the calling user's current IP, error 400 is returned with `error_code`\nvalue `INVALID_STATE`.\nIt can take a few minutes for the changes to take effect. Note that your resulting IP access list has no\neffect until you enable the feature. See [workspaceconf/setStatus](https://docs.databricks.com/api/workspace/workspaceconf/setstatus).", - "summary": "Replace access list.", - "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", - "can_use_json": true, + "name": "GetWorkspaceAssignmentDetail", + "description": "Returns the assignment details for a principal in a workspace.", + "summary": "Get workspace assignment details for a principal.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "ReplaceIpAccessList", + "pascal_name": "GetWorkspaceAssignmentDetailRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int64": true } }, { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_bool": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ] + }, + "response": { + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "list_type", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int64": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_int64": true } } ] }, - "response": { - "is_empty_response": true - }, "all_fields": [ { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true - } - }, - { - "name": "ip_addresses", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "is_int64": true } }, { - "name": "list_type", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment details are being requested.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int64": true } }, { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_bool": true + "is_int64": true } } ] }, { - "name": "Update", - "description": "Updates an existing IP access list, specified by its ID.\n\nA list can include allow lists and block lists.\nSee the top of this file for a description of how the server treats allow lists and block lists at run time.\n\nWhen updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the updated list would block the calling user's current IP, error 400 is returned with `error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect. Note that your resulting IP access list has no effect until you enable\nthe feature. See [workspaceconf/setStatus](https://docs.databricks.com/api/workspace/workspaceconf/setstatus).", - "summary": "Update access list.", - "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", - "can_use_json": true, + "name": "ListDirectGroupMembers", + "description": "Lists provisioned direct members of a group with their membership source (internal or from identity provider).", + "summary": "List direct group members.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}/direct-members", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateIpAccessList", + "pascal_name": "ListDirectGroupMembersRequest", "is_object": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "is_empty_response": true + "pascal_name": "ListDirectGroupMembersResponse", + "is_object": true }, "all_fields": [ { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "ip_addresses", - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "is_query": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int": true } }, { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "is_request_body_field": true, + "name": "page_token", + "description": "A page token, received from a previous ListDirectGroupMembers call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "list_type", - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } - ] - } - ] - }, - { - "id": "settings.AccountIpAccessLists", - "name": "AccountIpAccessLists", - "description": "The Accounts IP Access List API enables account admins to configure IP access lists for\naccess to the account console.\n\nAccount IP Access Lists affect web application access and REST API access to the account\nconsole and account APIs. If the feature is disabled for the account, all access is allowed\nfor this account. There is support for allow lists (inclusion) and block lists (exclusion).\n\nWhen a connection is attempted:\n1. **First, all block lists are checked.** If the connection IP address matches any block\nlist, the connection is rejected.\n2. **If the connection was not rejected by block lists**, the IP address is compared with\nthe allow lists.\n\nIf there is at least one allow list for the account, the connection is allowed only if the\nIP address matches an allow list. If there are no allow lists for the account, all IP\naddresses are allowed.\n\nFor all allow lists and block lists combined, the account supports a maximum of 1000 IP/CIDR\nvalues, where one CIDR counts as a single value.\n\nAfter changes to the account-level IP access lists, it can take a few minutes for changes\nto take effect.", - "package": { - "name": "settings" - }, - "is_accounts": true, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "IpAccessListInfoLabelToListIdMap" - }, - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListIpAccessLists" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates an IP access list for the account.\n\nA list can be an allow list or a block list. See the top of this file for a description of\nhow the server treats allow lists and block lists at runtime.\n\nWhen creating or updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000\nIP/CIDR values, where one CIDR counts as a single value. Attempts to exceed that number\nreturn error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the new list would block the calling user's current IP, error 400 is returned with\n`error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect.", - "summary": "Create access list.", - "path": "/api/2.0/accounts/{account_id}/ip-access-lists", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateIpAccessList", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListDirectGroupMembers call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } } - ] + } + } + }, + { + "name": "ListGroups", + "description": "Lists the groups in the Databricks account, returning one page per call. Supports filtering by\ngroup name or external ID.", + "summary": "List groups in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/groups", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListGroupsRequest", + "is_object": true }, "response": { - "pascal_name": "CreateIpAccessListResponse", + "pascal_name": "ListGroupsResponse", "is_object": true }, "all_fields": [ { - "name": "ip_addresses", - "is_request_body_field": true, + "name": "filter", + "description": "Optional. Allows filtering groups by group name or external id.", + "is_query": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of groups to return. The service may return fewer than this value.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "list_type", - "required": true, - "is_request_body_field": true, + "name": "page_token", + "description": "A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_string": true } } ], - "required_positional_arguments": [ + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListServicePrincipals", + "description": "Lists the service principals in the Databricks account, returning one page per call. Supports\nfiltering by application ID or external ID.", + "summary": "List service principals in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/service-principals", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListServicePrincipalsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListServicePrincipalsResponse", + "is_object": true + }, + "all_fields": [ { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, + "name": "filter", + "description": "Optional. Allows filtering service principals by application id or external id.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "list_type", - "required": true, - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of service principals to return. The service may return fewer than this value.", + "is_query": true, "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "Delete", - "description": "Deletes an IP access list, specified by its list ID.", - "summary": "Delete access list.", - "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", + "name": "ListTransitiveParentGroups", + "description": "Lists all transitive parent groups of a principal.", + "summary": "List all transitive parent groups of a principal.", + "path": "/api/2.0/identity/accounts/{account_id}/principals/{principal_id}/transitive-parent-groups", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteAccountIpAccessListRequest", + "pascal_name": "ListTransitiveParentGroupsRequest", "is_object": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "is_empty_response": true + "pascal_name": "ListTransitiveParentGroupsResponse", + "is_object": true }, "all_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "page_size", + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListTransitiveParentGroups call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "Get", - "description": "Gets an IP access list, specified by its list ID.", - "summary": "Get IP access list.", - "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", - "is_crud_read": true, + "name": "ListUsers", + "description": "Lists the users in the Databricks account, returning one page per call. Supports filtering by\nusername or external ID.", + "summary": "List users in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/users", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetAccountIpAccessListRequest", + "pascal_name": "ListUsersRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListUsersResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "filter", + "description": "Optional. Allows filtering users by username or external id.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "page_size", + "description": "The maximum number of users to return. The service may return fewer than this value.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListWorkspaceAssignmentDetails", + "description": "Lists workspace assignment details for a workspace. The response omits the per-principal\nentitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for\na single principal, get that principal's assignment detail.", + "summary": "List workspace assignment details for a workspace.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListWorkspaceAssignmentDetailsRequest", "is_object": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "GetIpAccessListResponse", + "pascal_name": "ListWorkspaceAssignmentDetailsResponse", "is_object": true }, "all_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "page_size", + "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListWorkspaceAssignmentDetails call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment details are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } - ] - }, - { - "name": "List", - "description": "Gets all IP access lists for the specified account.", - "summary": "Get access lists.", - "path": "/api/2.0/accounts/{account_id}/ip-access-lists", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListIpAccessLists", - "is_object": true - }, - "response": { - "pascal_name": "GetIpAccessListsResponse", - "is_object": true - }, - "pagination": {} + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListWorkspaceAssignmentDetails call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "Replace", - "description": "Replaces an IP access list, specified by its ID.\n\nA list can include allow lists and block lists. See the top of this file for a description\nof how the server treats allow lists and block lists at run time. When replacing an IP\naccess list:\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code`\nvalue `QUOTA_EXCEEDED`.\n* If the resulting list would block the calling user's current IP, error 400 is returned with `error_code`\nvalue `INVALID_STATE`.\nIt can take a few minutes for the changes to take effect.", - "summary": "Replace access list.", - "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", - "can_use_json": true, + "name": "ListWorkspaceAssignments", + "description": "Lists workspace assignments for a workspace. The response omits the per-principal\nentitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for\na single principal, get that principal's assignment.", + "summary": "List workspace assignments for a workspace.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "ReplaceIpAccessList", + "pascal_name": "ListWorkspaceAssignmentsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignments are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } - }, - { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignments are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } - }, - { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true + "is_int64": true } } ] }, "response": { - "is_empty_response": true + "pascal_name": "ListWorkspaceAssignmentsResponse", + "is_object": true }, "all_fields": [ { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "ip_addresses", - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.", + "is_query": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int": true } }, { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, + "name": "page_token", + "description": "A page token, received from a previous ListWorkspaceAssignments call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "list_type", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignments are being fetched.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignments are being fetched.", "required": true, "is_path": true, "entity": { - "is_string": true - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "list_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] + "is_int64": true } - }, - { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListWorkspaceAssignments call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } } } - ] + } }, { - "name": "Update", - "description": "Updates an existing IP access list, specified by its ID.\n\nA list can include allow lists and block lists. See the top of this file for a description\nof how the server treats allow lists and block lists at run time.\n\nWhen updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000\nIP/CIDR values, where one CIDR counts as a single value. Attempts to exceed that number\nreturn error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the updated list would block the calling user's current IP, error 400 is returned\nwith `error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect.", - "summary": "Update access list.", - "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", + "name": "ResolveGroup", + "description": "Resolves a group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Resolve an external group in the Databricks account.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/resolve-by-external-id", "can_use_json": 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": "UpdateIpAccessList", + "pascal_name": "ResolveGroupRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -137467,808 +137273,1140 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "ResolveGroupResponse", + "is_object": true }, "all_fields": [ { - "name": "enabled", - "description": "Specifies whether this IP access list is enabled.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "ip_addresses", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "label", - "description": "Label for the IP access list. This **cannot** be empty.", "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "list_type", - "is_request_body_field": true, - "entity": { - "pascal_name": "ListType", - "enum": [ - { - "content": "ALLOW" - }, - { - "content": "BLOCK" - } - ] - } } ], "required_positional_arguments": [ { - "name": "ip_access_list_id", - "description": "The ID for the corresponding IP access list", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "jobs.Jobs", - "name": "Jobs", - "description": "The Jobs API allows you to create, edit, and delete jobs.\n\nYou can use a Databricks job to run a data processing or data analysis task in a Databricks\ncluster with scalable resources. Your job can consist of a single task or can be a large,\nmulti-task workflow with complex dependencies. Databricks manages the task orchestration,\ncluster management, monitoring, and error reporting for all of your jobs. You can run your jobs\nimmediately or periodically through an easy-to-use scheduling system. You can implement\njob tasks using notebooks, JARS, Spark Declarative Pipelines, or Python, Scala, Spark\nsubmit, and Java applications.\n\nYou should never hard code secrets or store them in plain text. Use the [Secrets CLI](https://docs.databricks.com/dev-tools/cli/secrets-cli.html)\nto manage secrets in the [Databricks CLI](https://docs.databricks.com/dev-tools/cli/index.html).\nUse the [Secrets utility](https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-secrets) to reference secrets in notebooks and jobs.", - "package": { - "name": "jobs" - }, - "docs_group": "lakeflow", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "BaseJobSettingsNameToJobIdMap" }, - "request": { - "pascal_name": "ListJobsRequest" - } - }, - "methods": [ { - "name": "CancelAllRuns", - "description": "Cancels all active runs of a job. The runs are canceled asynchronously, so it doesn't\nprevent new runs from being started.", - "summary": "Cancel all runs of a job.", - "path": "/api/2.2/jobs/runs/cancel-all", + "name": "ResolveServicePrincipal", + "description": "Resolves a service principal with the given external ID from the customer's IdP. If the service\nprincipal does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Resolve an external service principal in the Databricks account.", + "path": "/api/2.0/identity/accounts/{account_id}/service-principals/resolve-by-external-id", "can_use_json": 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": "CancelAllRuns", - "is_object": true + "pascal_name": "ResolveServicePrincipalRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "is_empty_response": true + "pascal_name": "ResolveServicePrincipalResponse", + "is_object": true }, "all_fields": [ { - "name": "all_queued_runs", - "description": "Optional boolean parameter to cancel all queued runs. If no job_id is provided, all queued runs in the workspace are canceled.", + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", + "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "job_id", - "description": "The canonical identifier of the job to cancel all runs of.", + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ] }, { - "name": "CancelRun", - "description": "Cancels a job run or a task run. The run is canceled asynchronously, so it may still be running when\nthis request completes.", - "summary": "Cancel a run.", - "path": "/api/2.2/jobs/runs/cancel", + "name": "ResolveUser", + "description": "Resolves a user with the given external ID from the customer's IdP. If the user does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Resolve an external user in the Databricks account.", + "path": "/api/2.0/identity/accounts/{account_id}/users/resolve-by-external-id", "can_use_json": 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": "CancelRun", + "pascal_name": "ResolveUserRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "run_id", - "description": "This field is required.", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "run_id", - "description": "This field is required.", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ] }, "response": { - "is_empty_response": true + "pascal_name": "ResolveUserResponse", + "is_object": true }, "all_fields": [ { - "name": "run_id", - "description": "This field is required.", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "run_id", - "description": "This field is required.", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } - ], - "wait": { - "success": [ + ] + }, + { + "name": "UpdateGroup", + "description": "Updates an existing group in the Databricks account. Only the fields named in the update mask\nare modified. Returns the updated Group resource.\n\nWhen AIM is enabled and the group is an external identity (its external_id is set), only\nexternal_id can be updated; its other fields are sourced from your identity provider.", + "summary": "Update a group in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/groups/{group_id}", + "can_use_json": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "UpdateGroupRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "content": "TERMINATED" + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } }, { - "content": "SKIPPED" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "Run" - } - }, - "status_path": [ - { - "pascal_name": "State" + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } }, { - "pascal_name": "LifeCycleState" + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } ], - "message_path": [ + "required_in_url_fields": [ { - "pascal_name": "State" + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } }, { - "pascal_name": "StateMessage" + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } ], - "message_path_head": { - "pascal_name": "State" + "required_request_body_fields": [ + { + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true } - } - }, - { - "name": "Create", - "description": "Create a new job.", - "summary": "Create a new job.", - "path": "/api/2.2/jobs/create", - "can_use_json": true, - "must_use_json": true, - "is_json_only": true, - "is_crud_create": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateJob", - "is_object": true }, "response": { - "pascal_name": "CreateResponse", + "pascal_name": "Group", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "description": "List of permissions to set on the job.", - "is_request_body_field": true, - "entity": { - "pascal_name": "JobAccessControlRequestList", - "array_value": { - "pascal_name": "JobAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "budget_policy_id", - "description": "The id of the user specified budget policy to use for this job.\nIf not specified, a default budget policy may be applied when creating or modifying the job.\nSee `effective_budget_policy_id` for the budget policy used by this workload.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "continuous", - "description": "An optional continuous property for this job. The continuous property will ensure that there is always one run executing. Only one of `schedule` and `continuous` can be used.", + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Continuous", + "pascal_name": "Group", "is_object": true } }, { - "name": "deployment", - "description": "Deployment information for jobs managed by external sources.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "JobDeployment", - "is_object": true + "is_string": true } }, { - "name": "description", - "description": "An optional description for the job. The maximum length is 27700 characters in UTF-8 encoding.", - "is_request_body_field": true, + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "edit_mode", - "description": "Edit mode of the job.\n\n* `UI_LOCKED`: The job is in a locked UI state and cannot be modified.\n* `EDITABLE`: The job is in an editable state and can be modified.", + "name": "account_id", + "description": "The parent account ID for group in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "JobEditMode", - "enum": [ - { - "content": "EDITABLE" - }, - { - "content": "UI_LOCKED" - } - ] + "is_string": true } }, { - "name": "email_notifications", - "description": "An optional set of email addresses that is notified when runs of this job begin or complete as well as when this job is deleted.", + "name": "external_id", + "description": "ExternalId of the group in the customer's IdP.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "JobEmailNotifications", - "is_object": true + "is_string": true } }, { - "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.", + "name": "group_id", + "description": "Internal group ID of the group in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "JobEnvironmentList", - "array_value": { - "pascal_name": "JobEnvironment", - "is_object": true - } + "is_string": true } }, { - "name": "format", - "description": "Used to tell what is the format of the job. This field is ignored in Create/Update/Reset calls. When using the Jobs API 2.1 this value is always set to `\"MULTI_TASK\"`.", + "name": "group_name", + "description": "Display name of the group.", "is_request_body_field": true, "entity": { - "pascal_name": "Format", - "enum": [ - { - "content": "MULTI_TASK" - }, - { - "content": "SINGLE_TASK" - } - ] + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "git_source", - "description": "An optional specification for a remote Git repository containing the source code used by tasks. Version-controlled source code is supported by notebook, dbt, Python script, and SQL File tasks.\n\nIf `git_source` is set, these tasks retrieve the file from the remote repository by default. However, this behavior can be overridden by setting `source` to `WORKSPACE` on the task.\n\nNote: dbt and SQL File tasks support only version-controlled sources. If dbt or SQL File tasks are used, `git_source` must be defined on the job.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "GitSource", - "is_object": true + "is_string": true } }, { - "name": "health", - "is_request_body_field": true, - "is_optional_object": true, + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "JobsHealthRules", - "is_object": true + "is_string": true } - }, - { - "name": "job_clusters", - "description": "A list of job cluster specifications that can be shared and reused by tasks of this job. Libraries cannot be declared in a shared job cluster. You must declare dependent libraries in task settings.", - "is_request_body_field": true, - "entity": { - "pascal_name": "JobClusterList", - "array_value": { - "pascal_name": "JobCluster", + } + ] + }, + { + "name": "UpdateServicePrincipal", + "description": "Updates an existing service principal in the Databricks account. Only the fields named in the\nupdate mask are modified. Returns the updated ServicePrincipal resource.\n\nWhen AIM is enabled and the service principal is an external identity (its external_id is set),\nonly external_id can be updated; its other fields are sourced from your identity provider.", + "summary": "Update a service principal in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/service-principals/{service_principal_id}", + "can_use_json": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "UpdateServicePrincipalRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal", + "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", "is_object": true } + }, + { + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } - }, - { - "name": "max_concurrent_runs", - "description": "An optional maximum allowed number of concurrent runs of the job.\nSet this value if you want to be able to execute multiple runs of the same job concurrently.\nThis is useful for example if you trigger your job on a frequent schedule and want to allow consecutive runs to overlap with each other, or if you want to trigger multiple runs which differ by their input parameters.\nThis setting affects only new runs. For example, suppose the job’s concurrency is 4 and there are 4 concurrent active runs. Then setting the concurrency to 3 won’t kill any of the active runs.\nHowever, from then on, new runs are skipped unless there are fewer than 3 active runs.\nThis value cannot exceed 1000. Setting this value to `0` causes all new runs to be skipped.", - "is_request_body_field": true, - "entity": { - "is_int": true + ], + "required_in_url_fields": [ + { + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } - }, + ], + "required_request_body_fields": [ + { + "name": "service_principal", + "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "service_principal", + "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] + } + }, + "response": { + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] + }, + "all_fields": [ { - "name": "name", - "description": "An optional name for the job. The maximum length is 4096 bytes in UTF-8 encoding.", + "name": "service_principal", + "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } }, { - "name": "notification_settings", - "description": "Optional notification settings that are used when sending notifications to each of the `email_notifications` and `webhook_notifications` for this job.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "JobNotificationSettings", - "is_object": true + "is_string": true } }, { - "name": "parameters", - "description": "Job-level parameter definitions", - "is_request_body_field": true, + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "JobParameterDefinitionList", - "array_value": { - "pascal_name": "JobParameterDefinition", - "is_object": true - } + "is_string": true } }, { - "name": "parent_path", - "description": "Path of the job parent folder in workspace file tree. If absent, the job doesn't have a workspace object.", + "name": "account_id", + "description": "The parent account ID for the service principal in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "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.", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PerformanceTarget", + "pascal_name": "State", "enum": [ { - "content": "PERFORMANCE_OPTIMIZED" + "content": "ACTIVE" }, { - "content": "STANDARD" + "content": "INACTIVE" } ] } }, { - "name": "queue", - "description": "The queue settings of the job.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "QueueSettings", - "is_object": true - } - }, - { - "name": "run_as", - "description": "The user or service principal that the job runs as, if specified in the request.\nThis field indicates the explicit configuration of `run_as` for the job.\nTo find the value in all cases, explicit or implicit, use `run_as_user_name`.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "JobRunAs", - "is_object": true - } - }, - { - "name": "schedule", - "description": "An optional periodic schedule for this job. The default behavior is that the job only runs when triggered by clicking “Run Now” in the Jobs UI or sending an API request to `runNow`.", + "name": "application_id", + "description": "Application ID of the service principal. Set at creation time and cannot be changed\nafterwards; when omitted, the server generates one.", + "is_computed": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true } }, { - "name": "tags", - "description": "A map of tags associated with the job. These are forwarded to the cluster as cluster tags for jobs clusters, and are subject to the same limitations as cluster tags. A maximum of 25 tags can be added to the job.", + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_string": true } }, { - "name": "tasks", - "description": "A list of task specifications to be executed by this job.\nIt supports up to 1000 elements in write endpoints (:method:jobs/create, :method:jobs/reset, :method:jobs/update, :method:jobs/submit).\nRead endpoints return only 100 tasks. If more than 100 tasks are available, you can paginate through them using :method:jobs/get. Use the `next_page_token` field at the object root to determine if more results are available.", + "name": "external_id", + "description": "ExternalId of the service principal in the customer's IdP.", "is_request_body_field": true, "entity": { - "pascal_name": "TaskList", - "array_value": { - "pascal_name": "Task", - "is_object": true - } + "is_string": true } }, { - "name": "timeout_seconds", - "description": "An optional timeout applied to each run of this job. A value of `0` means no timeout.", + "name": "service_principal_id", + "description": "Internal service principal ID of the service principal in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "trigger", - "description": "A configuration to trigger a run when certain conditions are met. The default behavior is that the job runs only when triggered by clicking “Run Now” in the Jobs UI or sending an API request to `runNow`.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "TriggerSettings", - "is_object": true + "is_string": true } }, { - "name": "triggers", - "description": "List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. The 10-trigger cap is the design's\nhard limit; rollout steps the effective cap 3 -\u003e 5 -\u003e 10 via internal validation during the preview.", - "is_request_body_field": true, + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "TriggerConfigurationList", - "array_value": { - "pascal_name": "TriggerConfiguration", - "is_object": true - } + "is_string": true } }, { - "name": "usage_policy_id", - "description": "The id of the user specified usage policy to use for this job.\nIf not specified, a default usage policy may be applied when creating or modifying the job.\nSee `effective_usage_policy_id` for the usage policy used by this workload.", + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "webhook_notifications", - "description": "A collection of system notification IDs to notify when runs of this job begin or complete.", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "WebhookNotifications", - "is_object": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, { - "name": "Delete", - "description": "Deletes a job.", - "summary": "Delete a job.", - "path": "/api/2.2/jobs/delete", + "name": "UpdateUser", + "description": "Updates an existing user in the Databricks account and returns the updated user. Only the\nfields named in the update mask are modified. The updatable fields are fullName.givenName,\nfullName.familyName, status, and externalId.\n\nWhen AIM is enabled and the user is an external identity (its external_id is set), only\nexternal_id can be updated; its other fields are sourced from your identity provider.", + "summary": "Update a user in the account.", + "path": "/api/2.0/identity/accounts/{account_id}/users/{user_id}", "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteJob", + "pascal_name": "UpdateUserRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to delete. This field is required.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "User", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to delete. This field is required.", + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "User", + "is_object": true } } ] }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "job_id", - "description": "The canonical identifier of the job to delete. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ], - "required_positional_arguments": [ - { - "name": "job_id", - "description": "The canonical identifier of the job to delete. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } + "request_body_field": { + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } - ] - }, - { - "name": "DeleteRun", - "description": "Deletes a non-active run. Returns an error if the run is active.", - "summary": "Delete a job run.", - "path": "/api/2.2/jobs/runs/delete", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteRun", + }, + "response": { + "pascal_name": "User", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "run_id", - "description": "ID of the run to delete.", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], "required_request_body_fields": [ { - "name": "run_id", - "description": "ID of the run to delete.", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } - } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "run_id", - "description": "ID of the run to delete.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ], - "required_positional_arguments": [ - { - "name": "run_id", - "description": "ID of the run to delete.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "ExportRun", - "description": "Export and retrieve the job run task.", - "summary": "Export and retrieve a job run.", - "path": "/api/2.2/jobs/runs/export", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ExportRunRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "run_id", - "description": "The canonical identifier for the run. This field is required.", + "name": "full_name", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "UserFullName", + "is_object": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "run_id", - "description": "The canonical identifier for the run. This field is required.", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, - "response": { - "pascal_name": "ExportRunOutput", - "is_object": true - }, "all_fields": [ { - "name": "run_id", - "description": "The canonical identifier for the run. This field is required.", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "views_to_export", - "description": "Which views to export (CODE, DASHBOARDS, or ALL). Defaults to CODE.", - "is_query": true, + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, "entity": { - "pascal_name": "ViewsToExport", - "enum": [ + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "content": "ALL" + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } }, { - "content": "CODE" + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } }, { - "content": "DASHBOARDS" + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ] } - } - ], - "required_positional_arguments": [ + }, { - "name": "run_id", - "description": "The canonical identifier for the run. This field is required.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } - } - ] - }, - { - "name": "Get", - "description": "Retrieves the details for a single job.\n\nLarge arrays in the results will be paginated when they exceed 100 elements.\nA request for a single job will return all properties for that job, and the first 100 elements of array properties (`tasks`, `job_clusters`, `environments` and `parameters`).\nUse the `next_page_token` field to check for more results and pass its value as the `page_token` in subsequent requests.\nIf any array properties have more than 100 elements, additional results will be returned on subsequent requests. Arrays without additional results will be empty on later pages.", - "summary": "Get a single job.", - "path": "/api/2.2/jobs/get", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetJobRequest", - "is_object": true, - "required_fields": [ - { - "name": "job_id", - "description": "The canonical identifier of the job to retrieve information about. This field is required.", - "required": true, - "is_query": true, - "entity": { - "is_int64": true - } + }, + { + "name": "account_id", + "description": "The accountId parent of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "job_id", - "description": "The canonical identifier of the job to retrieve information about. This field is required.", - "required": true, - "is_query": true, - "entity": { - "is_int64": true - } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } - ] - }, - "response": { - "pascal_name": "Job", - "is_object": true - }, - "all_fields": [ + }, { - "name": "include_trigger_state", - "description": "Flag that indicates that trigger state should be included in the response.", - "is_query": true, + "name": "external_id", + "description": "ExternalId of the user in the customer's IdP.", + "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "job_id", - "description": "The canonical identifier of the job to retrieve information about. This field is required.", + "name": "full_name", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "page_token", - "description": "Use `next_page_token` returned from the previous GetJob response to request the next page of the job's array properties.", - "is_query": true, + "name": "user_id", + "description": "Internal userId of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -138276,206 +138414,383 @@ ], "required_positional_arguments": [ { - "name": "job_id", - "description": "The canonical identifier of the job to retrieve information about. This field is required.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get job permission levels.", - "path": "/api/2.0/permissions/jobs/{job_id}/permissionLevels", + "name": "UpdateWorkspaceAssignment", + "description": "Updates the entitlements of a directly assigned principal in a workspace. Changes are applied\none at a time rather than atomically. If the request fails partway through, only some of the\nrequested changes take effect. Get the assignment afterwards to confirm the final state.", + "summary": "Update a workspace assignment.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}", + "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetJobPermissionLevelsRequest", + "pascal_name": "UpdateWorkspaceAssignmentRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment is being updated.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignment", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment is being updated.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - } - ] - }, - "response": { - "pascal_name": "GetJobPermissionLevelsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "job_id", - "description": "The job for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "job_id", - "description": "The job for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPermissions", - "description": "Gets the permissions of a job. Jobs can inherit permissions from their root object.", - "summary": "Get job permissions.", - "path": "/api/2.0/permissions/jobs/{job_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetJobPermissionsRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "WorkspaceAssignment", + "is_object": true } } ] }, - "response": { - "pascal_name": "JobPermissions", - "is_object": true - }, - "all_fields": [ - { - "name": "job_id", - "description": "The job for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "job_id", - "description": "The job for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "request_body_field": { + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] } - ] - }, - { - "name": "GetRun", - "description": "Retrieves the metadata of a run.\n\nLarge arrays in the results will be paginated when they exceed 100 elements.\nA request for a single run will return all properties for that run, and the first 100 elements of array properties (`tasks`, `job_clusters`, `job_parameters` and `repair_history`).\nUse the next_page_token field to check for more results and pass its value as the page_token in subsequent requests.\nIf any array properties have more than 100 elements, additional results will be returned on subsequent requests. Arrays without additional results will be empty on later pages.", - "summary": "Get a single job run.", - "path": "/api/2.2/jobs/runs/get", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetRunRequest", + }, + "response": { + "pascal_name": "WorkspaceAssignment", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "run_id", - "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_int64": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "run_id", - "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_int64": true } } ] }, - "response": { - "pascal_name": "Run", - "is_object": true - }, "all_fields": [ { - "name": "include_history", - "description": "Whether to include the repair history in the response.", - "is_query": true, + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_int64": true } }, { - "name": "include_resolved_values", - "description": "Whether to include resolved parameter values in the response.", - "is_query": true, - "entity": { - "is_bool": true + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true } }, { - "name": "page_token", - "description": "Use `next_page_token` returned from the previous GetRun response to request the next page of the run's array properties.", - "is_query": true, + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + } + }, + { + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment is being updated.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "account_id", + "description": "The account ID parent of the workspace where the principal is assigned", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "run_id", - "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "name": "effective_entitlements", + "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } + } + }, + { + "name": "entitlements", + "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", + "is_request_body_field": true, + "entity": { + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } + } + }, + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "principal_type", + "description": "The type of the principal (user/service principal/group) that is assigned.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PrincipalType", + "enum": [ + { + "content": "GROUP" + }, + { + "content": "SERVICE_PRINCIPAL" + }, + { + "content": "USER" + } + ] + } + }, + { + "name": "workspace_id", + "description": "The workspace ID where the principal is assigned.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_int64": true } @@ -138483,10 +138798,37 @@ ], "required_positional_arguments": [ { - "name": "run_id", - "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment is being updated.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", "required": true, "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, "entity": { "is_int64": true } @@ -138494,325 +138836,476 @@ ] }, { - "name": "GetRunOutput", - "description": "Retrieve the output and metadata of a single task run. When a notebook task returns\na value through the `dbutils.notebook.exit()` call, you can use this endpoint to retrieve\nthat value. Databricks restricts this API to returning the first 5 MB of the output.\nTo return a larger result, you can store job results in a cloud storage service.\n\nThis endpoint validates that the __run_id__ parameter is valid and returns an HTTP status\ncode 400 if the __run_id__ parameter is invalid. Runs are automatically removed after\n60 days. If you to want to reference them beyond 60 days, you must save old run results\nbefore they expire.", - "summary": "Get the output for a single run.", - "path": "/api/2.2/jobs/runs/get-output", + "name": "UpdateWorkspaceAssignmentDetail", + "description": "Updates the entitlements of a directly assigned principal in a workspace. Changes are applied\none at a time rather than atomically. If the request fails partway through, only some of the\nrequested changes take effect. Get the assignment detail afterwards to confirm the final state.", + "summary": "Update a workspace assignment detail.", + "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details/{principal_id}", + "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetRunOutputRequest", + "pascal_name": "UpdateWorkspaceAssignmentDetailRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "run_id", - "description": "The canonical identifier for the run.", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_in_url_fields": [ { - "name": "run_id", - "description": "The canonical identifier for the run.", + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true + } } ] }, - "response": { - "pascal_name": "RunOutput", - "is_object": true - }, - "all_fields": [ - { - "name": "run_id", - "description": "The canonical identifier for the run.", - "required": true, - "is_query": true, - "entity": { - "is_int64": true - } - } - ], - "required_positional_arguments": [ - { - "name": "run_id", - "description": "The canonical identifier for the run.", - "required": true, - "is_query": true, - "entity": { - "is_int64": true - } + "request_body_field": { + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] } - ] - }, - { - "name": "List", - "description": "Retrieves a list of jobs.", - "summary": "List jobs.", - "path": "/api/2.2/jobs/list", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListJobsRequest", - "is_object": true }, "response": { - "pascal_name": "ListJobsResponse", - "is_object": true + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, "all_fields": [ { - "name": "expand_tasks", - "description": "Whether to include task and cluster details in the response. Note that only the first 100 elements will be shown.\nUse :method:jobs/get to paginate through all tasks and clusters.", - "is_query": true, + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_int64": true } }, { - "name": "limit", - "description": "The number of jobs to return. This value must be greater than 0 and less or equal to 100. The default value is 20.", + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, "is_query": true, "entity": { - "is_int": true + "is_field_mask": true } }, { - "name": "name", - "description": "A filter on the list based on the exact (case insensitive) job name.", - "is_query": true, + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] } }, { - "name": "offset", - "description": "The offset of the first job to return, relative to the most recently created job.\nDeprecated since June 2023. Use `page_token` to iterate through the pages instead.", - "is_query": true, + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", + "required": true, + "is_path": true, "entity": { - "is_int": true + "is_int64": true } }, { - "name": "page_token", - "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of jobs respectively.", - "is_query": true, + "name": "account_id", + "description": "The account ID parent of the workspace where the principal is assigned", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of jobs respectively.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListRuns", - "description": "List runs in descending order by end time. If a run has not finished, it falls back to start time.", - "summary": "List job runs.", - "path": "/api/2.2/jobs/runs/list", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListRunsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListRunsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "active_only", - "description": "If active_only is `true`, only active runs are included in the results; otherwise,\nlists both active and completed runs. An active run is a run in the `QUEUED`, `PENDING`,\n`RUNNING`, or `TERMINATING`. This field cannot be `true` when completed_only is `true`.", - "is_query": true, - "entity": { - "is_bool": true - } }, { - "name": "completed_only", - "description": "If completed_only is `true`, only completed runs are included in the results;\notherwise, lists both active and completed runs. This field cannot be `true` when\nactive_only is `true`.", - "is_query": true, + "name": "effective_entitlements", + "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } }, { - "name": "expand_tasks", - "description": "Whether to include task and cluster details in the response. Note that only the first 100 elements will be shown.\nUse :method:jobs/getrun to paginate through all tasks and clusters.", - "is_query": true, + "name": "entitlements", + "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", + "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } }, { - "name": "job_id", - "description": "The job for which to list runs. If omitted, the Jobs service lists runs from all jobs.", - "is_query": true, + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, "entity": { "is_int64": true } }, { - "name": "limit", - "description": "The number of runs to return. This value must be greater than 0 and less than 25.\nThe default value is 20. If a request specifies a limit of 0, the service instead\nuses the maximum limit.", - "is_query": true, + "name": "principal_type", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "PrincipalType", + "enum": [ + { + "content": "GROUP" + }, + { + "content": "SERVICE_PRINCIPAL" + }, + { + "content": "USER" + } + ] } }, { - "name": "offset", - "description": "The offset of the first run to return, relative to the most recent run.\nDeprecated since June 2023. Use `page_token` to iterate through the pages instead.", - "is_query": true, + "name": "workspace_id", + "description": "The workspace ID where the principal is assigned.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_int64": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_token", - "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of runs respectively.", - "is_query": true, + "name": "workspace_id", + "description": "Required. The workspace ID for which the workspace assignment detail is being updated.", + "required": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "run_type", - "description": "The type of runs to return. For a description of run types, see :method:jobs/getRun.", - "is_query": true, + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RunType", - "enum": [ - { - "content": "JOB_RUN" - }, - { - "content": "SUBMIT_RUN" - }, - { - "content": "WORKFLOW_RUN" - } - ] + "is_int64": true } }, { - "name": "start_time_from", - "description": "Show runs that started _at or after_ this value. The value must be a UTC timestamp\nin milliseconds. Can be combined with _start_time_to_ to filter by a time range.", + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, "is_query": true, "entity": { - "is_int64": true + "is_field_mask": true } }, { - "name": "start_time_to", - "description": "Show runs that started _at or before_ this value. The value must be a UTC timestamp\nin milliseconds. Can be combined with _start_time_from_ to filter by a time range.", - "is_query": true, + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, "entity": { "is_int64": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of runs respectively.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] + } + ] + }, + { + "id": "compute.InstancePools", + "name": "InstancePools", + "description": "Instance Pools API are used to create, edit, delete and list instance pools by using\nready-to-use cloud instances which reduces a cluster start and auto-scaling times.\n\nDatabricks pools reduce cluster start and auto-scaling times by maintaining a set of idle,\nready-to-use instances. When a cluster is attached to a pool, cluster nodes are created using\nthe pool’s idle instances. If the pool has no idle instances, the pool expands by allocating\na new instance from the instance provider in order to accommodate the cluster’s request.\nWhen a cluster releases an instance, it returns to the pool and is free for another cluster\nto use. Only clusters attached to a pool can use that pool’s idle instances.\n\nYou can specify a different pool for the driver node and worker nodes, or use the same pool\nfor both.\n\nDatabricks does not charge DBUs while instances are idle in the pool. Instance provider\nbilling does apply. See pricing.", + "package": { + "name": "compute" + }, + "docs_group": "compute", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "InstancePoolAndStatsInstancePoolNameToInstancePoolIdMap" }, + "is_legacy_empty_request": true, + "request": { + "pascal_name": "ListInstancePoolsRequest" + } + }, + "methods": [ { - "name": "RepairRun", - "description": "Re-run one or more tasks. Tasks are re-run as part of the original job run.\nThey use the current job and task settings, and can be viewed in the history for the\noriginal job run.", - "summary": "Repair a job run.", - "path": "/api/2.2/jobs/runs/repair", + "name": "Create", + "description": "Creates a new instance pool using idle and ready-to-use cloud instances.", + "summary": "Create a new instance pool.", + "path": "/api/2.0/instance-pools/create", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RepairRun", + "pascal_name": "CreateInstancePool", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "run_id", - "description": "The job run ID of the run to repair. The run must not be in progress.", + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "run_id", - "description": "The job run ID of the run to repair. The run must not be in progress.", + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] }, "response": { - "pascal_name": "RepairRunResponse", + "pascal_name": "CreateInstancePoolResponse", "is_object": true }, "all_fields": [ { - "name": "dbt_commands", - "description": "An array of commands to execute for jobs with the dbt task, for example `\"dbt_commands\": [\"dbt deps\", \"dbt seed\", \"dbt deps\", \"dbt seed\", \"dbt run\"]`\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "name": "aws_attributes", + "description": "Attributes related to instance pools running on Amazon Web Services.\nIf not specified at pool creation, a set of default values will be used.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "InstancePoolAwsAttributes", + "is_object": true } }, { - "name": "jar_params", - "description": "A list of parameters for jobs with Spark JAR tasks, for example `\"jar_params\": [\"john doe\", \"35\"]`.\nThe parameters are used to invoke the main function of the main class specified in the Spark JAR task.\nIf not specified upon `run-now`, it defaults to an empty list.\njar_params cannot be specified in conjunction with notebook_params.\nThe JSON representation of this field (for example `{\"jar_params\":[\"john doe\",\"35\"]}`) cannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "name": "azure_attributes", + "description": "Attributes related to instance pools running on Azure.\nIf not specified at pool creation, a set of default values will be used.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "InstancePoolAzureAttributes", + "is_object": true } }, { - "name": "job_parameters", - "description": "Job-level parameters used in the run. for example `\"param\": \"overriding_val\"`", + "name": "custom_tags", + "description": "Additional tags for pool resources. Databricks will tag all pool resources (e.g., AWS\ninstances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n\n- Currently, Databricks allows at most 45 custom tags", "is_request_body_field": true, "entity": { "map_value": { @@ -138821,108 +139314,100 @@ } }, { - "name": "latest_repair_id", - "description": "The ID of the latest repair. This parameter is not required when repairing a run for the first time, but must be provided on subsequent requests to repair the same run.", + "name": "disk_spec", + "description": "Defines the specification of the disks that will be attached to all spark containers.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int64": true + "pascal_name": "DiskSpec", + "is_object": true } }, { - "name": "notebook_params", - "description": "A map from keys to values for jobs with notebook task, for example `\"notebook_params\": {\"name\": \"john doe\", \"age\": \"35\"}`.\nThe map is passed to the notebook and is accessible through the [dbutils.widgets.get](https://docs.databricks.com/dev-tools/databricks-utils.html) function.\n\nIf not specified upon `run-now`, the triggered run uses the job’s base parameters.\n\nnotebook_params cannot be specified in conjunction with jar_params.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nThe JSON representation of this field (for example `{\"notebook_params\":{\"name\":\"john doe\",\"age\":\"35\"}}`) cannot exceed 10,000 bytes.", + "name": "enable_elastic_disk", + "description": "Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\nadditional disk space when its Spark workers are running low on disk space. In AWS, this\nfeature requires specific AWS permissions to function correctly - refer to the User Guide for\nmore details.", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_bool": true } }, { - "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.", + "name": "gcp_attributes", + "description": "Attributes related to instance pools running on Google Cloud Platform.\nIf not specified at pool creation, a set of default values will be used.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "PerformanceTarget", - "enum": [ - { - "content": "PERFORMANCE_OPTIMIZED" - }, - { - "content": "STANDARD" - } - ] + "pascal_name": "InstancePoolGcpAttributes", + "is_object": true } }, { - "name": "pipeline_params", - "description": "Controls whether the pipeline should perform a full refresh", + "name": "idle_instance_autotermination_minutes", + "description": "Automatically terminates the extra instances in the pool cache after they are inactive for this\ntime in minutes if min_idle_instances requirement is already met. If not set, the extra pool\ninstances will be automatically terminated after a default timeout. If specified, the\nthreshold must be between 0 and 10000 minutes.\nUsers can also set this value to 0 to instantly remove idle instances from the cache if\nmin cache size could still hold.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "PipelineParams", - "is_object": true + "is_int": true } }, { - "name": "python_named_params", + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "required": true, "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_string": true } }, { - "name": "python_params", - "description": "A list of parameters for jobs with Python tasks, for example `\"python_params\": [\"john doe\", \"35\"]`.\nThe parameters are passed to Python file as command-line parameters. If specified upon `run-now`, it would overwrite\nthe parameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", + "name": "max_capacity", + "description": "Maximum number of outstanding instances to keep in the pool, including both instances used by\nclusters and idle instances. Clusters that require further instance provisioning will fail during\nupsize requests.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int": true } }, { - "name": "rerun_all_failed_tasks", - "description": "If true, repair all failed tasks. Only one of `rerun_tasks` or `rerun_all_failed_tasks` can be used.", + "name": "min_idle_instances", + "description": "Minimum number of idle instances to keep in the instance pool", "is_request_body_field": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "rerun_dependent_tasks", - "description": "If true, repair all tasks that depend on the tasks in `rerun_tasks`, even if they were previously successful. Can be also used in combination with `rerun_all_failed_tasks`.", + "name": "node_type_flexibility", + "description": "Flexible node type configuration for the pool.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_bool": true + "pascal_name": "NodeTypeFlexibility", + "is_object": true } }, { - "name": "rerun_tasks", - "description": "The task keys of the task runs to repair.", + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "run_id", - "description": "The job run ID of the run to repair. The run must not be in progress.", - "required": true, + "name": "preloaded_docker_images", + "description": "Custom Docker Image BYOC", "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "DockerImageList", + "array_value": { + "pascal_name": "DockerImage", + "is_object": true + } } }, { - "name": "spark_submit_params", - "description": "A list of parameters for jobs with spark submit task, for example `\"spark_submit_params\": [\"--class\", \"org.apache.spark.examples.SparkPi\"]`.\nThe parameters are passed to spark-submit script as command-line parameters. If specified upon `run-now`, it would overwrite the\nparameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", + "name": "preloaded_spark_versions", + "description": "A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\nwith the preloaded Spark version will start faster. A list of available Spark versions\ncan be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.", "is_request_body_field": true, "entity": { "pascal_name": "List", @@ -138932,398 +139417,534 @@ } }, { - "name": "sql_params", - "description": "A map from keys to values for jobs with SQL task, for example `\"sql_params\": {\"name\": \"john doe\", \"age\": \"35\"}`. The SQL alert task does not support custom parameters.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "name": "remote_disk_throughput", + "description": "If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types.", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_int": true + } + }, + { + "name": "total_initial_remote_disk_size", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types.", + "is_request_body_field": true, + "entity": { + "is_int": true } } ], "required_positional_arguments": [ { - "name": "run_id", - "description": "The job run ID of the run to repair. The run must not be in progress.", + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true - } - } - ], - "wait": { - "success": [ - { - "content": "TERMINATED" - }, - { - "content": "SKIPPED" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "Run" + "is_string": true } }, - "status_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "LifeCycleState" - } - ], - "message_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "StateMessage" + { + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "message_path_head": { - "pascal_name": "State" } - } + ] }, { - "name": "Reset", - "description": "Overwrite all settings for the given job. Use the [_Update_ endpoint](:method:jobs/update) to update job settings partially.", - "summary": "Update all job settings (reset).", - "path": "/api/2.2/jobs/reset", + "name": "Delete", + "description": "Deletes the instance pool permanently. The idle instances in the pool are terminated asynchronously.", + "summary": "Delete an instance pool.", + "path": "/api/2.0/instance-pools/delete", "can_use_json": true, - "must_use_json": true, + "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ResetJob", + "pascal_name": "DeleteInstancePool", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to reset. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "new_settings", - "description": "The new settings of the job. These settings completely replace the old settings.\n\nChanges to the field `JobBaseSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", + "name": "instance_pool_id", + "description": "The instance pool to be terminated.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "JobSettings", - "is_object": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to reset. This field is required.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "new_settings", - "description": "The new settings of the job. These settings completely replace the old settings.\n\nChanges to the field `JobBaseSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", + "name": "instance_pool_id", + "description": "The instance pool to be terminated.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "JobSettings", - "is_object": true + "is_string": true } } ] }, "response": { + "pascal_name": "DeleteInstancePoolResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to reset. This field is required.", + "name": "instance_pool_id", + "description": "The instance pool to be terminated.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "new_settings", - "description": "The new settings of the job. These settings completely replace the old settings.\n\nChanges to the field `JobBaseSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", + "name": "instance_pool_id", + "description": "The instance pool to be terminated.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "JobSettings", - "is_object": true + "is_string": true } } ] }, { - "name": "RunNow", - "description": "Run a job and return the `run_id` of the triggered run.", - "summary": "Trigger a new job run.", - "path": "/api/2.2/jobs/run-now", + "name": "Edit", + "description": "Modifies the configuration of an existing instance pool.", + "summary": "Edit an existing instance pool.", + "path": "/api/2.0/instance-pools/edit", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RunNow", + "pascal_name": "EditInstancePool", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The ID of the job to be executed", + "name": "instance_pool_id", + "description": "Instance pool ID", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "job_id", - "description": "The ID of the job to be executed", + "name": "instance_pool_id", + "description": "Instance pool ID", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] }, "response": { - "pascal_name": "RunNowResponse", - "is_object": true + "pascal_name": "EditInstancePoolResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "dbt_commands", - "description": "An array of commands to execute for jobs with the dbt task, for example `\"dbt_commands\": [\"dbt deps\", \"dbt seed\", \"dbt deps\", \"dbt seed\", \"dbt run\"]`\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "name": "custom_tags", + "description": "Additional tags for pool resources. Databricks will tag all pool resources (e.g., AWS\ninstances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n\n- Currently, Databricks allows at most 45 custom tags", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { + "map_value": { "is_string": true } } }, { - "name": "idempotency_token", - "description": "An optional token to guarantee the idempotency of job run requests. If a run with the provided token already exists,\nthe request does not create a new run but returns the ID of the existing run instead. If a run with the provided token is deleted,\nan error is returned.\n\nIf you specify the idempotency token, upon failure you can retry until the request succeeds. Databricks guarantees that exactly one run\nis launched with that idempotency token.\n\nThis token must have at most 64 characters.", + "name": "idle_instance_autotermination_minutes", + "description": "Automatically terminates the extra instances in the pool cache after they are inactive for this\ntime in minutes if min_idle_instances requirement is already met. If not set, the extra pool\ninstances will be automatically terminated after a default timeout. If specified, the\nthreshold must be between 0 and 10000 minutes.\nUsers can also set this value to 0 to instantly remove idle instances from the cache if\nmin cache size could still hold.", "is_request_body_field": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "jar_params", - "description": "A list of parameters for jobs with Spark JAR tasks, for example `\"jar_params\": [\"john doe\", \"35\"]`.\nThe parameters are used to invoke the main function of the main class specified in the Spark JAR task.\nIf not specified upon `run-now`, it defaults to an empty list.\njar_params cannot be specified in conjunction with notebook_params.\nThe JSON representation of this field (for example `{\"jar_params\":[\"john doe\",\"35\"]}`) cannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "name": "instance_pool_id", + "description": "Instance pool ID", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "job_id", - "description": "The ID of the job to be executed", + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "job_parameters", - "description": "Job-level parameters used in the run. for example `\"param\": \"overriding_val\"`", + "name": "max_capacity", + "description": "Maximum number of outstanding instances to keep in the pool, including both instances used by\nclusters and idle instances. Clusters that require further instance provisioning will fail during\nupsize requests.", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_int": true } }, { - "name": "notebook_params", - "description": "A map from keys to values for jobs with notebook task, for example `\"notebook_params\": {\"name\": \"john doe\", \"age\": \"35\"}`.\nThe map is passed to the notebook and is accessible through the [dbutils.widgets.get](https://docs.databricks.com/dev-tools/databricks-utils.html) function.\n\nIf not specified upon `run-now`, the triggered run uses the job’s base parameters.\n\nnotebook_params cannot be specified in conjunction with jar_params.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nThe JSON representation of this field (for example `{\"notebook_params\":{\"name\":\"john doe\",\"age\":\"35\"}}`) cannot exceed 10,000 bytes.", + "name": "min_idle_instances", + "description": "Minimum number of idle instances to keep in the instance pool", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_int": true } }, { - "name": "only", - "description": "A list of task keys to run inside of the job. If this field is not provided, all tasks in the job will be run.\n\nPrefix a task key with `+` to also run its upstream tasks, or suffix it with `+` to also run its downstream tasks.\nFor example, `+my_task` runs `my_task` and everything upstream of it, `my_task+` runs `my_task` and everything\ndownstream of it, and `+my_task+` runs both. A task key with no `+` runs only that task.", + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "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.", + "name": "remote_disk_throughput", + "description": "If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types.", "is_request_body_field": true, "entity": { - "pascal_name": "PerformanceTarget", - "enum": [ - { - "content": "PERFORMANCE_OPTIMIZED" - }, - { - "content": "STANDARD" - } - ] + "is_int": true } }, { - "name": "pipeline_params", - "description": "Controls whether the pipeline should perform a full refresh", + "name": "total_initial_remote_disk_size", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "PipelineParams", - "is_object": true + "is_int": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "python_named_params", + "name": "instance_pool_id", + "description": "Instance pool ID", + "required": true, "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_string": true } }, { - "name": "python_params", - "description": "A list of parameters for jobs with Python tasks, for example `\"python_params\": [\"john doe\", \"35\"]`.\nThe parameters are passed to Python file as command-line parameters. If specified upon `run-now`, it would overwrite\nthe parameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", + "name": "instance_pool_name", + "description": "Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\ncharacters.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "queue", - "description": "The queue settings of the run.", + "name": "node_type_id", + "description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "QueueSettings", - "is_object": true + "is_string": true } - }, - { - "name": "spark_submit_params", - "description": "A list of parameters for jobs with spark submit task, for example `\"spark_submit_params\": [\"--class\", \"org.apache.spark.examples.SparkPi\"]`.\nThe parameters are passed to spark-submit script as command-line parameters. If specified upon `run-now`, it would overwrite the\nparameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { + } + ] + }, + { + "name": "Get", + "description": "Retrieve the information for an instance pool based on its identifier.", + "summary": "Get instance pool information.", + "path": "/api/2.0/instance-pools/get", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetInstancePoolRequest", + "is_object": true, + "required_fields": [ + { + "name": "instance_pool_id", + "description": "The canonical unique identifier for the instance pool.", + "required": true, + "is_query": true, + "entity": { "is_string": true } } - }, - { - "name": "sql_params", - "description": "A map from keys to values for jobs with SQL task, for example `\"sql_params\": {\"name\": \"john doe\", \"age\": \"35\"}`. The SQL alert task does not support custom parameters.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", - "is_request_body_field": true, - "entity": { - "map_value": { + ], + "required_in_url_fields": [ + { + "name": "instance_pool_id", + "description": "The canonical unique identifier for the instance pool.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetInstancePool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "instance_pool_id", + "description": "Canonical unique identifier for the pool.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "instance_pool_id", + "description": "Canonical unique identifier for the pool.", + "required": true, + "is_request_body_field": true, + "entity": { "is_string": true } } + ] + }, + "all_fields": [ + { + "name": "instance_pool_id", + "description": "The canonical unique identifier for the instance pool.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { - "name": "job_id", - "description": "The ID of the job to be executed", + "name": "instance_pool_id", + "description": "The canonical unique identifier for the instance pool.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_int64": true + "is_string": true } } - ], - "wait": { - "success": [ - { - "content": "TERMINATED" - }, + ] + }, + { + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get instance pool permission levels.", + "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}/permissionLevels", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetInstancePoolPermissionLevelsRequest", + "is_object": true, + "required_fields": [ { - "content": "SKIPPED" + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "Run" - } - }, - "status_path": [ + "required_in_url_fields": [ { - "pascal_name": "State" - }, + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetInstancePoolPermissionLevelsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetPermissions", + "description": "Gets the permissions of an instance pool. Instance pools can inherit permissions from their root object.", + "summary": "Get instance pool permissions.", + "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetInstancePoolPermissionsRequest", + "is_object": true, + "required_fields": [ { - "pascal_name": "LifeCycleState" + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], - "message_path": [ - { - "pascal_name": "State" - }, + "required_in_url_fields": [ { - "pascal_name": "StateMessage" + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "InstancePoolPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } - ], - "message_path_head": { - "pascal_name": "State" } - } + ], + "required_positional_arguments": [ + { + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "Gets a list of instance pools with their statistics.", + "summary": "List instance pool info.", + "path": "/api/2.0/instance-pools/list", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListInstancePoolsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListInstancePools", + "is_object": true + }, + "pagination": {} }, { "name": "SetPermissions", "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set job permissions.", - "path": "/api/2.0/permissions/jobs/{job_id}", + "summary": "Set instance pool permissions.", + "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "JobPermissionsRequest", + "pascal_name": "InstancePoolPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -139333,8 +139954,8 @@ ], "required_in_url_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -139344,7 +139965,7 @@ ] }, "response": { - "pascal_name": "JobPermissions", + "pascal_name": "InstancePoolPermissions", "is_object": true }, "all_fields": [ @@ -139352,16 +139973,16 @@ "name": "access_control_list", "is_request_body_field": true, "entity": { - "pascal_name": "JobAccessControlRequestList", + "pascal_name": "InstancePoolAccessControlRequestList", "array_value": { - "pascal_name": "JobAccessControlRequest", + "pascal_name": "InstancePoolAccessControlRequest", "is_object": true } } }, { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -139371,8 +139992,8 @@ ], "required_positional_arguments": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -139382,333 +140003,314 @@ ] }, { - "name": "Submit", - "description": "Submit a one-time run. This endpoint allows you to submit a workload directly\nwithout creating a job. Runs submitted using this endpoint don’t display in\nthe UI. Use the `jobs/runs/get` API to check the run state after the job is\nsubmitted.\n\n**Important:** Jobs submitted using this endpoint are not saved as a job.\nThey do not show up in the Jobs UI, and do not retry when they fail. Because\nthey are not saved, Databricks cannot auto-optimize serverless compute in case\nof failure. If your job fails, you may want to use classic compute to specify\nthe compute needs for the job. Alternatively, use the `POST /jobs/create` and\n`POST /jobs/run-now` endpoints to create and run a saved job.", - "summary": "Create and trigger a one-time run.", - "path": "/api/2.2/jobs/runs/submit", + "name": "UpdatePermissions", + "description": "Updates the permissions on an instance pool. Instance pools can inherit permissions from their root object.", + "summary": "Update instance pool permissions.", + "path": "/api/2.0/permissions/instance-pools/{instance_pool_id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SubmitRun", - "is_object": true + "pascal_name": "InstancePoolPermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "SubmitRunResponse", + "pascal_name": "InstancePoolPermissions", "is_object": true }, "all_fields": [ { "name": "access_control_list", - "description": "List of permissions to set on the job.", "is_request_body_field": true, "entity": { - "pascal_name": "JobAccessControlRequestList", + "pascal_name": "InstancePoolAccessControlRequestList", "array_value": { - "pascal_name": "JobAccessControlRequest", + "pascal_name": "InstancePoolAccessControlRequest", "is_object": true } } }, { - "name": "budget_policy_id", - "description": "The user specified id of the budget policy to use for this one-time run.\nIf not specified, the run will be not be attributed to any budget policy.", - "is_request_body_field": true, + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "email_notifications", - "description": "An optional set of email addresses notified when the run begins or completes.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "instance_pool_id", + "description": "The instance pool for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "JobEmailNotifications", - "is_object": true + "is_string": true } - }, - { - "name": "environments", - "description": "A list of task execution environment specifications that can be referenced by tasks of this run.", - "is_request_body_field": true, - "entity": { - "pascal_name": "JobEnvironmentList", - "array_value": { - "pascal_name": "JobEnvironment", - "is_object": true + } + ] + } + ] + }, + { + "id": "compute.InstanceProfiles", + "name": "InstanceProfiles", + "description": "The Instance Profiles API allows admins to add, list, and remove instance profiles that users can launch\nclusters with. Regular users can list the instance profiles available to them.\nSee [Secure access to S3 buckets](https://docs.databricks.com/administration-guide/cloud-configurations/aws/instance-profiles.html) using\ninstance profiles for more information.", + "package": { + "name": "compute" + }, + "docs_group": "compute", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "is_legacy_empty_request": true, + "request": { + "pascal_name": "ListInstanceProfilesRequest" + } + }, + "methods": [ + { + "name": "Add", + "description": "Registers an instance profile in Databricks. In the UI, you can then give users the permission\nto use this instance profile when launching clusters.\n\nThis API is only available to admin users.", + "summary": "Register an instance profile.", + "path": "/api/2.0/instance-profiles/add", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "AddInstanceProfile", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } - }, - { - "name": "git_source", - "description": "An optional specification for a remote Git repository containing the source code used by tasks. Version-controlled source code is supported by notebook, dbt, Python script, and SQL File tasks.\n\nIf `git_source` is set, these tasks retrieve the file from the remote repository by default. However, this behavior can be overridden by setting `source` to `WORKSPACE` on the task.\n\nNote: dbt and SQL File tasks support only version-controlled sources. If dbt or SQL File tasks are used, `git_source` must be defined on the job.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "GitSource", - "is_object": true - } - }, - { - "name": "health", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "JobsHealthRules", - "is_object": true + ], + "required_request_body_fields": [ + { + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "AddResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ { - "name": "idempotency_token", - "description": "An optional token that can be used to guarantee the idempotency of job run requests. If a run with the provided token already exists,\nthe request does not create a new run but returns the ID of the existing run instead. If a run with the provided token is deleted,\nan error is returned.\n\nIf you specify the idempotency token, upon failure you can retry until the request succeeds. Databricks guarantees that exactly\none run is launched with that idempotency token.\n\nThis token must have at most 64 characters.", + "name": "iam_role_arn", + "description": "The AWS IAM role ARN of the role associated with the instance profile.\nThis field is required if your role name and instance profile name do\nnot match and you want to use the instance profile with\n[Databricks SQL Serverless](https://docs.databricks.com/sql/admin/serverless.html).\n\nOtherwise, this field is optional.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "notification_settings", - "description": "Optional notification settings that are used when sending notifications to each of the `email_notifications` and `webhook_notifications` for this run.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "JobNotificationSettings", - "is_object": true - } - }, - { - "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.", - "is_request_body_field": true, - "entity": { - "pascal_name": "PerformanceTarget", - "enum": [ - { - "content": "PERFORMANCE_OPTIMIZED" - }, - { - "content": "STANDARD" - } - ] - } - }, - { - "name": "queue", - "description": "The queue settings of the one-time run.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "QueueSettings", - "is_object": true - } - }, - { - "name": "run_as", - "description": "Specifies the user or service principal that the job runs as. If not specified, the job runs as the user who submits the request.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "JobRunAs", - "is_object": true - } - }, - { - "name": "run_name", - "description": "An optional name for the run. The default value is `Untitled`.", + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tasks", + "name": "is_meta_instance_profile", + "description": "Boolean flag indicating whether the instance profile should only be used in credential\npassthrough scenarios. If true, it means the instance profile contains an meta IAM role\nwhich could assume a wide range of roles. Therefore it should always be used with\nauthorization.\nThis field is optional, the default value is `false`.", "is_request_body_field": true, "entity": { - "pascal_name": "SubmitTaskList", - "array_value": { - "pascal_name": "SubmitTask", - "is_object": true - } + "is_bool": true } }, { - "name": "timeout_seconds", - "description": "An optional timeout applied to each run of this job. A value of `0` means no timeout.", + "name": "skip_validation", + "description": "By default, Databricks validates that it has sufficient permissions to launch\ninstances with the instance profile. This validation uses AWS dry-run mode for\nthe RunInstances API. If validation fails with an error message that does not\nindicate an IAM related permission issue,\n(e.g. “Your requested instance type is not supported in your requested availability zone”),\nyou can pass this flag to skip the validation and forcibly add the instance profile.", "is_request_body_field": true, "entity": { - "is_int": true + "is_bool": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "usage_policy_id", - "description": "The user specified id of the usage policy to use for this one-time run.\nIf not specified, a default usage policy may be applied when creating or modifying the job.", + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "webhook_notifications", - "description": "A collection of system notification IDs to notify when the run begins or completes.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "WebhookNotifications", - "is_object": true - } - } - ], - "wait": { - "success": [ - { - "content": "TERMINATED" - }, - { - "content": "SKIPPED" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "Run" - } - }, - "status_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "LifeCycleState" - } - ], - "message_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "StateMessage" - } - ], - "message_path_head": { - "pascal_name": "State" } - } + ] }, { - "name": "Update", - "description": "Add, update, or remove specific settings of an existing job. Use the [_Reset_ endpoint](:method:jobs/reset) to overwrite all job settings.", - "summary": "Update job settings partially.", - "path": "/api/2.2/jobs/update", + "name": "Edit", + "description": "The only supported field to change is the optional IAM role ARN associated with\nthe instance profile. It is required to specify the IAM role ARN if both of\nthe following are true:\n\n* Your role name and instance profile name do not match. The name is the part\nafter the last slash in each ARN.\n* You want to use the instance profile with [Databricks SQL Serverless](https://docs.databricks.com/sql/admin/serverless.html).\n\nTo understand where these fields are in the AWS console, see\n[Enable serverless SQL warehouses](https://docs.databricks.com/sql/admin/serverless.html).\n\nThis API is only available to admin users.", + "summary": "Edit an instance profile.", + "path": "/api/2.0/instance-profiles/edit", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateJob", + "pascal_name": "InstanceProfile", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to update. This field is required.", + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "job_id", - "description": "The canonical identifier of the job to update. This field is required.", + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ] }, "response": { + "pascal_name": "EditResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "fields_to_remove", - "description": "Remove top-level fields in the job settings. Removing nested fields is not supported, except for tasks and job clusters (`tasks/task_1`). This field is optional.", + "name": "iam_role_arn", + "description": "The AWS IAM role ARN of the role associated with the instance profile.\nThis field is required if your role name and instance profile name do\nnot match and you want to use the instance profile with\n[Databricks SQL Serverless](https://docs.databricks.com/sql/admin/serverless.html).\n\nOtherwise, this field is optional.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "job_id", - "description": "The canonical identifier of the job to update. This field is required.", + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "new_settings", - "description": "The new settings for the job.\n\nTop-level fields specified in `new_settings` are completely replaced, except for arrays which are merged. That is, new and existing entries are completely replaced based on the respective key fields, i.e. `task_key` or `job_cluster_key`, while previous entries are kept.\n\nPartially updating nested fields is not supported.\n\nChanges to the field `JobSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", + "name": "is_meta_instance_profile", + "description": "Boolean flag indicating whether the instance profile should only be used in credential\npassthrough scenarios. If true, it means the instance profile contains an meta IAM role\nwhich could assume a wide range of roles. Therefore it should always be used with\nauthorization.\nThis field is optional, the default value is `false`.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "JobSettings", - "is_object": true + "is_bool": true } } ], "required_positional_arguments": [ { - "name": "job_id", - "description": "The canonical identifier of the job to update. This field is required.", + "name": "instance_profile_arn", + "description": "The AWS ARN of the instance profile to register with Databricks. This field is required.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a job. Jobs can inherit permissions from their root object.", - "summary": "Update job permissions.", - "path": "/api/2.0/permissions/jobs/{job_id}", + "name": "List", + "description": "List the instance profiles that the calling user can use to launch a cluster.\n\nThis API is available to all users.", + "summary": "List available instance profiles.", + "path": "/api/2.0/instance-profiles/list", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListInstanceProfilesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListInstanceProfilesResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "Remove", + "description": "Remove the instance profile with the provided ARN.\nExisting clusters with this instance profile will continue to function.\n\nThis API is only accessible to admin users.", + "summary": "Remove the instance profile.", + "path": "/api/2.0/instance-profiles/remove", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "JobPermissionsRequest", + "pascal_name": "RemoveInstanceProfile", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_profile_arn", + "description": "The ARN of the instance profile to remove. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_profile_arn", + "description": "The ARN of the instance profile to remove. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -139716,26 +140318,16 @@ ] }, "response": { - "pascal_name": "JobPermissions", - "is_object": true + "pascal_name": "RemoveResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "JobAccessControlRequestList", - "array_value": { - "pascal_name": "JobAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_profile_arn", + "description": "The ARN of the instance profile to remove. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -139743,10 +140335,10 @@ ], "required_positional_arguments": [ { - "name": "job_id", - "description": "The job for which to get or manage permissions.", + "name": "instance_profile_arn", + "description": "The ARN of the instance profile to remove. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -139756,209 +140348,101 @@ ] }, { - "id": "knowledgeassistants.KnowledgeAssistants", - "name": "KnowledgeAssistants", - "description": "Manage Knowledge Assistants and related resources.", + "id": "settings.IpAccessLists", + "name": "IpAccessLists", + "description": "IP Access List enables admins to configure IP access lists.\n\nIP access lists affect web application access and REST API access to this workspace only.\nIf the feature is disabled for a workspace, all access is allowed for this workspace.\nThere is support for allow lists (inclusion) and block lists (exclusion).\n\nWhen a connection is attempted:\n1. **First, all block lists are checked.** If the connection IP address matches any block list, the connection is rejected.\n2. **If the connection was not rejected by block lists**, the IP address is compared with the allow lists.\n\nIf there is at least one allow list for the workspace, the connection is allowed only if the IP address matches an allow list.\nIf there are no allow lists for the workspace, all IP addresses are allowed.\n\nFor all allow lists and block lists combined, the workspace supports a maximum of 1000 IP/CIDR values, where one CIDR counts as a single value.\n\nAfter changes to the IP access list feature, it can take a few minutes for changes to take effect.", "package": { - "name": "knowledgeassistants" + "name": "settings" }, - "docs_group": "agentbricks", - "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", + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { + "named_id_map": { + "pascal_name": "IpAccessListInfoLabelToListIdMap" + }, + "is_legacy_empty_request": true, "request": { - "pascal_name": "ListExamplesRequest" + "pascal_name": "ListIpAccessLists" } }, "methods": [ { - "name": "CreateExample", - "description": "Creates an example for a Knowledge Assistant.", - "summary": "Create an example for a Knowledge Assistant.", - "path": "/api/2.1/{parent=knowledge-assistants/*}/examples", + "name": "Create", + "description": "Creates an IP access list for this workspace.\n\nA list can be an allow list or a block list.\nSee the top of this file for a description of how the server treats allow lists and block lists at runtime.\n\nWhen creating or updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the new list would block the calling user's current IP, error 400 is returned with `error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect. **Note**: Your new IP access list has no effect until you enable the feature. See [workspaceconf/setStatus](https://docs.databricks.com/api/workspace/workspaceconf/setstatus)", + "summary": "Create access list.", + "path": "/api/2.0/ip-access-lists", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateExampleRequest", + "pascal_name": "CreateIpAccessList", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "example", - "description": "The example to create under the parent Knowledge Assistant.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Example", - "is_object": true - } - } - ], - "required_in_url_fields": [ - { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } } ], "required_request_body_fields": [ { - "name": "example", - "description": "The example to create under the parent Knowledge Assistant.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true - } - } - ] - }, - "request_body_field": { - "name": "example", - "description": "The example to create under the parent Knowledge Assistant.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - "response": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "question", - "description": "The example question.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } } ] }, + "response": { + "pascal_name": "CreateIpAccessListResponse", + "is_object": true + }, "all_fields": [ { - "name": "example", - "description": "The example to create under the parent Knowledge Assistant.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "description": "Timestamp when this example was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "example_id", - "description": "The universally unique identifier (UUID) of the example.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question. Optional — examples may be created\nwith just a question; the front-end form does not require guidelines.", + "name": "ip_addresses", "is_request_body_field": true, "entity": { "pascal_name": "List", @@ -139968,16 +140452,8 @@ } }, { - "name": "name", - "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "question", - "description": "The example question.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { @@ -139985,351 +140461,166 @@ } }, { - "name": "update_time", - "description": "Timestamp when this example was last updated.", - "is_output_only": true, + "name": "list_type", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "question", - "description": "The example question.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } } ] }, { - "name": "CreateKnowledgeAssistant", - "description": "Creates a Knowledge Assistant.", - "summary": "Create a Knowledge Assistant.", - "path": "/api/2.1/knowledge-assistants", - "can_use_json": true, - "is_crud_create": true, + "name": "Delete", + "description": "Deletes an IP access list, specified by its list ID.", + "summary": "Delete access list.", + "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateKnowledgeAssistantRequest", + "pascal_name": "DeleteIpAccessListRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant to create.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant to create.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "KnowledgeAssistant", + "is_empty_response": true + }, + "all_fields": [ + { + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Gets an IP access list, specified by its list ID.", + "summary": "Get access list.", + "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetIpAccessListRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] }, + "response": { + "pascal_name": "FetchIpAccessListResponse", + "is_object": true + }, "all_fields": [ { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "create_time", - "description": "Creation timestamp.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "creator", - "description": "The creator of the Knowledge Assistant.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "endpoint_name", - "description": "The name of the knowledge assistant agent endpoint.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "error_info", - "description": "Error details when the Knowledge Assistant is in FAILED state.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "experiment_id", - "description": "The MLflow experiment ID.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "id", - "description": "Deprecated: use knowledge_assistant_id instead.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "instructions", - "description": "Additional global instructions on how the agent should generate answers.\nOptional on create and update.\nWhen updating a Knowledge Assistant, include this field in update_mask to\nmodify it.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "state", - "description": "State of the Knowledge Assistant. Not returned in List responses.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistantState", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "CREATING" - }, - { - "content": "FAILED" - } - ] - } } ], "required_positional_arguments": [ { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -140337,25 +140628,40 @@ ] }, { - "name": "CreateKnowledgeSource", - "description": "Creates a Knowledge Source under a Knowledge Assistant.", - "summary": "Create a Knowledge Source.", - "path": "/api/2.1/{parent=knowledge-assistants/*}/knowledge-sources", + "name": "List", + "description": "Gets all IP access lists for the specified workspace.", + "summary": "Get access lists.", + "path": "/api/2.0/ip-access-lists", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListIpAccessLists", + "is_object": true + }, + "response": { + "pascal_name": "ListIpAccessListResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "Replace", + "description": "Replaces an IP access list, specified by its ID.\n\nA list can include allow lists and block lists. See the top\nof this file for a description of how the server treats allow lists and block lists at run time. When\nreplacing an IP access list:\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code`\nvalue `QUOTA_EXCEEDED`.\n* If the resulting list would block the calling user's current IP, error 400 is returned with `error_code`\nvalue `INVALID_STATE`.\nIt can take a few minutes for the changes to take effect. Note that your resulting IP access list has no\neffect until you enable the feature. See [workspaceconf/setStatus](https://docs.databricks.com/api/workspace/workspaceconf/setstatus).", + "summary": "Replace access list.", + "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateKnowledgeSourceRequest", + "pascal_name": "ReplaceIpAccessList", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140363,134 +140669,46 @@ } }, { - "name": "knowledge_source", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true - } - } - ], - "required_in_url_fields": [ - { - "name": "parent", - "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ - { - "name": "knowledge_source", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true - } - } - ] - }, - "request_body_field": { - "name": "knowledge_source", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - "response": { - "pascal_name": "KnowledgeSource", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ + }, { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } }, { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -140498,8 +140716,8 @@ ], "required_request_body_fields": [ { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { @@ -140507,97 +140725,48 @@ } }, { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } }, { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } } ] }, + "response": { + "is_empty_response": true + }, "all_fields": [ { - "name": "knowledge_source", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_bool": true } }, { - "name": "parent", - "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140605,27 +140774,18 @@ } }, { - "name": "create_time", - "description": "Timestamp when this knowledge source was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, + "name": "ip_addresses", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { @@ -140633,82 +140793,17 @@ } }, { - "name": "file_table", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "FileTableSpec", - "is_object": true - } - }, - { - "name": "files", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "FilesSpec", - "is_object": true - } - }, - { - "name": "id", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "index", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IndexSpec", - "is_object": true - } - }, - { - "name": "knowledge_cutoff_time", - "description": "Timestamp representing the cutoff before which content in this knowledge source is being ingested.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "name", - "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true - } - }, - { - "name": "state", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeSourceState", + "pascal_name": "ListType", "enum": [ { - "content": "FAILED_UPDATE" - }, - { - "content": "UPDATED" + "content": "ALLOW" }, { - "content": "UPDATING" + "content": "BLOCK" } ] } @@ -140716,8 +140811,8 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140725,8 +140820,8 @@ } }, { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { @@ -140734,42 +140829,48 @@ } }, { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } }, { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } } ] }, { - "name": "DeleteExample", - "description": "Deletes an example from a Knowledge Assistant.", - "summary": "Delete an example from a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*/examples/*}", + "name": "Update", + "description": "Updates an existing IP access list, specified by its ID.\n\nA list can include allow lists and block lists.\nSee the top of this file for a description of how the server treats allow lists and block lists at run time.\n\nWhen updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the updated list would block the calling user's current IP, error 400 is returned with `error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect. Note that your resulting IP access list has no effect until you enable\nthe feature. See [workspaceconf/setStatus](https://docs.databricks.com/api/workspace/workspaceconf/setstatus).", + "summary": "Update access list.", + "path": "/api/2.0/ip-access-lists/{ip_access_list_id}", + "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteExampleRequest", + "pascal_name": "UpdateIpAccessList", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140779,8 +140880,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140794,19 +140895,60 @@ }, "all_fields": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "ip_addresses", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "list_type", + "is_request_body_field": true, + "entity": { + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140814,86 +140956,183 @@ } } ] + } + ] + }, + { + "id": "settings.AccountIpAccessLists", + "name": "AccountIpAccessLists", + "description": "The Accounts IP Access List API enables account admins to configure IP access lists for\naccess to the account console.\n\nAccount IP Access Lists affect web application access and REST API access to the account\nconsole and account APIs. If the feature is disabled for the account, all access is allowed\nfor this account. There is support for allow lists (inclusion) and block lists (exclusion).\n\nWhen a connection is attempted:\n1. **First, all block lists are checked.** If the connection IP address matches any block\nlist, the connection is rejected.\n2. **If the connection was not rejected by block lists**, the IP address is compared with\nthe allow lists.\n\nIf there is at least one allow list for the account, the connection is allowed only if the\nIP address matches an allow list. If there are no allow lists for the account, all IP\naddresses are allowed.\n\nFor all allow lists and block lists combined, the account supports a maximum of 1000 IP/CIDR\nvalues, where one CIDR counts as a single value.\n\nAfter changes to the account-level IP access lists, it can take a few minutes for changes\nto take effect.", + "package": { + "name": "settings" + }, + "is_accounts": true, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "IpAccessListInfoLabelToListIdMap" }, + "is_legacy_empty_request": true, + "request": { + "pascal_name": "ListIpAccessLists" + } + }, + "methods": [ { - "name": "DeleteKnowledgeAssistant", - "description": "Deletes a Knowledge Assistant.", - "summary": "Delete a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*}", + "name": "Create", + "description": "Creates an IP access list for the account.\n\nA list can be an allow list or a block list. See the top of this file for a description of\nhow the server treats allow lists and block lists at runtime.\n\nWhen creating or updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000\nIP/CIDR values, where one CIDR counts as a single value. Attempts to exceed that number\nreturn error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the new list would block the calling user's current IP, error 400 is returned with\n`error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect.", + "summary": "Create access list.", + "path": "/api/2.0/accounts/{account_id}/ip-access-lists", + "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteKnowledgeAssistantRequest", + "pascal_name": "CreateIpAccessList", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "list_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "list_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } } ] }, "response": { - "is_empty_response": true + "pascal_name": "CreateIpAccessListResponse", + "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_addresses", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "list_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "list_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } } ] }, { - "name": "DeleteKnowledgeSource", - "description": "Deletes a Knowledge Source.", - "summary": "Delete a Knowledge Source.", - "path": "/api/2.1/{name=knowledge-assistants/*/knowledge-sources/*}", + "name": "Delete", + "description": "Deletes an IP access list, specified by its list ID.", + "summary": "Delete access list.", + "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteKnowledgeSourceRequest", + "pascal_name": "DeleteAccountIpAccessListRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140903,8 +141142,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140918,8 +141157,8 @@ }, "all_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140929,8 +141168,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140940,23 +141179,21 @@ ] }, { - "name": "GetExample", - "description": "Gets an example from a Knowledge Assistant.", - "summary": "Get an example from a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*/examples/*}", + "name": "Get", + "description": "Gets an IP access list, specified by its list ID.", + "summary": "Get IP access list.", + "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", "is_crud_read": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetExampleRequest", + "pascal_name": "GetAccountIpAccessListRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140966,8 +141203,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -140977,47 +141214,24 @@ ] }, "response": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "all_fields": [ - { - "name": "name", - "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "pascal_name": "GetIpAccessListResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -141027,184 +141241,96 @@ ] }, { - "name": "GetKnowledgeAssistant", - "description": "Gets a Knowledge Assistant.", - "summary": "Get a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*}", - "is_crud_read": 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", + "name": "List", + "description": "Gets all IP access lists for the specified account.", + "summary": "Get access lists.", + "path": "/api/2.0/accounts/{account_id}/ip-access-lists", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetKnowledgeAssistantRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListIpAccessLists", + "is_object": true }, "response": { - "pascal_name": "KnowledgeAssistant", + "pascal_name": "GetIpAccessListsResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "Replace", + "description": "Replaces an IP access list, specified by its ID.\n\nA list can include allow lists and block lists. See the top of this file for a description\nof how the server treats allow lists and block lists at run time. When replacing an IP\naccess list:\n* For all allow lists and block lists combined, the API supports a maximum of 1000 IP/CIDR values,\nwhere one CIDR counts as a single value. Attempts to exceed that number return error 400 with `error_code`\nvalue `QUOTA_EXCEEDED`.\n* If the resulting list would block the calling user's current IP, error 400 is returned with `error_code`\nvalue `INVALID_STATE`.\nIt can take a few minutes for the changes to take effect.", + "summary": "Replace access list.", + "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ReplaceIpAccessList", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } }, { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - "all_fields": [ - { - "name": "name", - "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetKnowledgeSource", - "description": "Gets a Knowledge Source.", - "summary": "Get a Knowledge Source.", - "path": "/api/2.1/{name=knowledge-assistants/*/knowledge-sources/*}", - "is_crud_read": 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": "GetKnowledgeSourceRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "is_bool": true } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "KnowledgeSource", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } ], "required_request_body_fields": [ { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, "is_request_body_field": true, "entity": { @@ -141212,191 +141338,152 @@ } }, { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "list_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } }, { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } } ] }, + "response": { + "is_empty_response": true + }, "all_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get knowledge assistant permission levels.", - "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}/permissionLevels", - "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": "GetKnowledgeAssistantPermissionLevelsRequest", - "is_object": true, - "required_fields": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { + }, + { + "name": "ip_addresses", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "GetKnowledgeAssistantPermissionLevelsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "list_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } } ], "required_positional_arguments": [ { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "GetPermissions", - "description": "Gets the permissions of a knowledge assistant. Knowledge assistants can inherit permissions from their root object.", - "summary": "Get knowledge assistant permissions.", - "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}", - "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": "GetKnowledgeAssistantPermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "KnowledgeAssistantPermissions", - "is_object": true - }, - "all_fields": [ + }, { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "list_type", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] + } + }, + { + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true } } ] }, { - "name": "ListExamples", - "description": "Lists examples under a Knowledge Assistant.", - "summary": "List examples for a Knowledge Assistant.", - "path": "/api/2.1/{parent=knowledge-assistants/*}/examples", + "name": "Update", + "description": "Updates an existing IP access list, specified by its ID.\n\nA list can include allow lists and block lists. See the top of this file for a description\nof how the server treats allow lists and block lists at run time.\n\nWhen updating an IP access list:\n\n* For all allow lists and block lists combined, the API supports a maximum of 1000\nIP/CIDR values, where one CIDR counts as a single value. Attempts to exceed that number\nreturn error 400 with `error_code` value `QUOTA_EXCEEDED`.\n* If the updated list would block the calling user's current IP, error 400 is returned\nwith `error_code` value `INVALID_STATE`.\n\nIt can take a few minutes for the changes to take effect.", + "summary": "Update access list.", + "path": "/api/2.0/accounts/{account_id}/ip-access-lists/{ip_access_list_id}", + "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListExamplesRequest", + "pascal_name": "UpdateIpAccessList", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -141406,8 +141493,8 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { @@ -141417,305 +141504,160 @@ ] }, "response": { - "pascal_name": "ListExamplesResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "page_size", - "description": "The maximum number of examples to return.\nIf unspecified, at most 100 examples will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", - "is_query": true, + "name": "enabled", + "description": "Specifies whether this IP access list is enabled.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListKnowledgeAssistants", - "description": "List Knowledge Assistants", - "summary": "List Knowledge Assistants.", - "path": "/api/2.1/knowledge-assistants", - "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": "ListKnowledgeAssistantsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListKnowledgeAssistantsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_size", - "description": "The maximum number of knowledge assistants to return.\nIf unspecified, at most 100 knowledge assistants will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", - "is_query": true, - "entity": { - "is_int": true - } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListKnowledgeAssistants` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", - "is_query": true, + "name": "ip_addresses", + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListKnowledgeAssistants` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListKnowledgeSources", - "description": "Lists Knowledge Sources under a Knowledge Assistant.", - "summary": "List Knowledge Sources.", - "path": "/api/2.1/{parent=knowledge-assistants/*}/knowledge-sources", - "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": "ListKnowledgeSourcesRequest", - "is_object": true, - "required_fields": [ - { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "ListKnowledgeSourcesResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } }, { - "name": "page_token", - "is_query": true, + "name": "label", + "description": "Label for the IP access list. This **cannot** be empty.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, + "name": "list_type", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ListType", + "enum": [ + { + "content": "ALLOW" + }, + { + "content": "BLOCK" + } + ] } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "ip_access_list_id", + "description": "The ID for the corresponding IP access list", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] + } + ] + }, + { + "id": "jobs.Jobs", + "name": "Jobs", + "description": "The Jobs API allows you to create, edit, and delete jobs.\n\nYou can use a Databricks job to run a data processing or data analysis task in a Databricks\ncluster with scalable resources. Your job can consist of a single task or can be a large,\nmulti-task workflow with complex dependencies. Databricks manages the task orchestration,\ncluster management, monitoring, and error reporting for all of your jobs. You can run your jobs\nimmediately or periodically through an easy-to-use scheduling system. You can implement\njob tasks using notebooks, JARS, Spark Declarative Pipelines, or Python, Scala, Spark\nsubmit, and Java applications.\n\nYou should never hard code secrets or store them in plain text. Use the [Secrets CLI](https://docs.databricks.com/dev-tools/cli/secrets-cli.html)\nto manage secrets in the [Databricks CLI](https://docs.databricks.com/dev-tools/cli/index.html).\nUse the [Secrets utility](https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-secrets) to reference secrets in notebooks and jobs.", + "package": { + "name": "jobs" + }, + "docs_group": "lakeflow", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "BaseJobSettingsNameToJobIdMap" }, + "request": { + "pascal_name": "ListJobsRequest" + } + }, + "methods": [ { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set knowledge assistant permissions.", - "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}", + "name": "CancelAllRuns", + "description": "Cancels all active runs of a job. The runs are canceled asynchronously, so it doesn't\nprevent new runs from being started.", + "summary": "Cancel all runs of a job.", + "path": "/api/2.2/jobs/runs/cancel-all", "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "KnowledgeAssistantPermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "CancelAllRuns", + "is_object": true }, "response": { - "pascal_name": "KnowledgeAssistantPermissions", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "access_control_list", + "name": "all_queued_runs", + "description": "Optional boolean parameter to cancel all queued runs. If no job_id is provided, all queued runs in the workspace are canceled.", "is_request_body_field": true, "entity": { - "pascal_name": "KnowledgeAssistantAccessControlRequestList", - "array_value": { - "pascal_name": "KnowledgeAssistantAccessControlRequest", - "is_object": true - } + "is_bool": true } }, { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "job_id", + "description": "The canonical identifier of the job to cancel all runs of.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "SyncKnowledgeSources", - "description": "Sync all non-index Knowledge Sources for a Knowledge Assistant (index sources do not require sync)", - "summary": "Syncs all Knowledge Sources for a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*}/knowledge-sources:sync", - "is_crud_create": true, + "name": "CancelRun", + "description": "Cancels a job run or a task run. The run is canceled asynchronously, so it may still be running when\nthis request completes.", + "summary": "Cancel a run.", + "path": "/api/2.2/jobs/runs/cancel", + "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SyncKnowledgeSourcesRequest", + "pascal_name": "CancelRun", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "run_id", + "description": "This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "run_id", + "description": "This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] @@ -141725,1100 +141667,567 @@ }, "all_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "run_id", + "description": "This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "run_id", + "description": "This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } - ] - }, - { - "name": "UpdateExample", - "description": "Updates an example in a Knowledge Assistant.", - "summary": "Update an example in a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*/examples/*}", - "can_use_json": 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": "UpdateExampleRequest", - "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, + ], + "wait": { + "success": [ { - "name": "example", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true - } + "content": "TERMINATED" }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } + "content": "SKIPPED" } ], - "required_in_url_fields": [ + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "Run" + } + }, + "status_path": [ { - "name": "name", - "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "State" }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } + "pascal_name": "LifeCycleState" } ], - "required_request_body_fields": [ + "message_path": [ { - "name": "example", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true - } + "pascal_name": "State" + }, + { + "pascal_name": "StateMessage" } - ] - }, - "request_body_field": { - "name": "example", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + ], + "message_path_head": { + "pascal_name": "State" } + } + }, + { + "name": "Create", + "description": "Create a new job.", + "summary": "Create a new job.", + "path": "/api/2.2/jobs/create", + "can_use_json": true, + "must_use_json": true, + "is_json_only": true, + "is_crud_create": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateJob", + "is_object": true }, "response": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "CreateResponse", + "is_object": true }, "all_fields": [ { - "name": "example", - "required": true, + "name": "access_control_list", + "description": "List of permissions to set on the job.", "is_request_body_field": true, "entity": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "JobAccessControlRequestList", + "array_value": { + "pascal_name": "JobAccessControlRequest", + "is_object": true + } } }, { - "name": "name", - "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", - "required": true, - "is_path": true, + "name": "budget_policy_id", + "description": "The id of the user specified budget policy to use for this job.\nIf not specified, a default budget policy may be applied when creating or modifying the job.\nSee `effective_budget_policy_id` for the budget policy used by this workload.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, + "name": "continuous", + "description": "An optional continuous property for this job. The continuous property will ensure that there is always one run executing. Only one of `schedule` and `continuous` can be used.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_field_mask": true + "pascal_name": "Continuous", + "is_object": true } }, { - "name": "create_time", - "description": "Timestamp when this example was created.", - "is_output_only": true, + "name": "deployment", + "description": "Deployment information for jobs managed by external sources.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "JobDeployment", + "is_object": true } }, { - "name": "example_id", - "description": "The universally unique identifier (UUID) of the example.", - "is_output_only": true, + "name": "description", + "description": "An optional description for the job. The maximum length is 27700 characters in UTF-8 encoding.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "guidelines", - "description": "Guidelines for answering the question. Optional — examples may be created\nwith just a question; the front-end form does not require guidelines.", + "name": "edit_mode", + "description": "Edit mode of the job.\n\n* `UI_LOCKED`: The job is in a locked UI state and cannot be modified.\n* `EDITABLE`: The job is in an editable state and can be modified.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "JobEditMode", + "enum": [ + { + "content": "EDITABLE" + }, + { + "content": "UI_LOCKED" + } + ] } }, { - "name": "name", - "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "name": "email_notifications", + "description": "An optional set of email addresses that is notified when runs of this job begin or complete as well as when this job is deleted.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "JobEmailNotifications", + "is_object": true } }, { - "name": "question", - "description": "The example question.", - "required": true, + "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.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "JobEnvironmentList", + "array_value": { + "pascal_name": "JobEnvironment", + "is_object": true + } } }, { - "name": "update_time", - "description": "Timestamp when this example was last updated.", - "is_output_only": true, + "name": "format", + "description": "Used to tell what is the format of the job. This field is ignored in Create/Update/Reset calls. When using the Jobs API 2.1 this value is always set to `\"MULTI_TASK\"`.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true - } - } - ], - "required_positional_arguments": [ + "pascal_name": "Format", + "enum": [ + { + "content": "MULTI_TASK" + }, + { + "content": "SINGLE_TASK" + } + ] + } + }, { - "name": "name", - "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", - "required": true, - "is_path": true, + "name": "git_source", + "description": "An optional specification for a remote Git repository containing the source code used by tasks. Version-controlled source code is supported by notebook, dbt, Python script, and SQL File tasks.\n\nIf `git_source` is set, these tasks retrieve the file from the remote repository by default. However, this behavior can be overridden by setting `source` to `WORKSPACE` on the task.\n\nNote: dbt and SQL File tasks support only version-controlled sources. If dbt or SQL File tasks are used, `git_source` must be defined on the job.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "GitSource", + "is_object": true } }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, + "name": "health", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_field_mask": true + "pascal_name": "JobsHealthRules", + "is_object": true } }, { - "name": "question", - "description": "The example question.", - "required": true, + "name": "job_clusters", + "description": "A list of job cluster specifications that can be shared and reused by tasks of this job. Libraries cannot be declared in a shared job cluster. You must declare dependent libraries in task settings.", "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "UpdateKnowledgeAssistant", - "description": "Updates a Knowledge Assistant.", - "summary": "Update a Knowledge Assistant.", - "path": "/api/2.1/{name=knowledge-assistants/*}", - "can_use_json": 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": "UpdateKnowledgeAssistantRequest", - "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistant", + "pascal_name": "JobClusterList", + "array_value": { + "pascal_name": "JobCluster", "is_object": true } } - ] - }, - "request_body_field": { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - "response": { - "pascal_name": "KnowledgeAssistant", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "all_fields": [ + }, { - "name": "knowledge_assistant", - "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", - "required": true, + "name": "max_concurrent_runs", + "description": "An optional maximum allowed number of concurrent runs of the job.\nSet this value if you want to be able to execute multiple runs of the same job concurrently.\nThis is useful for example if you trigger your job on a frequent schedule and want to allow consecutive runs to overlap with each other, or if you want to trigger multiple runs which differ by their input parameters.\nThis setting affects only new runs. For example, suppose the job’s concurrency is 4 and there are 4 concurrent active runs. Then setting the concurrency to 3 won’t kill any of the active runs.\nHowever, from then on, new runs are skipped unless there are fewer than 3 active runs.\nThis value cannot exceed 1000. Setting this value to `0` causes all new runs to be skipped.", "is_request_body_field": true, "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_int": true } }, { "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, + "description": "An optional name for the job. The maximum length is 4096 bytes in UTF-8 encoding.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "create_time", - "description": "Creation timestamp.", - "is_output_only": true, + "name": "notification_settings", + "description": "Optional notification settings that are used when sending notifications to each of the `email_notifications` and `webhook_notifications` for this job.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "JobNotificationSettings", + "is_object": true } }, { - "name": "creator", - "description": "The creator of the Knowledge Assistant.", - "is_output_only": true, + "name": "parameters", + "description": "Job-level parameter definitions", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "JobParameterDefinitionList", + "array_value": { + "pascal_name": "JobParameterDefinition", + "is_object": true + } } }, { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, + "name": "parent_path", + "description": "Path of the job parent folder in workspace file tree. If absent, the job doesn't have a workspace object.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, + "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.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PerformanceTarget", + "enum": [ + { + "content": "PERFORMANCE_OPTIMIZED" + }, + { + "content": "STANDARD" + } + ] } }, { - "name": "endpoint_name", - "description": "The name of the knowledge assistant agent endpoint.", - "is_output_only": true, + "name": "queue", + "description": "The queue settings of the job.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "QueueSettings", + "is_object": true } }, { - "name": "error_info", - "description": "Error details when the Knowledge Assistant is in FAILED state.", - "is_output_only": true, + "name": "run_as", + "description": "The user or service principal that the job runs as, if specified in the request.\nThis field indicates the explicit configuration of `run_as` for the job.\nTo find the value in all cases, explicit or implicit, use `run_as_user_name`.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "JobRunAs", + "is_object": true } }, { - "name": "experiment_id", - "description": "The MLflow experiment ID.", - "is_output_only": true, + "name": "schedule", + "description": "An optional periodic schedule for this job. The default behavior is that the job only runs when triggered by clicking “Run Now” in the Jobs UI or sending an API request to `runNow`.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } }, { - "name": "id", - "description": "Deprecated: use knowledge_assistant_id instead.", - "is_output_only": true, + "name": "tags", + "description": "A map of tags associated with the job. These are forwarded to the cluster as cluster tags for jobs clusters, and are subject to the same limitations as cluster tags. A maximum of 25 tags can be added to the job.", "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } }, { - "name": "instructions", - "description": "Additional global instructions on how the agent should generate answers.\nOptional on create and update.\nWhen updating a Knowledge Assistant, include this field in update_mask to\nmodify it.", + "name": "tasks", + "description": "A list of task specifications to be executed by this job.\nIt supports up to 1000 elements in write endpoints (:method:jobs/create, :method:jobs/reset, :method:jobs/update, :method:jobs/submit).\nRead endpoints return only 100 tasks. If more than 100 tasks are available, you can paginate through them using :method:jobs/get. Use the `next_page_token` field at the object root to determine if more results are available.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TaskList", + "array_value": { + "pascal_name": "Task", + "is_object": true + } } }, { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "name": "timeout_seconds", + "description": "An optional timeout applied to each run of this job. A value of `0` means no timeout.", "is_request_body_field": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "state", - "description": "State of the Knowledge Assistant. Not returned in List responses.", - "is_output_only": true, + "name": "trigger", + "description": "A configuration to trigger a run when certain conditions are met. The default behavior is that the job runs only when triggered by clicking “Run Now” in the Jobs UI or sending an API request to `runNow`.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "KnowledgeAssistantState", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "CREATING" - }, - { - "content": "FAILED" - } - ] - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "pascal_name": "TriggerSettings", + "is_object": true } }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", - "required": true, - "is_query": true, + "name": "triggers", + "description": "List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. Gated behind the \"Multiple Triggers\" feature preview.", + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "TriggerConfigurationList", + "array_value": { + "pascal_name": "TriggerConfiguration", + "is_object": true + } } }, { - "name": "display_name", - "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, + "name": "usage_policy_id", + "description": "The id of the user specified usage policy to use for this job.\nIf not specified, a default usage policy may be applied when creating or modifying the job.\nSee `effective_usage_policy_id` for the usage policy used by this workload.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "description", - "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", - "required": true, + "name": "webhook_notifications", + "description": "A collection of system notification IDs to notify when runs of this job begin or complete.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "WebhookNotifications", + "is_object": true } } ] }, { - "name": "UpdateKnowledgeSource", - "description": "Updates a Knowledge Source.", - "summary": "Update a Knowledge Source.", - "path": "/api/2.1/{name=knowledge-assistants/*/knowledge-sources/*}", + "name": "Delete", + "description": "Deletes a job.", + "summary": "Delete a job.", + "path": "/api/2.2/jobs/delete", "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateKnowledgeSourceRequest", + "pascal_name": "DeleteJob", "is_object": true, - "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "knowledge_source", - "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", + "name": "job_id", + "description": "The canonical identifier of the job to delete. This field is required.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "knowledge_source", - "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", + "name": "job_id", + "description": "The canonical identifier of the job to delete. This field is required.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true + "is_int64": true } } ] }, - "request_body_field": { - "name": "knowledge_source", - "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "KnowledgeSource", + "is_empty_response": true + }, + "all_fields": [ + { + "name": "job_id", + "description": "The canonical identifier of the job to delete. This field is required.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_positional_arguments": [ + { + "name": "job_id", + "description": "The canonical identifier of the job to delete. This field is required.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + }, + { + "name": "DeleteRun", + "description": "Deletes a non-active run. Returns an error if the run is active.", + "summary": "Delete a job run.", + "path": "/api/2.2/jobs/runs/delete", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteRun", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "run_id", + "description": "ID of the run to delete.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "run_id", + "description": "ID of the run to delete.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, + "response": { + "is_empty_response": true + }, "all_fields": [ { - "name": "knowledge_source", - "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeSource", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "name", - "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "create_time", - "description": "Timestamp when this knowledge source was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "run_id", + "description": "ID of the run to delete.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "run_id", + "description": "ID of the run to delete.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true - } - }, - { - "name": "file_table", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "FileTableSpec", - "is_object": true - } - }, - { - "name": "files", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "FilesSpec", - "is_object": true - } - }, - { - "name": "id", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "index", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IndexSpec", - "is_object": true + "is_int64": true } - }, - { - "name": "knowledge_cutoff_time", - "description": "Timestamp representing the cutoff before which content in this knowledge source is being ingested.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true + } + ] + }, + { + "name": "ExportRun", + "description": "Export and retrieve the job run task.", + "summary": "Export and retrieve a job run.", + "path": "/api/2.2/jobs/runs/export", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ExportRunRequest", + "is_object": true, + "required_fields": [ + { + "name": "run_id", + "description": "The canonical identifier for the run. This field is required.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } } - }, - { - "name": "name", - "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", - "is_request_body_field": true, - "entity": { - "is_string": true + ], + "required_in_url_fields": [ + { + "name": "run_id", + "description": "The canonical identifier for the run. This field is required.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } } - }, + ] + }, + "response": { + "pascal_name": "ExportRunOutput", + "is_object": true + }, + "all_fields": [ { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "run_id", + "description": "The canonical identifier for the run. This field is required.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "state", - "is_output_only": true, - "is_request_body_field": true, + "name": "views_to_export", + "description": "Which views to export (CODE, DASHBOARDS, or ALL). Defaults to CODE.", + "is_query": true, "entity": { - "pascal_name": "KnowledgeSourceState", + "pascal_name": "ViewsToExport", "enum": [ { - "content": "FAILED_UPDATE" + "content": "ALL" }, { - "content": "UPDATED" + "content": "CODE" }, { - "content": "UPDATING" + "content": "DASHBOARDS" } ] } @@ -142826,70 +142235,109 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "name": "run_id", + "description": "The canonical identifier for the run. This field is required.", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ] + }, + { + "name": "Get", + "description": "Retrieves the details for a single job.\n\nLarge arrays in the results will be paginated when they exceed 100 elements.\nA request for a single job will return all properties for that job, and the first 100 elements of array properties (`tasks`, `job_clusters`, `environments` and `parameters`).\nUse the `next_page_token` field to check for more results and pass its value as the `page_token` in subsequent requests.\nIf any array properties have more than 100 elements, additional results will be returned on subsequent requests. Arrays without additional results will be empty on later pages.", + "summary": "Get a single job.", + "path": "/api/2.2/jobs/get", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetJobRequest", + "is_object": true, + "required_fields": [ + { + "name": "job_id", + "description": "The canonical identifier of the job to retrieve information about. This field is required.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } + } + ], + "required_in_url_fields": [ + { + "name": "job_id", + "description": "The canonical identifier of the job to retrieve information about. This field is required.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } + } + ] + }, + "response": { + "pascal_name": "Job", + "is_object": true + }, + "all_fields": [ { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", - "required": true, + "name": "include_trigger_state", + "description": "Flag that indicates that trigger state should be included in the response.", "is_query": true, "entity": { - "is_field_mask": true + "is_bool": true } }, { - "name": "display_name", - "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "name": "job_id", + "description": "The canonical identifier of the job to retrieve information about. This field is required.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "description", - "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", - "required": true, - "is_request_body_field": true, + "name": "page_token", + "description": "Use `next_page_token` returned from the previous GetJob response to request the next page of the job's array properties.", + "is_query": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "source_type", - "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "name": "job_id", + "description": "The canonical identifier of the job to retrieve information about. This field is required.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a knowledge assistant. Knowledge assistants can inherit permissions from their root object.", - "summary": "Update knowledge assistant permissions.", - "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}", - "can_use_json": true, + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get job permission levels.", + "path": "/api/2.0/permissions/jobs/{job_id}/permissionLevels", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "KnowledgeAssistantPermissionsRequest", + "pascal_name": "GetJobPermissionLevelsRequest", "is_object": true, "required_fields": [ { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -142899,8 +142347,8 @@ ], "required_in_url_fields": [ { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -142910,24 +142358,13 @@ ] }, "response": { - "pascal_name": "KnowledgeAssistantPermissions", + "pascal_name": "GetJobPermissionLevelsResponse", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "KnowledgeAssistantAccessControlRequestList", - "array_value": { - "pascal_name": "KnowledgeAssistantAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -142937,8 +142374,8 @@ ], "required_positional_arguments": [ { - "name": "knowledge_assistant_id", - "description": "The knowledge assistant for which to get or manage permissions.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -142946,859 +142383,702 @@ } } ] - } - ] - }, - { - "id": "dashboards.Lakeview", - "name": "Lakeview", - "description": "These APIs provide specific management operations for Lakeview dashboards. Generic resource management can be done with Workspace API (import, export, get-status, list, delete).", - "package": { - "name": "dashboards" - }, - "docs_group": "dashboards", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListDashboardsRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Create a draft dashboard.", - "summary": "Create dashboard.", - "path": "/api/2.0/lakeview/dashboards", - "can_use_json": true, - "is_crud_create": true, + "name": "GetPermissions", + "description": "Gets the permissions of a job. Jobs can inherit permissions from their root object.", + "summary": "Get job permissions.", + "path": "/api/2.0/permissions/jobs/{job_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateDashboardRequest", + "pascal_name": "GetJobPermissionsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "Dashboard", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "dashboard", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "Dashboard", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "dashboard", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Dashboard", - "is_object": true - } - }, "response": { - "pascal_name": "Dashboard", + "pascal_name": "JobPermissions", "is_object": true }, "all_fields": [ { - "name": "dashboard", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Dashboard", - "is_object": true - } - }, - { - "name": "dataset_catalog", - "description": "Sets the default catalog for all datasets in this dashboard.\nDoes not impact table references that use fully qualified catalog names (ex: samples.nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "dataset_schema", - "description": "Sets the default schema for all datasets in this dashboard.\nDoes not impact table references that use fully qualified schema names (ex: nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "description": "The timestamp of when the dashboard was created.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "display_name", - "description": "The display name of the dashboard.", - "is_request_body_field": true, + "name": "job_id", + "description": "The job for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "etag", - "description": "The etag for the dashboard. Can be optionally provided on updates to ensure that the dashboard\nhas not been modified since the last read.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, - "is_request_body_field": true, - "entity": { - "is_string": true + } + ] + }, + { + "name": "GetRun", + "description": "Retrieves the metadata of a run.\n\nLarge arrays in the results will be paginated when they exceed 100 elements.\nA request for a single run will return all properties for that run, and the first 100 elements of array properties (`tasks`, `job_clusters`, `job_parameters` and `repair_history`).\nUse the next_page_token field to check for more results and pass its value as the page_token in subsequent requests.\nIf any array properties have more than 100 elements, additional results will be returned on subsequent requests. Arrays without additional results will be empty on later pages.", + "summary": "Get a single job run.", + "path": "/api/2.2/jobs/runs/get", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetRunRequest", + "is_object": true, + "required_fields": [ + { + "name": "run_id", + "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } } - }, - { - "name": "lifecycle_state", - "description": "The state of the dashboard resource. Used for tracking trashed status.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LifecycleState", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "TRASHED" - } - ] + ], + "required_in_url_fields": [ + { + "name": "run_id", + "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } } - }, + ] + }, + "response": { + "pascal_name": "Run", + "is_object": true + }, + "all_fields": [ { - "name": "parent_path", - "description": "The workspace path of the folder containing the dashboard. Includes leading slash and no\ntrailing slash.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, - "is_request_body_field": true, + "name": "include_history", + "description": "Whether to include the repair history in the response.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "path", - "description": "The workspace path of the dashboard asset, including the file name.\nExported dashboards always have the file extension `.lvdash.json`.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "include_resolved_values", + "description": "Whether to include resolved parameter values in the response.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "serialized_dashboard", - "description": "The contents of the dashboard in serialized string form.\nThis field is excluded in List Dashboards responses.\nUse the [get dashboard API](https://docs.databricks.com/api/workspace/lakeview/get)\nto retrieve an example response, which includes the `serialized_dashboard` field.\nThis field provides the structure of the JSON string that represents the dashboard's\nlayout and components.", - "is_request_body_field": true, + "name": "page_token", + "description": "Use `next_page_token` returned from the previous GetRun response to request the next page of the run's array properties.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "update_time", - "description": "The timestamp of when the dashboard was last updated by the user.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "run_id", + "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "required": true, + "is_query": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "warehouse_id", - "description": "The warehouse ID used to run the dashboard.", - "is_request_body_field": true, + "name": "run_id", + "description": "The canonical identifier of the run for which to retrieve the metadata.\nThis field is required.", + "required": true, + "is_query": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "CreateSchedule", - "description": "Create dashboard schedule.", - "summary": "Create dashboard schedule.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules", - "can_use_json": true, - "is_crud_create": true, + "name": "GetRunOutput", + "description": "Retrieve the output and metadata of a single task run. When a notebook task returns\na value through the `dbutils.notebook.exit()` call, you can use this endpoint to retrieve\nthat value. Databricks restricts this API to returning the first 5 MB of the output.\nTo return a larger result, you can store job results in a cloud storage service.\n\nThis endpoint validates that the __run_id__ parameter is valid and returns an HTTP status\ncode 400 if the __run_id__ parameter is invalid. Runs are automatically removed after\n60 days. If you to want to reference them beyond 60 days, you must save old run results\nbefore they expire.", + "summary": "Get the output for a single run.", + "path": "/api/2.2/jobs/runs/get-output", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateScheduleRequest", + "pascal_name": "GetRunOutputRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule", - "description": "The schedule to create. A dashboard is limited to 10 schedules.", + "name": "run_id", + "description": "The canonical identifier for the run.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "Schedule", - "is_object": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "schedule", - "description": "The schedule to create. A dashboard is limited to 10 schedules.", + "name": "run_id", + "description": "The canonical identifier for the run.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "Schedule", - "is_object": true + "is_int64": true } } ] }, - "request_body_field": { - "name": "schedule", - "description": "The schedule to create. A dashboard is limited to 10 schedules.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Schedule", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } - } - ] - } - }, "response": { - "pascal_name": "Schedule", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } + "pascal_name": "RunOutput", + "is_object": true + }, + "all_fields": [ + { + "name": "run_id", + "description": "The canonical identifier for the run.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true } - ], - "required_request_body_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } + } + ], + "required_positional_arguments": [ + { + "name": "run_id", + "description": "The canonical identifier for the run.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true } - ] + } + ] + }, + { + "name": "List", + "description": "Retrieves a list of jobs.", + "summary": "List jobs.", + "path": "/api/2.2/jobs/list", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListJobsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListJobsResponse", + "is_object": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, + "name": "expand_tasks", + "description": "Whether to include task and cluster details in the response. Note that only the first 100 elements will be shown.\nUse :method:jobs/get to paginate through all tasks and clusters.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "schedule", - "description": "The schedule to create. A dashboard is limited to 10 schedules.", - "required": true, - "is_request_body_field": true, + "name": "limit", + "description": "The number of jobs to return. This value must be greater than 0 and less or equal to 100. The default value is 20.", + "is_query": true, "entity": { - "pascal_name": "Schedule", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } - } - ] + "is_int": true } }, { - "name": "create_time", - "description": "A timestamp indicating when the schedule was created.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "name", + "description": "A filter on the list based on the exact (case insensitive) job name.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, + "name": "offset", + "description": "The offset of the first job to return, relative to the most recently created job.\nDeprecated since June 2023. Use `page_token` to iterate through the pages instead.", + "is_query": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_int": true } }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "page_token", + "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of jobs respectively.", + "is_query": true, "entity": { "is_string": true } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of jobs respectively.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListRuns", + "description": "List runs in descending order by end time. If a run has not finished, it falls back to start time.", + "summary": "List job runs.", + "path": "/api/2.2/jobs/runs/list", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListRunsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListRunsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "active_only", + "description": "If active_only is `true`, only active runs are included in the results; otherwise,\nlists both active and completed runs. An active run is a run in the `QUEUED`, `PENDING`,\n`RUNNING`, or `TERMINATING`. This field cannot be `true` when completed_only is `true`.", + "is_query": true, + "entity": { + "is_bool": true + } }, { - "name": "display_name", - "description": "The display name for schedule.", - "is_request_body_field": true, + "name": "completed_only", + "description": "If completed_only is `true`, only completed runs are included in the results;\notherwise, lists both active and completed runs. This field cannot be `true` when\nactive_only is `true`.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "etag", - "description": "The etag for the schedule. Must be left empty on create, must be provided on updates to ensure\nthat the schedule has not been modified since the last read, and can be optionally provided on delete.", - "is_computed": true, - "is_request_body_field": true, + "name": "expand_tasks", + "description": "Whether to include task and cluster details in the response. Note that only the first 100 elements will be shown.\nUse :method:jobs/getrun to paginate through all tasks and clusters.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "pause_status", - "description": "The status indicates whether this schedule is paused or not.", - "is_request_body_field": true, + "name": "job_id", + "description": "The job for which to list runs. If omitted, the Jobs service lists runs from all jobs.", + "is_query": true, "entity": { - "pascal_name": "SchedulePauseStatus", - "enum": [ - { - "content": "PAUSED" - }, - { - "content": "UNPAUSED" - } - ] + "is_int64": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "limit", + "description": "The number of runs to return. This value must be greater than 0 and less than 25.\nThe default value is 20. If a request specifies a limit of 0, the service instead\nuses the maximum limit.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "update_time", - "description": "A timestamp indicating when the schedule was last updated.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "offset", + "description": "The offset of the first run to return, relative to the most recent run.\nDeprecated since June 2023. Use `page_token` to iterate through the pages instead.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "warehouse_id", - "description": "The warehouse id to run the dashboard with for the schedule.", - "is_request_body_field": true, + "name": "page_token", + "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of runs respectively.", + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, + "name": "run_type", + "description": "The type of runs to return. For a description of run types, see :method:jobs/getRun.", + "is_query": true, "entity": { - "is_string": true + "pascal_name": "RunType", + "enum": [ + { + "content": "JOB_RUN" + }, + { + "content": "SUBMIT_RUN" + }, + { + "content": "WORKFLOW_RUN" + } + ] } }, { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, + "name": "start_time_from", + "description": "Show runs that started _at or after_ this value. The value must be a UTC timestamp\nin milliseconds. Can be combined with _start_time_to_ to filter by a time range.", + "is_query": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_int64": true + } + }, + { + "name": "start_time_to", + "description": "Show runs that started _at or before_ this value. The value must be a UTC timestamp\nin milliseconds. Can be combined with _start_time_from_ to filter by a time range.", + "is_query": true, + "entity": { + "is_int64": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Use `next_page_token` or `prev_page_token` returned from the previous request to list the next or previous page of runs respectively.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "CreateSubscription", - "description": "Create schedule subscription.", - "summary": "Create schedule subscription.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions", + "name": "RepairRun", + "description": "Re-run one or more tasks. Tasks are re-run as part of the original job run.\nThey use the current job and task settings, and can be viewed in the history for the\noriginal job run.", + "summary": "Repair a job run.", + "path": "/api/2.2/jobs/runs/repair", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateSubscriptionRequest", + "pascal_name": "RepairRun", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "subscription", - "description": "The subscription to create. A schedule is limited to 100 subscriptions.", + "name": "run_id", + "description": "The job run ID of the run to repair. The run must not be in progress.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Subscription", - "is_object": true - } - } - ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "subscription", - "description": "The subscription to create. A schedule is limited to 100 subscriptions.", + "name": "run_id", + "description": "The job run ID of the run to repair. The run must not be in progress.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Subscription", - "is_object": true + "is_int64": true } } ] }, - "request_body_field": { - "name": "subscription", - "description": "The subscription to create. A schedule is limited to 100 subscriptions.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscription", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true - } - } - ] - } - }, "response": { - "pascal_name": "Subscription", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true + "pascal_name": "RepairRunResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "dbt_commands", + "description": "An array of commands to execute for jobs with the dbt task, for example `\"dbt_commands\": [\"dbt deps\", \"dbt seed\", \"dbt deps\", \"dbt seed\", \"dbt run\"]`\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true + }, + { + "name": "jar_params", + "description": "A list of parameters for jobs with Spark JAR tasks, for example `\"jar_params\": [\"john doe\", \"35\"]`.\nThe parameters are used to invoke the main function of the main class specified in the Spark JAR task.\nIf not specified upon `run-now`, it defaults to an empty list.\njar_params cannot be specified in conjunction with notebook_params.\nThe JSON representation of this field (for example `{\"jar_params\":[\"john doe\",\"35\"]}`) cannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true } } - ] - }, - "all_fields": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, + "name": "job_parameters", + "description": "Job-level parameters used in the run. for example `\"param\": \"overriding_val\"`", + "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, + "name": "latest_repair_id", + "description": "The ID of the latest repair. This parameter is not required when repairing a run for the first time, but must be provided on subsequent requests to repair the same run.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "subscription", - "description": "The subscription to create. A schedule is limited to 100 subscriptions.", - "required": true, + "name": "notebook_params", + "description": "A map from keys to values for jobs with notebook task, for example `\"notebook_params\": {\"name\": \"john doe\", \"age\": \"35\"}`.\nThe map is passed to the notebook and is accessible through the [dbutils.widgets.get](https://docs.databricks.com/dev-tools/databricks-utils.html) function.\n\nIf not specified upon `run-now`, the triggered run uses the job’s base parameters.\n\nnotebook_params cannot be specified in conjunction with jar_params.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nThe JSON representation of this field (for example `{\"notebook_params\":{\"name\":\"john doe\",\"age\":\"35\"}}`) cannot exceed 10,000 bytes.", "is_request_body_field": true, "entity": { - "pascal_name": "Subscription", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ + "map_value": { + "is_string": true + } + } + }, + { + "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.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PerformanceTarget", + "enum": [ { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true - } - } - ], - "required_request_body_fields": [ + "content": "PERFORMANCE_OPTIMIZED" + }, { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true - } + "content": "STANDARD" } ] } }, { - "name": "create_time", - "description": "A timestamp indicating when the subscription was created.", - "is_computed": true, - "is_output_only": true, + "name": "pipeline_params", + "description": "Controls whether the pipeline should perform a full refresh", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "PipelineParams", + "is_object": true } }, { - "name": "created_by_user_id", - "description": "UserId of the user who adds subscribers (users or notification destinations) to the dashboard's schedule.", - "is_computed": true, - "is_output_only": true, + "name": "python_named_params", "is_request_body_field": true, "entity": { - "is_int64": true + "map_value": { + "is_string": true + } } }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the subscription belongs.", - "is_computed": true, - "is_output_only": true, + "name": "python_params", + "description": "A list of parameters for jobs with Python tasks, for example `\"python_params\": [\"john doe\", \"35\"]`.\nThe parameters are passed to Python file as command-line parameters. If specified upon `run-now`, it would overwrite\nthe parameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "etag", - "description": "The etag for the subscription. Must be left empty on create, can be optionally provided on delete\nto ensure that the subscription has not been deleted since the last read.", - "is_computed": true, + "name": "rerun_all_failed_tasks", + "description": "If true, repair all failed tasks. Only one of `rerun_tasks` or `rerun_all_failed_tasks` can be used.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule to which the subscription belongs.", - "is_computed": true, - "is_output_only": true, + "name": "rerun_dependent_tasks", + "description": "If true, repair all tasks that depend on the tasks in `rerun_tasks`, even if they were previously successful. Can be also used in combination with `rerun_all_failed_tasks`.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "skip_notify", - "description": "Controls whether notifications are sent to the subscriber for scheduled dashboard refreshes.\nIf not defined, defaults to false in the backend to match the current behavior (refresh and notify)", + "name": "rerun_tasks", + "description": "The task keys of the task runs to repair.", "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "name": "run_id", + "description": "The job run ID of the run to repair. The run must not be in progress.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Subscriber", - "is_object": true + "is_int64": true } }, { - "name": "subscription_id", - "description": "UUID identifying the subscription.", - "is_computed": true, - "is_output_only": true, + "name": "spark_submit_params", + "description": "A list of parameters for jobs with spark submit task, for example `\"spark_submit_params\": [\"--class\", \"org.apache.spark.examples.SparkPi\"]`.\nThe parameters are passed to spark-submit script as command-line parameters. If specified upon `run-now`, it would overwrite the\nparameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "update_time", - "description": "A timestamp indicating when the subscription was last updated.", - "is_computed": true, - "is_output_only": true, + "name": "sql_params", + "description": "A map from keys to values for jobs with SQL task, for example `\"sql_params\": {\"name\": \"john doe\", \"age\": \"35\"}`. The SQL alert task does not support custom parameters.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } } ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the subscription belongs.", + "name": "run_id", + "description": "The job run ID of the run to repair. The run must not be in progress.", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule to which the subscription belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true + } + ], + "wait": { + "success": [ + { + "content": "TERMINATED" + }, + { + "content": "SKIPPED" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "Run" } }, - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "LifeCycleState" + } + ], + "message_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "StateMessage" } + ], + "message_path_head": { + "pascal_name": "State" } - ] + } }, { - "name": "DeleteSchedule", - "description": "Delete dashboard schedule.", - "summary": "Delete dashboard schedule.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", - "has_required_positional_arguments": true, + "name": "Reset", + "description": "Overwrite all settings for the given job. Use the [_Update_ endpoint](:method:jobs/update) to update job settings partially.", + "summary": "Update all job settings (reset).", + "path": "/api/2.2/jobs/reset", + "can_use_json": true, + "must_use_json": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteScheduleRequest", + "pascal_name": "ResetJob", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", + "name": "job_id", + "description": "The canonical identifier of the job to reset. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", + "name": "new_settings", + "description": "The new settings of the job. These settings completely replace the old settings.\n\nChanges to the field `JobBaseSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "JobSettings", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", + "name": "job_id", + "description": "The canonical identifier of the job to reset. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", + "name": "new_settings", + "description": "The new settings of the job. These settings completely replace the old settings.\n\nChanges to the field `JobBaseSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "JobSettings", + "is_object": true } } ] @@ -143808,271 +143088,279 @@ }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", + "name": "job_id", + "description": "The canonical identifier of the job to reset. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "etag", - "description": "The etag for the schedule. Optionally, it can be provided to verify that the schedule has not\nbeen modified from its last retrieval.", - "is_query": true, + "name": "new_settings", + "description": "The new settings of the job. These settings completely replace the old settings.\n\nChanges to the field `JobBaseSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", + "required": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "pascal_name": "JobSettings", + "is_object": true } } ] }, { - "name": "DeleteSubscription", - "description": "Delete schedule subscription.", - "summary": "Delete schedule subscription.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id}", + "name": "RunNow", + "description": "Run a job and return the `run_id` of the triggered run.", + "summary": "Trigger a new job run.", + "path": "/api/2.2/jobs/run-now", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteSubscriptionRequest", + "pascal_name": "RunNow", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "subscription_id", - "description": "UUID identifying the subscription.", + "name": "job_id", + "description": "The ID of the job to be executed", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, + "required_request_body_fields": [ { - "name": "subscription_id", - "description": "UUID identifying the subscription.", + "name": "job_id", + "description": "The ID of the job to be executed", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "is_empty_response": true + "pascal_name": "RunNowResponse", + "is_object": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, + "name": "dbt_commands", + "description": "An array of commands to execute for jobs with the dbt task, for example `\"dbt_commands\": [\"dbt deps\", \"dbt seed\", \"dbt deps\", \"dbt seed\", \"dbt run\"]`\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "etag", - "description": "The etag for the subscription. Can be optionally provided to ensure that the subscription has not been\nmodified since the last read.", - "is_query": true, + "name": "idempotency_token", + "description": "An optional token to guarantee the idempotency of job run requests. If a run with the provided token already exists,\nthe request does not create a new run but returns the ID of the existing run instead. If a run with the provided token is deleted,\nan error is returned.\n\nIf you specify the idempotency token, upon failure you can retry until the request succeeds. Databricks guarantees that exactly one run\nis launched with that idempotency token.\n\nThis token must have at most 64 characters.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, + "name": "jar_params", + "description": "A list of parameters for jobs with Spark JAR tasks, for example `\"jar_params\": [\"john doe\", \"35\"]`.\nThe parameters are used to invoke the main function of the main class specified in the Spark JAR task.\nIf not specified upon `run-now`, it defaults to an empty list.\njar_params cannot be specified in conjunction with notebook_params.\nThe JSON representation of this field (for example `{\"jar_params\":[\"john doe\",\"35\"]}`) cannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "subscription_id", - "description": "UUID identifying the subscription.", + "name": "job_id", + "description": "The ID of the job to be executed", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, + "name": "job_parameters", + "description": "Job-level parameters used in the run. for example `\"param\": \"overriding_val\"`", + "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, + "name": "notebook_params", + "description": "A map from keys to values for jobs with notebook task, for example `\"notebook_params\": {\"name\": \"john doe\", \"age\": \"35\"}`.\nThe map is passed to the notebook and is accessible through the [dbutils.widgets.get](https://docs.databricks.com/dev-tools/databricks-utils.html) function.\n\nIf not specified upon `run-now`, the triggered run uses the job’s base parameters.\n\nnotebook_params cannot be specified in conjunction with jar_params.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nThe JSON representation of this field (for example `{\"notebook_params\":{\"name\":\"john doe\",\"age\":\"35\"}}`) cannot exceed 10,000 bytes.", + "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } }, { - "name": "subscription_id", - "description": "UUID identifying the subscription.", - "required": true, - "is_path": true, + "name": "only", + "description": "A list of task keys to run inside of the job. If this field is not provided, all tasks in the job will be run.\n\nPrefix a task key with `+` to also run its upstream tasks, or suffix it with `+` to also run its downstream tasks.\nFor example, `+my_task` runs `my_task` and everything upstream of it, `my_task+` runs `my_task` and everything\ndownstream of it, and `+my_task+` runs both. A task key with no `+` runs only that task.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } - } - ] - }, - { - "name": "Get", - "description": "Get a draft dashboard.", - "summary": "Get dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetDashboardRequest", - "is_object": true, - "required_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, - "entity": { + }, + { + "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.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PerformanceTarget", + "enum": [ + { + "content": "PERFORMANCE_OPTIMIZED" + }, + { + "content": "STANDARD" + } + ] + } + }, + { + "name": "pipeline_params", + "description": "Controls whether the pipeline should perform a full refresh", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineParams", + "is_object": true + } + }, + { + "name": "python_named_params", + "is_request_body_field": true, + "entity": { + "map_value": { "is_string": true } } - ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, - "entity": { + }, + { + "name": "python_params", + "description": "A list of parameters for jobs with Python tasks, for example `\"python_params\": [\"john doe\", \"35\"]`.\nThe parameters are passed to Python file as command-line parameters. If specified upon `run-now`, it would overwrite\nthe parameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "Dashboard", - "is_object": true - }, - "all_fields": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, + "name": "queue", + "description": "The queue settings of the run.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "QueueSettings", + "is_object": true + } + }, + { + "name": "spark_submit_params", + "description": "A list of parameters for jobs with spark submit task, for example `\"spark_submit_params\": [\"--class\", \"org.apache.spark.examples.SparkPi\"]`.\nThe parameters are passed to spark-submit script as command-line parameters. If specified upon `run-now`, it would overwrite the\nparameters specified in job setting. The JSON representation of this field (for example `{\"python_params\":[\"john doe\",\"35\"]}`)\ncannot exceed 10,000 bytes.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.\n\nImportant\n\nThese parameters accept only Latin characters (ASCII character set). Using non-ASCII characters returns an error.\nExamples of invalid, non-ASCII characters are Chinese, Japanese kanjis, and emojis.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "sql_params", + "description": "A map from keys to values for jobs with SQL task, for example `\"sql_params\": {\"name\": \"john doe\", \"age\": \"35\"}`. The SQL alert task does not support custom parameters.\n\n⚠ **Deprecation note** Use [job parameters](https://docs.databricks.com/jobs/job-parameters.html#job-parameter-pushdown) to pass information down to tasks.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } } } ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", + "name": "job_id", + "description": "The ID of the job to be executed", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } - ] + ], + "wait": { + "success": [ + { + "content": "TERMINATED" + }, + { + "content": "SKIPPED" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "Run" + } + }, + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "LifeCycleState" + } + ], + "message_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "StateMessage" + } + ], + "message_path_head": { + "pascal_name": "State" + } + } }, { - "name": "GetPublished", - "description": "Get the current published dashboard.", - "summary": "Get published dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", - "is_crud_read": true, + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set job permissions.", + "path": "/api/2.0/permissions/jobs/{job_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPublishedDashboardRequest", + "pascal_name": "JobPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144082,8 +143370,8 @@ ], "required_in_url_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144093,13 +143381,24 @@ ] }, "response": { - "pascal_name": "PublishedDashboard", + "pascal_name": "JobPermissions", "is_object": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "JobAccessControlRequestList", + "array_value": { + "pascal_name": "JobAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144109,8 +143408,8 @@ ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144120,468 +143419,320 @@ ] }, { - "name": "GetSchedule", - "description": "Get dashboard schedule.", - "summary": "Get dashboard schedule.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", - "is_crud_read": true, + "name": "Submit", + "description": "Submit a one-time run. This endpoint allows you to submit a workload directly\nwithout creating a job. Runs submitted using this endpoint don’t display in\nthe UI. Use the `jobs/runs/get` API to check the run state after the job is\nsubmitted.\n\n**Important:** Jobs submitted using this endpoint are not saved as a job.\nThey do not show up in the Jobs UI, and do not retry when they fail. Because\nthey are not saved, Databricks cannot auto-optimize serverless compute in case\nof failure. If your job fails, you may want to use classic compute to specify\nthe compute needs for the job. Alternatively, use the `POST /jobs/create` and\n`POST /jobs/run-now` endpoints to create and run a saved job.", + "summary": "Create and trigger a one-time run.", + "path": "/api/2.2/jobs/runs/submit", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetScheduleRequest", - "is_object": true, - "required_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "SubmitRun", + "is_object": true }, "response": { - "pascal_name": "Schedule", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CronSchedule", - "is_object": true - } - } - ] + "pascal_name": "SubmitRunResponse", + "is_object": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, + "name": "access_control_list", + "description": "List of permissions to set on the job.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "JobAccessControlRequestList", + "array_value": { + "pascal_name": "JobAccessControlRequest", + "is_object": true + } } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "required": true, - "is_path": true, + "name": "budget_policy_id", + "description": "The user specified id of the budget policy to use for this one-time run.\nIf not specified, the run will be not be attributed to any budget policy.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, + "name": "email_notifications", + "description": "An optional set of email addresses notified when the run begins or completes.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "JobEmailNotifications", + "is_object": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "required": true, - "is_path": true, + "name": "environments", + "description": "A list of task execution environment specifications that can be referenced by tasks of this run.", + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetSubscription", - "description": "Get schedule subscription.", - "summary": "Get schedule subscription.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetSubscriptionRequest", - "is_object": true, - "required_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "subscription_id", - "description": "UUID identifying the subscription.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "subscription_id", - "description": "UUID identifying the subscription.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "Subscription", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", + "pascal_name": "JobEnvironmentList", + "array_value": { + "pascal_name": "JobEnvironment", "is_object": true } } - ], - "required_request_body_fields": [ - { - "name": "subscriber", - "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Subscriber", - "is_object": true - } + }, + { + "name": "git_source", + "description": "An optional specification for a remote Git repository containing the source code used by tasks. Version-controlled source code is supported by notebook, dbt, Python script, and SQL File tasks.\n\nIf `git_source` is set, these tasks retrieve the file from the remote repository by default. However, this behavior can be overridden by setting `source` to `WORKSPACE` on the task.\n\nNote: dbt and SQL File tasks support only version-controlled sources. If dbt or SQL File tasks are used, `git_source` must be defined on the job.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GitSource", + "is_object": true } - ] - }, - "all_fields": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, + "name": "health", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "JobsHealthRules", + "is_object": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, + "name": "idempotency_token", + "description": "An optional token that can be used to guarantee the idempotency of job run requests. If a run with the provided token already exists,\nthe request does not create a new run but returns the ID of the existing run instead. If a run with the provided token is deleted,\nan error is returned.\n\nIf you specify the idempotency token, upon failure you can retry until the request succeeds. Databricks guarantees that exactly\none run is launched with that idempotency token.\n\nThis token must have at most 64 characters.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "subscription_id", - "description": "UUID identifying the subscription.", - "required": true, - "is_path": true, + "name": "notification_settings", + "description": "Optional notification settings that are used when sending notifications to each of the `email_notifications` and `webhook_notifications` for this run.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "JobNotificationSettings", + "is_object": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscription belongs.", - "required": true, - "is_path": true, + "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.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PerformanceTarget", + "enum": [ + { + "content": "PERFORMANCE_OPTIMIZED" + }, + { + "content": "STANDARD" + } + ] } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscription belongs.", - "required": true, - "is_path": true, + "name": "queue", + "description": "The queue settings of the one-time run.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "QueueSettings", + "is_object": true } }, { - "name": "subscription_id", - "description": "UUID identifying the subscription.", - "required": true, - "is_path": true, + "name": "run_as", + "description": "Specifies the user or service principal that the job runs as. If not specified, the job runs as the user who submits the request.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "JobRunAs", + "is_object": true + } + }, + { + "name": "run_name", + "description": "An optional name for the run. The default value is `Untitled`.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "List", - "description": "List dashboards.", - "summary": "List dashboards.", - "path": "/api/2.0/lakeview/dashboards", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListDashboardsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListDashboardsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "page_size", - "description": "The number of dashboards to return per page.", - "is_query": true, + "name": "tasks", + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "SubmitTaskList", + "array_value": { + "pascal_name": "SubmitTask", + "is_object": true + } } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListDashboards` call.\nThis token can be used to retrieve the subsequent page.", - "is_query": true, + "name": "timeout_seconds", + "description": "An optional timeout applied to each run of this job. A value of `0` means no timeout.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "show_trashed", - "description": "The flag to include dashboards located in the trash.\nIf unspecified, only active dashboards will be returned.", - "is_query": true, + "name": "usage_policy_id", + "description": "The user specified id of the usage policy to use for this one-time run.\nIf not specified, a default usage policy may be applied when creating or modifying the job.", + "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "view", - "description": "`DASHBOARD_VIEW_BASIC` only includes summary metadata from the dashboard.", - "is_query": true, + "name": "webhook_notifications", + "description": "A collection of system notification IDs to notify when the run begins or completes.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "DashboardView", - "enum": [ - { - "content": "DASHBOARD_VIEW_BASIC" - } - ] + "pascal_name": "WebhookNotifications", + "is_object": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListDashboards` call.\nThis token can be used to retrieve the subsequent page.", - "is_query": true, - "entity": { - "is_string": true - } + "wait": { + "success": [ + { + "content": "TERMINATED" + }, + { + "content": "SKIPPED" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "Run" + } + }, + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "LifeCycleState" } + ], + "message_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "StateMessage" + } + ], + "message_path_head": { + "pascal_name": "State" } } }, { - "name": "ListSchedules", - "description": "List dashboard schedules.", - "summary": "List dashboard schedules.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules", + "name": "Update", + "description": "Add, update, or remove specific settings of an existing job. Use the [_Reset_ endpoint](:method:jobs/reset) to overwrite all job settings.", + "summary": "Update job settings partially.", + "path": "/api/2.2/jobs/update", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSchedulesRequest", + "pascal_name": "UpdateJob", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedules belongs.", + "name": "job_id", + "description": "The canonical identifier of the job to update. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedules belongs.", + "name": "job_id", + "description": "The canonical identifier of the job to update. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "ListSchedulesResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedules belongs.", - "required": true, - "is_path": true, + "name": "fields_to_remove", + "description": "Remove top-level fields in the job settings. Removing nested fields is not supported, except for tasks and job clusters (`tasks/task_1`). This field is optional.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "page_size", - "description": "The number of schedules to return per page.", - "is_query": true, + "name": "job_id", + "description": "The canonical identifier of the job to update. This field is required.", + "required": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_int64": true } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListSchedules` call.\nUse this to retrieve the subsequent page.", - "is_query": true, + "name": "new_settings", + "description": "The new settings for the job.\n\nTop-level fields specified in `new_settings` are completely replaced, except for arrays which are merged. That is, new and existing entries are completely replaced based on the respective key fields, i.e. `task_key` or `job_cluster_key`, while previous entries are kept.\n\nPartially updating nested fields is not supported.\n\nChanges to the field `JobSettings.timeout_seconds` are applied to active runs. Changes to other fields are applied to future runs only.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "JobSettings", + "is_object": true } } ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedules belongs.", + "name": "job_id", + "description": "The canonical identifier of the job to update. This field is required.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListSchedules` call.\nUse this to retrieve the subsequent page.", - "is_query": true, - "entity": { - "is_string": true - } + "is_int64": true } } - } + ] }, { - "name": "ListSubscriptions", - "description": "List schedule subscriptions.", - "summary": "List schedule subscriptions.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions", + "name": "UpdatePermissions", + "description": "Updates the permissions on a job. Jobs can inherit permissions from their root object.", + "summary": "Update job permissions.", + "path": "/api/2.0/permissions/jobs/{job_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSubscriptionsRequest", + "pascal_name": "JobPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscriptions belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscriptions belongs.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144591,17 +143742,8 @@ ], "required_in_url_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscriptions belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscriptions belongs.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144611,38 +143753,24 @@ ] }, "response": { - "pascal_name": "ListSubscriptionsResponse", + "pascal_name": "JobPermissions", "is_object": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscriptions belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "page_size", - "description": "The number of subscriptions to return per page.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "A page token, received from a previous `ListSubscriptions` call.\nUse this to retrieve the subsequent page.", - "is_query": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "JobAccessControlRequestList", + "array_value": { + "pascal_name": "JobAccessControlRequest", + "is_object": true + } } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscriptions belongs.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -144652,169 +143780,194 @@ ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard which the subscriptions belongs.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule which the subscriptions belongs.", + "name": "job_id", + "description": "The job for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListSubscriptions` call.\nUse this to retrieve the subsequent page.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, + ] + } + ] + }, + { + "id": "knowledgeassistants.KnowledgeAssistants", + "name": "KnowledgeAssistants", + "description": "Manage Knowledge Assistants and related resources.", + "package": { + "name": "knowledgeassistants" + }, + "docs_group": "agentbricks", + "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", + "list": { + "request": { + "pascal_name": "ListExamplesRequest" + } + }, + "methods": [ { - "name": "Migrate", - "description": "Migrates a classic SQL dashboard to Lakeview.", - "summary": "Migrate dashboard.", - "path": "/api/2.0/lakeview/dashboards/migrate", + "name": "CreateExample", + "description": "Creates an example for a Knowledge Assistant.", + "summary": "Create an example for a Knowledge Assistant.", + "path": "/api/2.1/{parent=knowledge-assistants/*}/examples", "can_use_json": true, "is_crud_create": 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": "MigrateDashboardRequest", + "pascal_name": "CreateExampleRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "source_dashboard_id", - "description": "UUID of the dashboard to be migrated.", + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - } + }, + { + "name": "example", + "description": "The example to create under the parent Knowledge Assistant.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } ], "required_request_body_fields": [ { - "name": "source_dashboard_id", - "description": "UUID of the dashboard to be migrated.", + "name": "example", + "description": "The example to create under the parent Knowledge Assistant.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Example", + "is_object": true } } ] }, - "response": { - "pascal_name": "Dashboard", - "is_object": true - }, - "all_fields": [ - { - "name": "display_name", - "description": "Display name for the new Lakeview dashboard.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent_path", - "description": "The workspace path of the folder to contain the migrated Lakeview dashboard.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source_dashboard_id", - "description": "UUID of the dashboard to be migrated.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_parameter_syntax", - "description": "Flag to indicate if mustache parameter syntax ({{ param }}) should be auto-updated\nto named syntax (:param) when converting datasets in the dashboard.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - } - ], - "required_positional_arguments": [ - { - "name": "source_dashboard_id", - "description": "UUID of the dashboard to be migrated.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "request_body_field": { + "name": "example", + "description": "The example to create under the parent Knowledge Assistant.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } - ] - }, - { - "name": "Publish", - "description": "Publish the current draft dashboard.", - "summary": "Publish dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "PublishRequest", + }, + "response": { + "pascal_name": "Example", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to be published.", + "name": "question", + "description": "The example question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to be published.", + "name": "question", + "description": "The example question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "PublishedDashboard", - "is_object": true - }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to be published.", + "name": "example", + "description": "The example to create under the parent Knowledge Assistant.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + { + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -144822,161 +143975,78 @@ } }, { - "name": "embed_credentials", - "description": "Flag to indicate if the publisher's credentials should be embedded in the\npublished dashboard. These embedded credentials will be used to execute the\npublished dashboard's queries.", + "name": "create_time", + "description": "Timestamp when this example was created.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_bool": true + "is_timestamp": true } }, { - "name": "warehouse_id", - "description": "The ID of the warehouse that can be used to override the warehouse which\nwas set in the draft.", + "name": "example_id", + "description": "The universally unique identifier (UUID) of the example.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to be published.", - "required": true, - "is_path": true, + "name": "guidelines", + "description": "Guidelines for answering the question. Optional — examples may be created\nwith just a question; the front-end form does not require guidelines.", + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Revert", - "description": "Revert a dashboard's definition in draft mode to the last published version.", - "summary": "Revert dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/revert", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "RevertDashboardRequest", - "is_object": true, - "required_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, - "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "RevertDashboardResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, + "name": "name", + "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "etag", - "description": "The etag for the dashboard. Optionally, it can be provided to verify that the dashboard\nhas not been modified from its last retrieval.", - "is_computed": true, + "name": "question", + "description": "The example question.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, + "name": "update_time", + "description": "Timestamp when this example was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } } - ] - }, - { - "name": "Trash", - "description": "Trash a dashboard.", - "summary": "Trash dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "TrashDashboardRequest", - "is_object": true, - "required_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "TrashDashboardResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ + ], + "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", + "name": "question", + "description": "The example question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -144984,178 +144054,207 @@ ] }, { - "name": "Unpublish", - "description": "Unpublish the dashboard.", - "summary": "Unpublish dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", + "name": "CreateKnowledgeAssistant", + "description": "Creates a Knowledge Assistant.", + "summary": "Create a Knowledge Assistant.", + "path": "/api/2.1/knowledge-assistants", + "can_use_json": true, + "is_crud_create": 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": "UnpublishDashboardRequest", + "pascal_name": "CreateKnowledgeAssistantRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "knowledge_assistant", + "description": "The Knowledge Assistant to create.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeAssistant", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "knowledge_assistant", + "description": "The Knowledge Assistant to create.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeAssistant", + "is_object": true } } ] }, - "response": { - "pascal_name": "UnpublishDashboardResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "request_body_field": { + "name": "knowledge_assistant", + "description": "The Knowledge Assistant to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeAssistant", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } - ] - }, - { - "name": "Update", - "description": "Update a draft dashboard.", - "summary": "Update dashboard.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "UpdateDashboardRequest", + }, + "response": { + "pascal_name": "KnowledgeAssistant", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "dashboard", + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Dashboard", - "is_object": true + "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "dashboard", + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Dashboard", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "dashboard", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Dashboard", - "is_object": true - } - }, - "response": { - "pascal_name": "Dashboard", - "is_object": true - }, "all_fields": [ { - "name": "dashboard", + "name": "knowledge_assistant", + "description": "The Knowledge Assistant to create.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Dashboard", - "is_object": true + "pascal_name": "KnowledgeAssistant", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "required": true, - "is_path": true, + "name": "create_time", + "description": "Creation timestamp.", "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true - } - }, - { - "name": "dataset_catalog", - "description": "Sets the default catalog for all datasets in this dashboard.\nDoes not impact table references that use fully qualified catalog names (ex: samples.nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "dataset_schema", - "description": "Sets the default schema for all datasets in this dashboard.\nDoes not impact table references that use fully qualified schema names (ex: nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", - "is_query": true, - "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "create_time", - "description": "The timestamp of when the dashboard was created.", - "is_computed": true, + "name": "creator", + "description": "The creator of the Knowledge Assistant.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -145163,10 +144262,9 @@ } }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", - "is_computed": true, - "is_output_only": true, + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true @@ -145174,52 +144272,43 @@ }, { "name": "display_name", - "description": "The display name of the dashboard.", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "etag", - "description": "The etag for the dashboard. Can be optionally provided on updates to ensure that the dashboard\nhas not been modified since the last read.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, + "name": "endpoint_name", + "description": "The name of the knowledge assistant agent endpoint.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "lifecycle_state", - "description": "The state of the dashboard resource. Used for tracking trashed status.", - "is_computed": true, + "name": "error_info", + "description": "Error details when the Knowledge Assistant is in FAILED state.", "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "LifecycleState", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "TRASHED" - } - ] + "is_string": true } }, { - "name": "parent_path", - "description": "The workspace path of the folder containing the dashboard. Includes leading slash and no\ntrailing slash.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, + "name": "experiment_id", + "description": "The MLflow experiment ID.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "path", - "description": "The workspace path of the dashboard asset, including the file name.\nExported dashboards always have the file extension `.lvdash.json`.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, + "name": "id", + "description": "Deprecated: use knowledge_assistant_id instead.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -145227,39 +144316,57 @@ } }, { - "name": "serialized_dashboard", - "description": "The contents of the dashboard in serialized string form.\nThis field is excluded in List Dashboards responses.\nUse the [get dashboard API](https://docs.databricks.com/api/workspace/lakeview/get)\nto retrieve an example response, which includes the `serialized_dashboard` field.\nThis field provides the structure of the JSON string that represents the dashboard's\nlayout and components.", + "name": "instructions", + "description": "Additional global instructions on how the agent should generate answers.\nOptional on create and update.\nWhen updating a Knowledge Assistant, include this field in update_mask to\nmodify it.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_time", - "description": "The timestamp of when the dashboard was last updated by the user.\nThis field is excluded in List Dashboards responses.", - "is_computed": true, - "is_output_only": true, + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "warehouse_id", - "description": "The warehouse ID used to run the dashboard.", + "name": "state", + "description": "State of the Knowledge Assistant. Not returned in List responses.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeAssistantState", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "CREATING" + }, + { + "content": "FAILED" + } + ] } } ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard.", + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -145267,67 +144374,47 @@ ] }, { - "name": "UpdateSchedule", - "description": "Update dashboard schedule.", - "summary": "Update dashboard schedule.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", + "name": "CreateKnowledgeSource", + "description": "Creates a Knowledge Source under a Knowledge Assistant.", + "summary": "Create a Knowledge Source.", + "path": "/api/2.1/{parent=knowledge-assistants/*}/knowledge-sources", "can_use_json": true, + "is_crud_create": 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": "UpdateScheduleRequest", + "pascal_name": "CreateKnowledgeSourceRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule.", + "name": "parent", + "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, - "is_output_only": true, "entity": { "is_string": true } }, { - "name": "schedule", - "description": "The schedule to update.", + "name": "knowledge_source", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Schedule", + "pascal_name": "KnowledgeSource", "is_object": true } } ], "required_in_url_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule_id", - "description": "UUID identifying the schedule.", + "name": "parent", + "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, - "is_output_only": true, "entity": { "is_string": true } @@ -145335,293 +144422,391 @@ ], "required_request_body_fields": [ { - "name": "schedule", - "description": "The schedule to update.", + "name": "knowledge_source", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Schedule", + "pascal_name": "KnowledgeSource", "is_object": true } } ] }, "request_body_field": { - "name": "schedule", - "description": "The schedule to update.", + "name": "knowledge_source", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Schedule", + "pascal_name": "KnowledgeSource", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] } }, "response": { - "pascal_name": "Schedule", + "pascal_name": "KnowledgeSource", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "required": true, - "is_path": true, - "is_output_only": true, - "entity": { - "is_string": true - } - }, - { - "name": "schedule", - "description": "The schedule to update.", + "name": "knowledge_source", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Schedule", + "pascal_name": "KnowledgeSource", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", + "name": "parent", + "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, - "is_output_only": true, "entity": { "is_string": true } }, { "name": "create_time", - "description": "A timestamp indicating when the schedule was created.", - "is_computed": true, + "description": "Timestamp when this knowledge source was created.", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true } }, { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", - "is_computed": true, - "is_output_only": true, + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "display_name", - "description": "The display name for schedule.", + "name": "file_table", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "FileTableSpec", + "is_object": true } }, { - "name": "etag", - "description": "The etag for the schedule. Must be left empty on create, must be provided on updates to ensure\nthat the schedule has not been modified since the last read, and can be optionally provided on delete.", - "is_computed": true, + "name": "files", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "FilesSpec", + "is_object": true + } + }, + { + "name": "id", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "pause_status", - "description": "The status indicates whether this schedule is paused or not.", + "name": "index", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "SchedulePauseStatus", - "enum": [ - { - "content": "PAUSED" - }, - { - "content": "UNPAUSED" - } - ] + "pascal_name": "IndexSpec", + "is_object": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", - "is_computed": true, + "name": "knowledge_cutoff_time", + "description": "Timestamp representing the cutoff before which content in this knowledge source is being ingested.", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "update_time", - "description": "A timestamp indicating when the schedule was last updated.", - "is_computed": true, - "is_output_only": true, + "name": "name", + "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "warehouse_id", - "description": "The warehouse id to run the dashboard with for the schedule.", + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "state", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeSourceState", + "enum": [ + { + "content": "FAILED_UPDATE" + }, + { + "content": "UPDATED" + }, + { + "content": "UPDATING" + } + ] + } } ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the dashboard to which the schedule belongs.", + "name": "parent", + "description": "Parent resource where this source will be created.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, - "is_output_only": true, "entity": { "is_string": true } }, { - "name": "schedule_id", - "description": "UUID identifying the schedule.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "cron_schedule", - "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CronSchedule", - "is_object": true + "is_string": true } - } - ] - } - ] - }, - { - "id": "dashboards.LakeviewEmbedded", - "name": "LakeviewEmbedded", - "description": "Token-based Lakeview APIs for embedding dashboards in external applications.", - "package": { - "name": "dashboards" - }, - "docs_group": "dashboards", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, { - "name": "GetPublishedDashboardTokenInfo", - "description": "Get a required authorization details and scopes of a published dashboard to mint an OAuth token.", - "summary": "Read information of a published dashboard to mint an OAuth token.", - "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published/tokeninfo", - "is_crud_read": true, + "name": "DeleteExample", + "description": "Deletes an example from a Knowledge Assistant.", + "summary": "Delete an example from a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*/examples/*}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "GetPublishedDashboardTokenInfoRequest", + "pascal_name": "DeleteExampleRequest", "is_object": true, "required_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "name", + "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -145631,8 +144816,8 @@ ], "required_in_url_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "name", + "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -145642,40 +144827,23 @@ ] }, "response": { - "pascal_name": "GetPublishedDashboardTokenInfoResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "name", + "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "external_value", - "description": "Provided external value to be included in the custom claim.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "external_viewer_id", - "description": "Provided external viewer id to be included in the custom claim.", - "is_query": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "dashboard_id", - "description": "UUID identifying the published dashboard.", + "name": "name", + "description": "The resource name of the example to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -145683,60 +144851,26 @@ } } ] - } - ] - }, - { - "id": "compute.Libraries", - "name": "Libraries", - "description": "The Libraries API allows you to install and uninstall libraries and get the status of libraries on a cluster.\n\nTo make third-party or custom code available to notebooks and jobs running on your clusters, you can install a library.\nLibraries can be written in Python, Java, Scala, and R. You can upload Python, Java, Scala and R libraries and\npoint to external packages in PyPI, Maven, and CRAN repositories.\n\nCluster libraries can be used by all notebooks running on a cluster. You can install a cluster library directly\nfrom a public repository such as PyPI or Maven, using a previously installed workspace library, or using an init script.\n\nWhen you uninstall a library from a cluster, the library is removed only when you restart the cluster.\nUntil you restart the cluster, the status of the uninstalled library appears as Uninstall pending restart.", - "package": { - "name": "compute" - }, - "docs_group": "compute", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ClusterStatus" - } - }, - "methods": [ - { - "name": "AllClusterStatuses", - "description": "Get the status of all libraries on all clusters. A status is returned for all libraries installed on this cluster\nvia the API or the libraries UI.", - "summary": "Get all statuses.", - "path": "/api/2.0/libraries/all-cluster-statuses", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListAllClusterLibraryStatuses", - "is_object": true - }, - "response": { - "pascal_name": "ListAllClusterLibraryStatusesResponse", - "is_object": true - }, - "pagination": {} }, { - "name": "ClusterStatus", - "description": "Get the status of libraries on a cluster. A status is returned for all libraries installed on this cluster via the API\nor the libraries UI.\nThe order of returned libraries is as follows:\n1. Libraries set to be installed on this cluster, in the order that the libraries were added\nto the cluster, are returned first.\n2. Libraries that were previously requested to be installed on this cluster or,\nbut are now marked for removal, in no particular order, are returned last.", - "summary": "Get status.", - "path": "/api/2.0/libraries/cluster-status", + "name": "DeleteKnowledgeAssistant", + "description": "Deletes a Knowledge Assistant.", + "summary": "Delete a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*}", "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": "ClusterStatus", + "pascal_name": "DeleteKnowledgeAssistantRequest", "is_object": true, "required_fields": [ { - "name": "cluster_id", - "description": "Unique identifier of the cluster whose status should be retrieved.", + "name": "name", + "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -145744,10 +144878,10 @@ ], "required_in_url_fields": [ { - "name": "cluster_id", - "description": "Unique identifier of the cluster whose status should be retrieved.", + "name": "name", + "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -145755,15 +144889,14 @@ ] }, "response": { - "pascal_name": "ClusterLibraryStatuses", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "cluster_id", - "description": "Unique identifier of the cluster whose status should be retrieved.", + "name": "name", + "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -145771,307 +144904,219 @@ ], "required_positional_arguments": [ { - "name": "cluster_id", - "description": "Unique identifier of the cluster whose status should be retrieved.", + "name": "name", + "description": "The resource name of the knowledge assistant to be deleted.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": {} + ] }, { - "name": "Install", - "description": "Add libraries to install on a cluster. The installation is asynchronous; it happens in\nthe background after the completion of this request.", - "summary": "Add a library.", - "path": "/api/2.0/libraries/install", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "name": "DeleteKnowledgeSource", + "description": "Deletes a Knowledge Source.", + "summary": "Delete a Knowledge Source.", + "path": "/api/2.1/{name=knowledge-assistants/*/knowledge-sources/*}", + "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": "InstallLibraries", + "pascal_name": "DeleteKnowledgeSourceRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "cluster_id", - "description": "Unique identifier for the cluster on which to install these libraries.", + "name": "name", + "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "libraries", - "description": "The libraries to install.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LibraryList", - "array_value": { - "pascal_name": "Library", - "is_object": true - } - } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "cluster_id", - "description": "Unique identifier for the cluster on which to install these libraries.", + "name": "name", + "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "libraries", - "description": "The libraries to install.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LibraryList", - "array_value": { - "pascal_name": "Library", - "is_object": true - } - } } ] }, "response": { - "pascal_name": "InstallLibrariesResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "cluster_id", - "description": "Unique identifier for the cluster on which to install these libraries.", + "name": "name", + "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "libraries", - "description": "The libraries to install.", + "name": "name", + "description": "The resource name of the Knowledge Source to delete.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LibraryList", - "array_value": { - "pascal_name": "Library", - "is_object": true - } + "is_string": true } } ] }, { - "name": "Uninstall", - "description": "Set libraries to uninstall from a cluster. The libraries won't be uninstalled until\nthe cluster is restarted. A request to uninstall a library that is not currently installed is ignored.", - "summary": "Uninstall libraries.", - "path": "/api/2.0/libraries/uninstall", - "can_use_json": true, - "must_use_json": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "name": "GetExample", + "description": "Gets an example from a Knowledge Assistant.", + "summary": "Get an example from a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*/examples/*}", + "is_crud_read": 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": "UninstallLibraries", + "pascal_name": "GetExampleRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "cluster_id", - "description": "Unique identifier for the cluster on which to uninstall these libraries.", + "name": "name", + "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "libraries", - "description": "The libraries to uninstall.", + "name": "name", + "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LibraryList", - "array_value": { - "pascal_name": "Library", - "is_object": true - } + "is_string": true } } - ], - "required_request_body_fields": [ + ] + }, + "response": { + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "cluster_id", - "description": "Unique identifier for the cluster on which to uninstall these libraries.", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "libraries", - "description": "The libraries to uninstall.", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "LibraryList", - "array_value": { - "pascal_name": "Library", - "is_object": true - } + "is_string": true } } ] }, - "response": { - "pascal_name": "UninstallLibrariesResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "cluster_id", - "description": "Unique identifier for the cluster on which to uninstall these libraries.", + "name": "name", + "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "libraries", - "description": "The libraries to uninstall.", + "name": "name", + "description": "The resource name of the example.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LibraryList", - "array_value": { - "pascal_name": "Library", - "is_object": true - } + "is_string": true } } ] - } - ] - }, - { - "id": "settings.LlmProxyPartnerPoweredAccount", - "name": "LlmProxyPartnerPoweredAccount", - "description": "Determines if partner powered models are enabled or not for a specific account", - "package": { - "name": "settings" - }, - "is_accounts": true, - "has_parent": true, - "is_hidden_cli": true, - "docs_group": "settings", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "parent_service_id": "settings.AccountSettings", - "methods": [ + }, { - "name": "Get", - "description": "Gets the enable partner powered AI features account setting.", - "summary": "Get the enable partner powered AI features account setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered/names/default", + "name": "GetKnowledgeAssistant", + "description": "Gets a Knowledge Assistant.", + "summary": "Get a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*}", "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": "GetLlmProxyPartnerPoweredAccountRequest", - "is_object": true - }, - "response": { - "pascal_name": "LlmProxyPartnerPoweredAccount", + "pascal_name": "GetKnowledgeAssistantRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "boolean_val", + "name": "name", + "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "boolean_val", + "name": "name", + "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ] }, - "all_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates the enable partner powered AI features account setting.", - "summary": "Update the enable partner powered AI features account setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered/names/default", - "can_use_json": true, - "must_use_json": true, - "is_hidden_cli": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "UpdateLlmProxyPartnerPoweredAccountRequest", + "response": { + "pascal_name": "KnowledgeAssistant", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredAccount", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, "is_request_body_field": true, "entity": { @@ -146081,26 +145126,17 @@ ], "required_request_body_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredAccount", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, "is_request_body_field": true, "entity": { @@ -146109,168 +145145,92 @@ } ] }, - "response": { - "pascal_name": "LlmProxyPartnerPoweredAccount", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "boolean_val", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "boolean_val", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - } - ] - }, "all_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "name", + "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "setting", + "name": "name", + "description": "The resource name of the knowledge assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredAccount", - "is_object": true + "is_string": true } } ] - } - ] - }, - { - "id": "settings.LlmProxyPartnerPoweredEnforce", - "name": "LlmProxyPartnerPoweredEnforce", - "description": "Determines if the account-level partner-powered setting value is enforced upon the workspace-level partner-powered setting", - "package": { - "name": "settings" - }, - "is_accounts": true, - "has_parent": true, - "is_hidden_cli": true, - "docs_group": "settings", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "parent_service_id": "settings.AccountSettings", - "methods": [ + }, { - "name": "Get", - "description": "Gets the enforcement status of partner powered AI features account setting.", - "summary": "Get the enforcement status of partner powered AI features account setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered_enforce/names/default", + "name": "GetKnowledgeSource", + "description": "Gets a Knowledge Source.", + "summary": "Get a Knowledge Source.", + "path": "/api/2.1/{name=knowledge-assistants/*/knowledge-sources/*}", "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": "GetLlmProxyPartnerPoweredEnforceRequest", - "is_object": true - }, - "response": { - "pascal_name": "LlmProxyPartnerPoweredEnforce", + "pascal_name": "GetKnowledgeSourceRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "boolean_val", + "name": "name", + "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "boolean_val", + "name": "name", + "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ] }, - "all_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates the enable enforcement status of partner powered AI features account setting.", - "summary": "Update the enforcement status of partner powered AI features account setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered_enforce/names/default", - "can_use_json": true, - "must_use_json": true, - "is_hidden_cli": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "UpdateLlmProxyPartnerPoweredEnforceRequest", + "response": { + "pascal_name": "KnowledgeSource", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "setting", + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredEnforce", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", "required": true, "is_request_body_field": true, "entity": { @@ -146280,26 +145240,26 @@ ], "required_request_body_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "setting", + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredEnforce", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", "required": true, "is_request_body_field": true, "entity": { @@ -146308,124 +145268,86 @@ } ] }, - "response": { - "pascal_name": "LlmProxyPartnerPoweredEnforce", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "boolean_val", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "boolean_val", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - } - ] - }, "all_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "name", + "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "setting", + "name": "name", + "description": "The resource name of the Knowledge Source.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredEnforce", - "is_object": true + "is_string": true } } ] - } - ] - }, - { - "id": "settings.LlmProxyPartnerPoweredWorkspace", - "name": "LlmProxyPartnerPoweredWorkspace", - "description": "Determines if partner powered models are enabled or not for a specific workspace", - "package": { - "name": "settings" - }, - "has_parent": true, - "is_hidden_cli": true, - "docs_group": "settings", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "parent_service_id": "settings.Settings", - "methods": [ + }, { - "name": "Delete", - "description": "Reverts the enable partner powered AI features workspace setting to its default value.", - "summary": "Delete the enable partner powered AI features workspace setting.", - "path": "/api/2.0/settings/types/llm_proxy_partner_powered/names/default", - "is_hidden_cli": true, + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get knowledge assistant permission levels.", + "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}/permissionLevels", "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": "DeleteLlmProxyPartnerPoweredWorkspaceRequest", - "is_object": true - }, - "response": { - "pascal_name": "DeleteLlmProxyPartnerPoweredWorkspaceResponse", + "pascal_name": "GetKnowledgeAssistantPermissionLevelsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] }, + "response": { + "pascal_name": "GetKnowledgeAssistantPermissionLevelsResponse", + "is_object": true + }, "all_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -146433,51 +145355,62 @@ ] }, { - "name": "Get", - "description": "Gets the enable partner powered AI features workspace setting.", - "summary": "Get the enable partner powered AI features workspace setting.", - "path": "/api/2.0/settings/types/llm_proxy_partner_powered/names/default", - "is_crud_read": true, - "is_hidden_cli": true, + "name": "GetPermissions", + "description": "Gets the permissions of a knowledge assistant. Knowledge assistants can inherit permissions from their root object.", + "summary": "Get knowledge assistant permissions.", + "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}", "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": "GetLlmProxyPartnerPoweredWorkspaceRequest", - "is_object": true - }, - "response": { - "pascal_name": "LlmProxyPartnerPoweredWorkspace", + "pascal_name": "GetKnowledgeAssistantPermissionsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "boolean_val", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "boolean_val", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ] }, + "response": { + "pascal_name": "KnowledgeAssistantPermissions", + "is_object": true + }, "all_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -146485,72 +145418,35 @@ ] }, { - "name": "Update", - "description": "Updates the enable partner powered AI features workspace setting.", - "summary": "Update the enable partner powered AI features workspace setting.", - "path": "/api/2.0/settings/types/llm_proxy_partner_powered/names/default", - "can_use_json": true, - "must_use_json": true, - "is_hidden_cli": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "name": "ListExamples", + "description": "Lists examples under a Knowledge Assistant.", + "summary": "List examples for a Knowledge Assistant.", + "path": "/api/2.1/{parent=knowledge-assistants/*}/examples", + "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": "UpdateLlmProxyPartnerPoweredWorkspaceRequest", + "pascal_name": "ListExamplesRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LlmProxyPartnerPoweredWorkspace", - "is_object": true - } - }, - { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LlmProxyPartnerPoweredWorkspace", - "is_object": true - } - }, + "required_in_url_fields": [ { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -146558,153 +145454,126 @@ ] }, "response": { - "pascal_name": "LlmProxyPartnerPoweredWorkspace", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "boolean_val", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "boolean_val", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - } - ] + "pascal_name": "ListExamplesResponse", + "is_object": true }, "all_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of examples to return.\nIf unspecified, at most 100 examples will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", + "is_query": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, + "name": "page_token", + "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "setting", + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LlmProxyPartnerPoweredWorkspace", - "is_object": true + "is_string": true } } - ] - } - ] - }, - { - "id": "billing.LogDelivery", - "name": "LogDelivery", - "description": "These APIs manage log delivery configurations for this account. The two supported log types for this API are _billable usage logs_ (AWS only) and _audit logs_ (AWS and GCP). This feature is in Public Preview. This feature works with all account ID types.\n\nLog delivery works with all account types. However, if your account is on the E2 version of the platform or on a select custom plan that allows multiple workspaces per account, you can optionally configure different storage destinations for each workspace. Log delivery status is also provided to know the latest status of log delivery attempts.\n\nThe high-level flow of billable usage delivery (AWS only):\n\n1. **Create storage**: In AWS, [create a new AWS S3 bucket](https://docs.databricks.com/administration-guide/account-api/aws-storage.html) with a specific bucket policy. Using Databricks APIs, call the Account API to create a [storage configuration object](:method:Storage/Create) that uses the bucket name.\n\n2. **Create credentials**: In AWS, create the appropriate AWS IAM role. For full details, including the required IAM role policies and trust relationship, see [Billable usage log delivery](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html). Using Databricks APIs, call the Account API to create a [credential configuration object](:method:Credentials/Create) that uses the IAM role's ARN.\n\n3. **Create log delivery configuration**: Using Databricks APIs, call the Account API to [create a log delivery configuration](:method:LogDelivery/Create) that uses the credential and storage configuration objects from previous steps. You can specify if the logs should include all events of that log type in your account (_Account level_ delivery) or only events for a specific set of workspaces (_workspace level_ delivery). Account level log delivery applies to all current and future workspaces plus account level logs, while workspace level log delivery solely delivers logs related to the specified workspaces. You can create multiple types of delivery configurations per account.\n\nFor billable usage delivery (AWS only):\n* For more information about billable usage logs, see [Billable usage log delivery](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html). For the CSV schema, see the [Usage page](https://docs.databricks.com/administration-guide/account-settings/usage.html).\n* The delivery location is `\u003cbucket-name\u003e/\u003cprefix\u003e/billable-usage/csv/`, where `\u003cprefix\u003e` is the name of the optional delivery path prefix you set up during log delivery configuration. Files are named `workspaceId=\u003cworkspace-id\u003e-usageMonth=\u003cmonth\u003e.csv`.\n* All billable usage logs apply to specific workspaces (_workspace level_ logs). You can aggregate usage for your entire account by creating an _account level_ delivery configuration that delivers logs for all current and future workspaces in your account.\n* The files are delivered daily by overwriting the month's CSV file for each workspace.\n\nFor audit log delivery (AWS and GCP):\n* For more information about about audit log delivery, see Audit log delivery [AWS](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html) or [GCP](https://docs.databricks.com/gcp/en/admin/account-settings/audit-logs), which includes information about the used JSON schema.\n* The delivery location is `\u003cbucket-name\u003e/\u003cdelivery-path-prefix\u003e/workspaceId=\u003cworkspaceId\u003e/date=\u003cyyyy-mm-dd\u003e/auditlogs_\u003cinternal-id\u003e.json`. Files may get overwritten with the same content multiple times to achieve exactly-once delivery.\n* If the audit log delivery configuration included specific workspace IDs, only _workspace-level_ audit logs for those workspaces are delivered. If the log delivery configuration applies to the entire account (_account level_ delivery configuration), the audit log delivery includes workspace-level audit logs for all workspaces in the account as well as account-level audit logs. See Audit log delivery [AWS](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html) or [GCP](https://docs.databricks.com/gcp/en/admin/account-settings/audit-logs) for details.\n* Auditable events are typically available in logs within 15 minutes.", - "package": { - "name": "billing" - }, - "is_accounts": true, - "docs_group": "billing", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "LogDeliveryConfigurationConfigNameToConfigIdMap" - }, - "request": { - "pascal_name": "ListLogDeliveryRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a new Databricks log delivery configuration to enable delivery of the specified type of logs to your storage location.\nThis requires that you already created a [credential object](:method:Credentials/Create) (which encapsulates a cross-account service IAM role)\nand a [storage configuration object](:method:Storage/Create) (which encapsulates an S3 bucket).\n\nFor full details, including the required IAM role policies and bucket policies,\nsee [Deliver and access billable usage logs](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html)\nor [Configure audit logging](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html).\n\n**Note**: There is a limit on the number of log delivery configurations available per account (each limit applies separately to each log type including billable usage and audit logs).\nYou can create a maximum of two enabled account-level delivery configurations (configurations without a workspace filter) per type.\nAdditionally, you can create two enabled workspace-level delivery configurations per workspace for each log type, which means that the same workspace ID can occur in the workspace filter for no more than two delivery configurations per log type.\n\nYou cannot delete a log delivery configuration, but you can disable it (see [Enable or disable log delivery configuration](:method:LogDelivery/PatchStatus)).", - "summary": "Create a new log delivery configuration.", - "path": "/api/2.0/accounts/{account_id}/log-delivery", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "WrappedCreateLogDeliveryConfiguration", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "log_delivery_configuration", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CreateLogDeliveryConfigurationParams", - "is_object": true - } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true } - ], - "required_request_body_fields": [ - { - "name": "log_delivery_configuration", - "required": true, - "is_request_body_field": true, + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, "entity": { - "pascal_name": "CreateLogDeliveryConfigurationParams", - "is_object": true + "is_string": true } } - ] + } + } + }, + { + "name": "ListKnowledgeAssistants", + "description": "List Knowledge Assistants", + "summary": "List Knowledge Assistants.", + "path": "/api/2.1/knowledge-assistants", + "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": "ListKnowledgeAssistantsRequest", + "is_object": true }, "response": { - "pascal_name": "WrappedLogDeliveryConfiguration", + "pascal_name": "ListKnowledgeAssistantsResponse", "is_object": true }, "all_fields": [ { - "name": "log_delivery_configuration", - "required": true, - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of knowledge assistants to return.\nIf unspecified, at most 100 knowledge assistants will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", + "is_query": true, "entity": { - "pascal_name": "CreateLogDeliveryConfigurationParams", - "is_object": true + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous `ListKnowledgeAssistants` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, + "entity": { + "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListKnowledgeAssistants` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "Get", - "description": "Gets a Databricks log delivery configuration object for an account, both specified by ID.", - "summary": "Get log delivery configuration.", - "path": "/api/2.0/accounts/{account_id}/log-delivery/{log_delivery_configuration_id}", - "is_crud_read": true, + "name": "ListKnowledgeSources", + "description": "Lists Knowledge Sources under a Knowledge Assistant.", + "summary": "List Knowledge Sources.", + "path": "/api/2.1/{parent=knowledge-assistants/*}/knowledge-sources", "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": "GetLogDeliveryRequest", + "pascal_name": "ListKnowledgeSourcesRequest", "is_object": true, "required_fields": [ { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -146714,8 +145583,8 @@ ], "required_in_url_fields": [ { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -146725,85 +145594,40 @@ ] }, "response": { - "pascal_name": "GetLogDeliveryConfigurationResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "List", - "description": "Gets all Databricks log delivery configurations associated with an account specified by ID.", - "summary": "Get all log delivery configurations.", - "path": "/api/2.0/accounts/{account_id}/log-delivery", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListLogDeliveryRequest", - "is_object": true - }, - "response": { - "pascal_name": "WrappedLogDeliveryConfigurations", + "pascal_name": "ListKnowledgeSourcesResponse", "is_object": true }, "all_fields": [ { - "name": "credentials_id", - "description": "The Credentials id to filter the search results with", + "name": "page_size", "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { "name": "page_token", - "description": "A page token received from a previous get all budget configurations call. This token can be used to retrieve the subsequent page.\nRequests first page if absent.", "is_query": true, "entity": { "is_string": true } }, { - "name": "status", - "description": "The log delivery status to filter the search results with", - "is_query": true, + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "required": true, + "is_path": true, "entity": { - "pascal_name": "LogDeliveryConfigStatus", - "enum": [ - { - "content": "DISABLED" - }, - { - "content": "ENABLED" - } - ] + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "storage_configuration_id", - "description": "The Storage Configuration id to filter the search results with", - "is_query": true, + "name": "parent", + "description": "Parent resource to list from.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -146813,7 +145637,6 @@ "token": { "poll_field": { "name": "page_token", - "description": "A page token received from a previous get all budget configurations call. This token can be used to retrieve the subsequent page.\nRequests first page if absent.", "is_query": true, "entity": { "is_string": true @@ -146823,50 +145646,98 @@ } }, { - "name": "PatchStatus", - "description": "Enables or disables a log delivery configuration.\nDeletion of delivery configurations is not supported, so disable log delivery configurations that are no longer needed.\nNote that you can't re-enable a delivery configuration if this would violate the delivery configuration limits described under [Create log delivery](:method:LogDelivery/Create).", - "summary": "Enable or disable log delivery configuration.", - "path": "/api/2.0/accounts/{account_id}/log-delivery/{log_delivery_configuration_id}", + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set knowledge assistant permissions.", + "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}", "can_use_json": 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": "UpdateLogDeliveryConfigurationStatusRequest", + "pascal_name": "KnowledgeAssistantPermissionsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "status", - "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LogDeliveryConfigStatus", - "enum": [ - { - "content": "DISABLED" - }, - { - "content": "ENABLED" - } - ] + "is_string": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "pascal_name": "KnowledgeAssistantPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeAssistantAccessControlRequestList", + "array_value": { + "pascal_name": "KnowledgeAssistantAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "SyncKnowledgeSources", + "description": "Sync all non-index Knowledge Sources for a Knowledge Assistant (index sources do not require sync)", + "summary": "Syncs all Knowledge Sources for a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*}/knowledge-sources:sync", + "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": "SyncKnowledgeSourcesRequest", + "is_object": true, + "required_fields": [ { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -146874,125 +145745,64 @@ } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "status", - "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "LogDeliveryConfigStatus", - "enum": [ - { - "content": "DISABLED" - }, - { - "content": "ENABLED" - } - ] + "is_string": true } } ] }, "response": { - "pascal_name": "PatchStatusResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "status", - "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LogDeliveryConfigStatus", - "enum": [ - { - "content": "DISABLED" - }, - { - "content": "ENABLED" - } - ] - } } ], "required_positional_arguments": [ { - "name": "log_delivery_configuration_id", - "description": "The log delivery configuration id of customer", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "status", - "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "LogDeliveryConfigStatus", - "enum": [ - { - "content": "DISABLED" - }, - { - "content": "ENABLED" - } - ] - } } ] - } - ] - }, - { - "id": "ml.MaterializedFeatures", - "name": "MaterializedFeatures", - "description": "Materialized Features are columns in tables and views that can be directly used as features to train and serve ML models.", - "package": { - "name": "ml" - }, - "is_hidden_cli": true, - "docs_group": "ml", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "list": { - "request": { - "pascal_name": "ListFeatureTagsRequest" - } - }, - "methods": [ + }, { - "name": "CreateFeatureTag", - "description": "Creates a FeatureTag.", - "summary": "Create a feature tag.", - "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags", + "name": "UpdateExample", + "description": "Updates an example in a Knowledge Assistant.", + "summary": "Update an example in a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*/examples/*}", "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": "CreateFeatureTagRequest", + "pascal_name": "UpdateExampleRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", + "name": "name", + "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -147000,26 +145810,28 @@ } }, { - "name": "feature_name", + "name": "example", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Example", + "is_object": true } }, { - "name": "feature_tag", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "FeatureTag", - "is_object": true + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "table_name", + "name": "name", + "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -147027,37 +145839,39 @@ } }, { - "name": "feature_name", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_request_body_fields": [ { - "name": "feature_tag", + "name": "example", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Example", "is_object": true } } ] }, "request_body_field": { - "name": "feature_tag", + "name": "example", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Example", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147067,7 +145881,8 @@ ], "required_request_body_fields": [ { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147078,12 +145893,13 @@ } }, "response": { - "pascal_name": "FeatureTag", + "pascal_name": "Example", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147093,7 +145909,8 @@ ], "required_request_body_fields": [ { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147104,24 +145921,17 @@ }, "all_fields": [ { - "name": "feature_name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "feature_tag", + "name": "example", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Example", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147131,7 +145941,8 @@ ], "required_request_body_fields": [ { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147142,7 +145953,8 @@ } }, { - "name": "table_name", + "name": "name", + "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -147150,24 +145962,76 @@ } }, { - "name": "key", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "create_time", + "description": "Timestamp when this example was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "example_id", + "description": "The universally unique identifier (UUID) of the example.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "value", + "name": "guidelines", + "description": "Guidelines for answering the question. Optional — examples may be created\nwith just a question; the front-end form does not require guidelines.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "name", + "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "question", + "description": "The example question.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "update_time", + "description": "Timestamp when this example was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } } ], "required_positional_arguments": [ { - "name": "table_name", + "name": "name", + "description": "The resource name of the example to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -147175,15 +146039,17 @@ } }, { - "name": "feature_name", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } }, { - "name": "key", + "name": "question", + "description": "The example question.", "required": true, "is_request_body_field": true, "entity": { @@ -147193,21 +146059,25 @@ ] }, { - "name": "DeleteFeatureTag", - "description": "Deletes a FeatureTag.", - "summary": "Delete a feature tag.", - "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key}", - "is_hidden_cli": true, + "name": "UpdateKnowledgeAssistant", + "description": "Updates a Knowledge Assistant.", + "summary": "Update a Knowledge Assistant.", + "path": "/api/2.1/{name=knowledge-assistants/*}", + "can_use_json": 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": "DeleteFeatureTagRequest", + "pascal_name": "UpdateKnowledgeAssistantRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", - "description": "The name of the feature table.", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -147215,28 +146085,29 @@ } }, { - "name": "feature_name", - "description": "The name of the feature within the feature table.", + "name": "knowledge_assistant", + "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeAssistant", + "is_object": true } }, { - "name": "key", - "description": "The key of the tag to delete.", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "The name of the feature table.", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -147244,41 +146115,179 @@ } }, { - "name": "feature_name", - "description": "The name of the feature within the feature table.", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "knowledge_assistant", + "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeAssistant", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "knowledge_assistant", + "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeAssistant", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + "response": { + "pascal_name": "KnowledgeAssistant", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "The key of the tag to delete.", + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "is_empty_response": true - }, "all_fields": [ { - "name": "feature_name", - "description": "The name of the feature within the feature table.", + "name": "knowledge_assistant", + "description": "The Knowledge Assistant update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Assistant fields describe create-time\nrequirements and do not mean all those fields are required for update.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeAssistant", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "key", - "description": "The key of the tag to delete.", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -147286,127 +146295,128 @@ } }, { - "name": "table_name", - "description": "The name of the feature table.", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "create_time", + "description": "Creation timestamp.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "creator", + "description": "The creator of the Knowledge Assistant.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "table_name", - "description": "The name of the feature table.", + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "feature_name", - "description": "The name of the feature within the feature table.", + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "The key of the tag to delete.", - "required": true, - "is_path": true, + "name": "endpoint_name", + "description": "The name of the knowledge assistant agent endpoint.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "GetFeatureLineage", - "description": "Get Feature Lineage.", - "summary": "Get Feature Lineage.", - "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/lineage", - "is_crud_read": true, - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "GetFeatureLineageRequest", - "is_object": true, - "required_fields": [ - { - "name": "table_name", - "description": "The full name of the feature table in Unity Catalog.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "feature_name", - "description": "The name of the feature.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "error_info", + "description": "Error details when the Knowledge Assistant is in FAILED state.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "table_name", - "description": "The full name of the feature table in Unity Catalog.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "feature_name", - "description": "The name of the feature.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "experiment_id", + "description": "The MLflow experiment ID.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - }, - "response": { - "pascal_name": "FeatureLineage", - "is_object": true - }, - "all_fields": [ + }, { - "name": "feature_name", - "description": "The name of the feature.", - "required": true, - "is_path": true, + "name": "id", + "description": "Deprecated: use knowledge_assistant_id instead.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "table_name", - "description": "The full name of the feature table in Unity Catalog.", - "required": true, - "is_path": true, + "name": "instructions", + "description": "Additional global instructions on how the agent should generate answers.\nOptional on create and update.\nWhen updating a Knowledge Assistant, include this field in update_mask to\nmodify it.", + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "state", + "description": "State of the Knowledge Assistant. Not returned in List responses.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeAssistantState", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "CREATING" + }, + { + "content": "FAILED" + } + ] + } } ], "required_positional_arguments": [ { - "name": "table_name", - "description": "The full name of the feature table in Unity Catalog.", + "name": "name", + "description": "The resource name of the Knowledge Assistant.\nFormat: knowledge-assistants/{knowledge_assistant_id}", "required": true, "is_path": true, "entity": { @@ -147414,10 +146424,28 @@ } }, { - "name": "feature_name", - "description": "The name of the feature.", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Assistant.\nAllowed values: `display_name`, `description`, `instructions`.\nExamples:\n- `display_name`\n- `description,instructions`", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "display_name", + "description": "The display name of the Knowledge Assistant, unique at workspace level.\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of what this agent can do (user-facing).\nRequired when creating a Knowledge Assistant.\nWhen updating a Knowledge Assistant, optional unless included in\nupdate_mask.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -147425,21 +146453,25 @@ ] }, { - "name": "GetFeatureTag", - "description": "Gets a FeatureTag.", - "summary": "Get a feature tag.", - "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key}", - "is_crud_read": true, - "is_hidden_cli": true, + "name": "UpdateKnowledgeSource", + "description": "Updates a Knowledge Source.", + "summary": "Update a Knowledge Source.", + "path": "/api/2.1/{name=knowledge-assistants/*/knowledge-sources/*}", + "can_use_json": 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": "GetFeatureTagRequest", + "pascal_name": "UpdateKnowledgeSourceRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", + "name": "name", + "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, "is_path": true, "entity": { @@ -147447,33 +146479,29 @@ } }, { - "name": "feature_name", + "name": "knowledge_source", + "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeSource", + "is_object": true } }, { - "name": "key", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "table_name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "feature_name", + "name": "name", + "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, "is_path": true, "entity": { @@ -147481,149 +146509,233 @@ } }, { - "name": "key", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "FeatureTag", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "key", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_request_body_fields": [ { - "name": "key", + "name": "knowledge_source", + "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeSource", + "is_object": true } } ] }, - "all_fields": [ - { - "name": "feature_name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "table_name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "feature_name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "request_body_field": { + "name": "knowledge_source", + "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeSource", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } - ] - }, - { - "name": "ListFeatureTags", - "description": "Lists FeatureTags.", - "summary": "List all feature tags.", - "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "ListFeatureTagsRequest", + }, + "response": { + "pascal_name": "KnowledgeSource", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "feature_name", + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "table_name", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "feature_name", + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "ListFeatureTagsResponse", - "is_object": true - }, "all_fields": [ { - "name": "feature_name", + "name": "knowledge_source", + "description": "The Knowledge Source update payload.\nOnly fields listed in update_mask are updated.\nREQUIRED annotations on Knowledge Source fields describe create-time\nrequirements and do not mean all those fields are required for update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeSource", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + { + "name": "name", + "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, "is_path": true, "entity": { @@ -147631,33 +146743,128 @@ } }, { - "name": "page_size", - "description": "The maximum number of results to return.", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", + "required": true, "is_query": true, "entity": { - "is_int": true + "is_field_mask": true } }, { - "name": "page_token", - "description": "Pagination token to go to the next page based on a previous query.", - "is_query": true, + "name": "create_time", + "description": "Timestamp when this knowledge source was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "table_name", + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "file_table", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "FileTableSpec", + "is_object": true + } + }, + { + "name": "files", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "FilesSpec", + "is_object": true + } + }, + { + "name": "id", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "index", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IndexSpec", + "is_object": true + } + }, + { + "name": "knowledge_cutoff_time", + "description": "Timestamp representing the cutoff before which content in this knowledge source is being ingested.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "name", + "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "state", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeSourceState", + "enum": [ + { + "content": "FAILED_UPDATE" + }, + { + "content": "UPDATED" + }, + { + "content": "UPDATING" + } + ] + } } ], "required_positional_arguments": [ { - "name": "table_name", + "name": "name", + "description": "The resource name of the Knowledge Source to update.\nFormat: knowledge-assistants/{knowledge_assistant_id}/knowledge-sources/{knowledge_source_id}", "required": true, "is_path": true, "entity": { @@ -147665,97 +146872,357 @@ } }, { - "name": "feature_name", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the Knowledge Source.\nAllowed values: `display_name`, `description`.\nExamples:\n- `display_name`\n- `display_name,description`", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "display_name", + "description": "Human-readable display name of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to the next page based on a previous query.", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "description", + "description": "Description of the knowledge source.\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, optional unless included in update_mask.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source_type", + "description": "The type of the source: \"index\", \"files\", or \"file_table\".\nRequired when creating a Knowledge Source.\nWhen updating a Knowledge Source, this field is ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "UpdateFeatureTag", - "description": "Updates a FeatureTag.", - "summary": "Update a feature tag.", - "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key}", + "name": "UpdatePermissions", + "description": "Updates the permissions on a knowledge assistant. Knowledge assistants can inherit permissions from their root object.", + "summary": "Update knowledge assistant permissions.", + "path": "/api/2.0/permissions/knowledge-assistants/{knowledge_assistant_id}", "can_use_json": 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": "UpdateFeatureTagRequest", + "pascal_name": "KnowledgeAssistantPermissionsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "feature_name", + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + "response": { + "pascal_name": "KnowledgeAssistantPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "KnowledgeAssistantAccessControlRequestList", + "array_value": { + "pascal_name": "KnowledgeAssistantAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "knowledge_assistant_id", + "description": "The knowledge assistant for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "dashboards.Lakeview", + "name": "Lakeview", + "description": "These APIs provide specific management operations for Lakeview dashboards. Generic resource management can be done with Workspace API (import, export, get-status, list, delete).", + "package": { + "name": "dashboards" + }, + "docs_group": "dashboards", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListDashboardsRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Create a draft dashboard.", + "summary": "Create dashboard.", + "path": "/api/2.0/lakeview/dashboards", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateDashboardRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "key", + "name": "dashboard", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Dashboard", + "is_object": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "feature_tag", + "name": "dashboard", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Dashboard", "is_object": true } } - ], - "required_in_url_fields": [ + ] + }, + "request_body_field": { + "name": "dashboard", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Dashboard", + "is_object": true + } + }, + "response": { + "pascal_name": "Dashboard", + "is_object": true + }, + "all_fields": [ + { + "name": "dashboard", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Dashboard", + "is_object": true + } + }, + { + "name": "dataset_catalog", + "description": "Sets the default catalog for all datasets in this dashboard.\nDoes not impact table references that use fully qualified catalog names (ex: samples.nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "dataset_schema", + "description": "Sets the default schema for all datasets in this dashboard.\nDoes not impact table references that use fully qualified schema names (ex: nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "The timestamp of when the dashboard was created.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "display_name", + "description": "The display name of the dashboard.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "etag", + "description": "The etag for the dashboard. Can be optionally provided on updates to ensure that the dashboard\nhas not been modified since the last read.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "lifecycle_state", + "description": "The state of the dashboard resource. Used for tracking trashed status.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LifecycleState", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "TRASHED" + } + ] + } + }, + { + "name": "parent_path", + "description": "The workspace path of the folder containing the dashboard. Includes leading slash and no\ntrailing slash.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "path", + "description": "The workspace path of the dashboard asset, including the file name.\nExported dashboards always have the file extension `.lvdash.json`.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "serialized_dashboard", + "description": "The contents of the dashboard in serialized string form.\nThis field is excluded in List Dashboards responses.\nUse the [get dashboard API](https://docs.databricks.com/api/workspace/lakeview/get)\nto retrieve an example response, which includes the `serialized_dashboard` field.\nThis field provides the structure of the JSON string that represents the dashboard's\nlayout and components.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "The timestamp of when the dashboard was last updated by the user.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "warehouse_id", + "description": "The warehouse ID used to run the dashboard.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "CreateSchedule", + "description": "Create dashboard schedule.", + "summary": "Create dashboard schedule.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateScheduleRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "table_name", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "feature_name", + "name": "schedule", + "description": "The schedule to create. A dashboard is limited to 10 schedules.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Schedule", + "is_object": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "key", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } @@ -147763,550 +147230,588 @@ ], "required_request_body_fields": [ { - "name": "feature_tag", + "name": "schedule", + "description": "The schedule to create. A dashboard is limited to 10 schedules.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Schedule", "is_object": true } } ] }, "request_body_field": { - "name": "feature_tag", + "name": "schedule", + "description": "The schedule to create. A dashboard is limited to 10 schedules.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Schedule", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ], "required_request_body_fields": [ { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ] } }, "response": { - "pascal_name": "FeatureTag", + "pascal_name": "Schedule", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ], "required_request_body_fields": [ { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ] }, "all_fields": [ { - "name": "feature_name", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "feature_tag", + "name": "schedule", + "description": "The schedule to create. A dashboard is limited to 10 schedules.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FeatureTag", + "pascal_name": "Schedule", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ], "required_request_body_fields": [ { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ] } }, { - "name": "key", - "required": true, - "is_path": true, + "name": "create_time", + "description": "A timestamp indicating when the schedule was created.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "table_name", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + }, + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update.", - "is_query": true, + "name": "display_name", + "description": "The display name for schedule.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "key", - "required": true, + "name": "etag", + "description": "The etag for the schedule. Must be left empty on create, must be provided on updates to ensure\nthat the schedule has not been modified since the last read, and can be optionally provided on delete.", + "is_computed": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "value", + "name": "pause_status", + "description": "The status indicates whether this schedule is paused or not.", + "is_request_body_field": true, + "entity": { + "pascal_name": "SchedulePauseStatus", + "enum": [ + { + "content": "PAUSED" + }, + { + "content": "UNPAUSED" + } + ] + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "table_name", - "required": true, - "is_path": true, + "name": "update_time", + "description": "A timestamp indicating when the schedule was last updated.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "feature_name", + "name": "warehouse_id", + "description": "The warehouse id to run the dashboard with for the schedule.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "key", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ] - } - ] - }, - { - "id": "catalog.AccountMetastoreAssignments", - "name": "AccountMetastoreAssignments", - "description": "These APIs manage metastore assignments to a workspace.", - "package": { - "name": "catalog" - }, - "is_accounts": true, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListAccountMetastoreAssignmentsRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Creates an assignment to a metastore for a workspace", - "summary": "Assigns a workspace to a metastore.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastores/{metastore_id}", + "name": "CreateSubscription", + "description": "Create schedule subscription.", + "summary": "Create schedule subscription.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "AccountsCreateMetastoreAssignment", + "pascal_name": "CreateSubscriptionRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "schedule_id", + "description": "UUID identifying the schedule to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } + }, + { + "name": "subscription", + "description": "The subscription to create. A schedule is limited to 100 subscriptions.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscription", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "schedule_id", + "description": "UUID identifying the schedule to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "subscription", + "description": "The subscription to create. A schedule is limited to 100 subscriptions.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscription", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "subscription", + "description": "The subscription to create. A schedule is limited to 100 subscriptions.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscription", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ] + } + }, "response": { - "pascal_name": "AccountsCreateMetastoreAssignmentResponse", - "is_object": true + "pascal_name": "Subscription", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "metastore_assignment", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CreateMetastoreAssignment", - "is_object": true - } - }, - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "schedule_id", + "description": "UUID identifying the schedule to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { - "is_int64": true + "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "subscription", + "description": "The subscription to create. A schedule is limited to 100 subscriptions.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "Subscription", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ] } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "create_time", + "description": "A timestamp indicating when the subscription was created.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "Delete", - "description": "Deletes a metastore assignment to a workspace, leaving the workspace with no metastore.", - "summary": "Delete a metastore assignment.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastores/{metastore_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteAccountMetastoreAssignmentRequest", - "is_object": true, - "required_fields": [ - { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "created_by_user_id", + "description": "UserId of the user who adds subscribers (users or notification destinations) to the dashboard's schedule.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } - ], - "required_in_url_fields": [ - { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the subscription belongs.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - }, - "response": { - "pascal_name": "AccountsDeleteMetastoreAssignmentResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "etag", + "description": "The etag for the subscription. Must be left empty on create, can be optionally provided on delete\nto ensure that the subscription has not been deleted since the last read.", + "is_computed": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, + "name": "schedule_id", + "description": "UUID identifying the schedule to which the subscription belongs.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, + "name": "skip_notify", + "description": "Controls whether notifications are sent to the subscriber for scheduled dashboard refreshes.\nIf not defined, defaults to false in the backend to match the current behavior (refresh and notify)", + "is_request_body_field": true, "entity": { - "is_int64": true + "is_bool": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Gets the metastore assignment, if any, for the workspace specified by ID.\nIf the workspace is assigned a metastore, the mapping will be returned.\nIf no metastore is assigned to the workspace, the assignment will not be\nfound and a 404 returned.", - "summary": "Gets the metastore assignment for a workspace.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastore", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetAccountMetastoreAssignmentRequest", - "is_object": true, - "required_fields": [ - { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } + "pascal_name": "Subscriber", + "is_object": true } - ], - "required_in_url_fields": [ - { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } + }, + { + "name": "subscription_id", + "description": "UUID identifying the subscription.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - }, - "response": { - "pascal_name": "AccountsMetastoreAssignment", - "is_object": true - }, - "all_fields": [ + }, { - "name": "workspace_id", - "description": "Workspace ID.", - "required": true, - "is_path": true, + "name": "update_time", + "description": "A timestamp indicating when the subscription was last updated.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "List", - "description": "Gets a list of all Databricks workspace IDs that have been assigned to given metastore.", - "summary": "Get all workspaces assigned to a metastore.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/workspaces", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListAccountMetastoreAssignmentsRequest", - "is_object": true, - "required_fields": [ - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "is_string": true } - ] - }, - "response": { - "pascal_name": "ListAccountMetastoreAssignmentsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "schedule_id", + "description": "UUID identifying the schedule to which the subscription belongs.", "required": true, "is_path": true, + "is_output_only": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Subscriber", + "is_object": true } } - ], - "pagination": {} + ] }, { - "name": "Update", - "description": "Updates an assignment to a metastore for a workspace. Currently, only the default catalog may be updated.", - "summary": "Updates a metastore assignment to a workspace.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastores/{metastore_id}", - "can_use_json": true, + "name": "DeleteSchedule", + "description": "Delete dashboard schedule.", + "summary": "Delete dashboard schedule.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "AccountsUpdateMetastoreAssignment", + "pascal_name": "DeleteScheduleRequest", "is_object": true, "required_fields": [ { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, "is_path": true, "entity": { @@ -148316,17 +147821,17 @@ ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, "is_path": true, "entity": { @@ -148336,51 +147841,49 @@ ] }, "response": { - "pascal_name": "AccountsUpdateMetastoreAssignmentResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "metastore_assignment", - "is_request_body_field": true, - "is_optional_object": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "UpdateMetastoreAssignment", - "is_object": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "etag", + "description": "The etag for the schedule. Optionally, it can be provided to verify that the schedule has not\nbeen modified from its last retrieval.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "Workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, "is_path": true, "entity": { @@ -148388,63 +147891,42 @@ } } ] - } - ] - }, - { - "id": "catalog.Metastores", - "name": "Metastores", - "description": "A metastore is the top-level container of objects in Unity Catalog. It stores data assets\n(tables and views) and the permissions that govern access to them. Databricks account admins\ncan create metastores and assign them to Databricks workspaces to control which workloads\nuse each metastore. For a workspace to use Unity Catalog, it must have a Unity Catalog\nmetastore attached.\n\nEach metastore is configured with a root storage location in a cloud storage account.\nThis storage location is used for metadata and managed tables data.\n\nNOTE: This metastore is distinct from the metastore included in Databricks workspaces\ncreated before Unity Catalog was released. If your workspace includes a legacy Hive\nmetastore, the data in that metastore is available in a catalog named hive_metastore.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListMetastoresRequest" - } - }, - "methods": [ + }, { - "name": "Assign", - "description": "Creates a new metastore assignment.\nIf an assignment for the same __workspace_id__ exists, it will be overwritten by the new __metastore_id__ and\n__default_catalog_name__. The caller must be an account admin.", - "summary": "Create an assignment.", - "path": "/api/2.1/unity-catalog/workspaces/{workspace_id}/metastore", - "can_use_json": true, - "is_crud_create": true, + "name": "DeleteSubscription", + "description": "Delete schedule subscription.", + "summary": "Delete schedule subscription.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateMetastoreAssignment", + "pascal_name": "DeleteSubscriptionRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "default_catalog_name", - "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -148452,30 +147934,28 @@ ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "default_catalog_name", - "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -148483,63 +147963,69 @@ ] }, "response": { - "pascal_name": "AssignResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "default_catalog_name", - "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "etag", + "description": "The etag for the subscription. Can be optionally provided to ensure that the subscription has not been\nmodified since the last read.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "default_catalog_name", - "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -148547,36 +148033,34 @@ ] }, { - "name": "Create", - "description": "Creates a new metastore based on a provided name and optional storage root path.\nBy default (if the __owner__ field is not set), the owner of the new metastore is the user calling\nthe __createMetastore__ API. If the __owner__ field is set to the empty string (**\"\"**), the ownership is\nassigned to the System User instead.", - "summary": "Create a metastore.", - "path": "/api/2.1/unity-catalog/metastores", - "can_use_json": true, - "is_crud_create": true, + "name": "Get", + "description": "Get a draft dashboard.", + "summary": "Get dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateMetastore", + "pascal_name": "GetDashboardRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The user-specified name of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "The user-specified name of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -148584,39 +148068,77 @@ ] }, "response": { - "pascal_name": "MetastoreInfo", + "pascal_name": "Dashboard", "is_object": true }, "all_fields": [ { - "name": "external_access_enabled", - "description": "Whether to allow non-DBR clients to directly access entities under the metastore.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "name", - "description": "The user-specified name of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "region", - "description": "Cloud region which the metastore serves (e.g., `us-west-2`, `westus`).", - "is_request_body_field": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "GetPublished", + "description": "Get the current published dashboard.", + "summary": "Get published dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPublishedDashboardRequest", + "is_object": true, + "required_fields": [ + { + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PublishedDashboard", + "is_object": true + }, + "all_fields": [ { - "name": "storage_root", - "description": "The storage root URL for metastore", - "is_request_body_field": true, + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -148624,10 +148146,10 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The user-specified name of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -148635,115 +148157,100 @@ ] }, { - "name": "Current", - "description": "Gets the metastore assignment for the workspace being accessed.", - "summary": "Get metastore assignment for workspace.", - "path": "/api/2.1/unity-catalog/current-metastore-assignment", - "is_legacy_empty_request": true, + "name": "GetSchedule", + "description": "Get dashboard schedule.", + "summary": "Get dashboard schedule.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", "is_crud_read": true, + "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CurrentRequest", - "is_object": true - }, - "response": { - "pascal_name": "MetastoreAssignment", + "pascal_name": "GetScheduleRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "The unique ID of the Databricks workspace.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "workspace_id", - "description": "The unique ID of the Databricks workspace.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] - } - }, - { - "name": "Delete", - "description": "Deletes a metastore. The caller must be a metastore admin.", - "summary": "Delete a metastore.", - "path": "/api/2.1/unity-catalog/metastores/{id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteMetastoreRequest", + }, + "response": { + "pascal_name": "Schedule", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ] }, - "response": { - "pascal_name": "DeleteResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "force", - "description": "Force deletion even if the metastore is not empty. Default is false.", - "is_query": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, "is_path": true, "entity": { @@ -148753,8 +148260,17 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, "is_path": true, "entity": { @@ -148764,21 +148280,39 @@ ] }, { - "name": "Get", - "description": "Gets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this info.", - "summary": "Get a metastore.", - "path": "/api/2.1/unity-catalog/metastores/{id}", + "name": "GetSubscription", + "description": "Get schedule subscription.", + "summary": "Get schedule subscription.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions/{subscription_id}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetMetastoreRequest", + "pascal_name": "GetSubscriptionRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, "is_path": true, "entity": { @@ -148788,8 +148322,26 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, "is_path": true, "entity": { @@ -148799,13 +148351,56 @@ ] }, "response": { - "pascal_name": "MetastoreInfo", - "is_object": true + "pascal_name": "Subscription", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "subscriber", + "description": "Subscriber details for users and destinations to be added as subscribers to the schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Subscriber", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, "is_path": true, "entity": { @@ -148815,8 +148410,26 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscription belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "subscription_id", + "description": "UUID identifying the subscription.", "required": true, "is_path": true, "entity": { @@ -148827,24 +148440,24 @@ }, { "name": "List", - "description": "Gets an array of the available metastores (as __MetastoreInfo__ objects). The caller must be an admin to retrieve this info.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 metastores.", - "path": "/api/2.1/unity-catalog/metastores", + "description": "List dashboards.", + "summary": "List dashboards.", + "path": "/api/2.0/lakeview/dashboards", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListMetastoresRequest", + "pascal_name": "ListDashboardsRequest", "is_object": true }, "response": { - "pascal_name": "ListMetastoresResponse", + "pascal_name": "ListDashboardsResponse", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Maximum number of metastores to return.\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the metastores are returned (not recommended).\n- Note: The number of returned metastores might be less than the specified max_results size, even zero.\nThe only definitive indication that no further metastores can be fetched is when the next_page_token is unset from the response.", + "name": "page_size", + "description": "The number of dashboards to return per page.", "is_query": true, "entity": { "is_int": true @@ -148852,77 +148465,64 @@ }, { "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", + "description": "A page token, received from a previous `ListDashboards` call.\nThis token can be used to retrieve the subsequent page.", "is_query": true, "entity": { "is_string": true } + }, + { + "name": "show_trashed", + "description": "The flag to include dashboards located in the trash.\nIf unspecified, only active dashboards will be returned.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "view", + "description": "`DASHBOARD_VIEW_BASIC` only includes summary metadata from the dashboard.", + "is_query": true, + "entity": { + "pascal_name": "DashboardView", + "enum": [ + { + "content": "DASHBOARD_VIEW_BASIC" + } + ] + } } ], "pagination": { "token": { "poll_field": { "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", + "description": "A page token, received from a previous `ListDashboards` call.\nThis token can be used to retrieve the subsequent page.", "is_query": true, "entity": { "is_string": true } } - }, - "max_results": { - "name": "max_results", - "description": "Maximum number of metastores to return.\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the metastores are returned (not recommended).\n- Note: The number of returned metastores might be less than the specified max_results size, even zero.\nThe only definitive indication that no further metastores can be fetched is when the next_page_token is unset from the response.", - "is_query": true, - "entity": { - "is_int": true - } } } }, { - "name": "Summary", - "description": "Gets information about a metastore.\nThis summary includes the storage credential, the cloud vendor, the cloud region, and the global metastore ID.", - "summary": "Get a metastore summary.", - "path": "/api/2.1/unity-catalog/metastore_summary", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "SummaryRequest", - "is_object": true - }, - "response": { - "pascal_name": "GetMetastoreSummaryResponse", - "is_object": true - } - }, - { - "name": "Unassign", - "description": "Deletes a metastore assignment. The caller must be an account administrator.", - "summary": "Delete an assignment.", - "path": "/api/2.1/unity-catalog/workspaces/{workspace_id}/metastore", + "name": "ListSchedules", + "description": "List dashboard schedules.", + "summary": "List dashboard schedules.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UnassignRequest", + "pascal_name": "ListSchedulesRequest", "is_object": true, "required_fields": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedules belongs.", "required": true, "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "metastore_id", - "description": "Query for the ID of the metastore to delete.", - "required": true, - "is_query": true, "entity": { "is_string": true } @@ -148930,19 +148530,10 @@ ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedules belongs.", "required": true, "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "metastore_id", - "description": "Query for the ID of the metastore to delete.", - "required": true, - "is_query": true, "entity": { "is_string": true } @@ -148950,67 +148541,84 @@ ] }, "response": { - "pascal_name": "UnassignResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "ListSchedulesResponse", + "is_object": true }, "all_fields": [ { - "name": "metastore_id", - "description": "Query for the ID of the metastore to delete.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedules belongs.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "workspace_id", - "description": "A workspace ID.", - "required": true, - "is_path": true, + "name": "page_size", + "description": "The number of schedules to return per page.", + "is_query": true, "entity": { - "is_int64": true + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous `ListSchedules` call.\nUse this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedules belongs.", "required": true, "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "metastore_id", - "description": "Query for the ID of the metastore to delete.", - "required": true, - "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListSchedules` call.\nUse this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "Update", - "description": "Updates information for a specific metastore. The caller must be a metastore admin.\nIf the __owner__ field is set to the empty string (**\"\"**), the ownership is updated\nto the System User.", - "summary": "Update a metastore.", - "path": "/api/2.1/unity-catalog/metastores/{id}", - "can_use_json": true, + "name": "ListSubscriptions", + "description": "List schedule subscriptions.", + "summary": "List schedule subscriptions.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}/subscriptions", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateMetastore", + "pascal_name": "ListSubscriptionsRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscriptions belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscriptions belongs.", "required": true, "is_path": true, "entity": { @@ -149020,8 +148628,17 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscriptions belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscriptions belongs.", "required": true, "is_path": true, "entity": { @@ -149031,53 +148648,49 @@ ] }, "response": { - "pascal_name": "MetastoreInfo", + "pascal_name": "ListSubscriptionsResponse", "is_object": true }, "all_fields": [ { - "name": "delta_sharing_organization_name", - "description": "The organization name of a Delta Sharing entity, to be used in Databricks-to-Databricks Delta Sharing as the official name.", - "is_request_body_field": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscriptions belongs.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "delta_sharing_recipient_token_lifetime_in_seconds", - "description": "The lifetime of delta sharing recipient token in seconds.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "delta_sharing_scope", - "description": "The scope of Delta Sharing enabled for the metastore.", - "is_request_body_field": true, + "name": "page_size", + "description": "The number of subscriptions to return per page.", + "is_query": true, "entity": { - "pascal_name": "DeltaSharingScopeEnum", - "enum": [ - { - "content": "INTERNAL" - }, - { - "content": "INTERNAL_AND_EXTERNAL" - } - ] + "is_int": true } }, { - "name": "external_access_enabled", - "description": "Whether to allow non-DBR clients to directly access entities under the metastore.", - "is_request_body_field": true, + "name": "page_token", + "description": "A page token, received from a previous `ListSubscriptions` call.\nUse this to retrieve the subsequent page.", + "is_query": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscriptions belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard which the subscriptions belongs.", "required": true, "is_path": true, "entity": { @@ -149085,44 +148698,110 @@ } }, { - "name": "new_name", - "description": "New name for the metastore.", + "name": "schedule_id", + "description": "UUID identifying the schedule which the subscriptions belongs.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListSubscriptions` call.\nUse this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "Migrate", + "description": "Migrates a classic SQL dashboard to Lakeview.", + "summary": "Migrate dashboard.", + "path": "/api/2.0/lakeview/dashboards/migrate", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "MigrateDashboardRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "source_dashboard_id", + "description": "UUID of the dashboard to be migrated.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "source_dashboard_id", + "description": "UUID of the dashboard to be migrated.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Dashboard", + "is_object": true + }, + "all_fields": [ + { + "name": "display_name", + "description": "Display name for the new Lakeview dashboard.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "The owner of the metastore.", + "name": "parent_path", + "description": "The workspace path of the folder to contain the migrated Lakeview dashboard.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "privilege_model_version", - "description": "Privilege model version of the metastore, of the form `major.minor` (e.g., `1.0`).", + "name": "source_dashboard_id", + "description": "UUID of the dashboard to be migrated.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "storage_root_credential_id", - "description": "UUID of storage credential to access the metastore storage_root.", + "name": "update_parameter_syntax", + "description": "Flag to indicate if mustache parameter syntax ({{ param }}) should be auto-updated\nto named syntax (:param) when converting datasets in the dashboard.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID of the metastore.", + "name": "source_dashboard_id", + "description": "UUID of the dashboard to be migrated.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -149130,149 +148809,100 @@ ] }, { - "name": "UpdateAssignment", - "description": "Updates a metastore assignment. This operation can be used to update __metastore_id__ or __default_catalog_name__\nfor a specified Workspace, if the Workspace is already assigned a metastore.\nThe caller must be an account admin to update __metastore_id__; otherwise, the caller can be a Workspace admin.", - "summary": "Update an assignment.", - "path": "/api/2.1/unity-catalog/workspaces/{workspace_id}/metastore", + "name": "Publish", + "description": "Publish the current draft dashboard.", + "summary": "Publish dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateMetastoreAssignment", + "pascal_name": "PublishRequest", "is_object": true, "required_fields": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to be published.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to be published.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ] }, "response": { - "pascal_name": "UpdateAssignmentResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "PublishedDashboard", + "is_object": true }, "all_fields": [ { - "name": "default_catalog_name", - "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", - "is_request_body_field": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard to be published.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "metastore_id", - "description": "The unique ID of the metastore.", + "name": "embed_credentials", + "description": "Flag to indicate if the publisher's credentials should be embedded in the\npublished dashboard. These embedded credentials will be used to execute the\npublished dashboard's queries.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "workspace_id", - "description": "A workspace ID.", - "required": true, - "is_path": true, + "name": "warehouse_id", + "description": "The ID of the warehouse that can be used to override the warehouse which\nwas set in the draft.", + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "A workspace ID.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to be published.", "required": true, "is_path": true, "entity": { - "is_int64": true - } - } - ] - } - ] - }, - { - "id": "catalog.AccountMetastores", - "name": "AccountMetastores", - "description": "These APIs manage Unity Catalog metastores for an account. A metastore contains catalogs that can be associated with workspaces", - "package": { - "name": "catalog" - }, - "is_accounts": true, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListAccountMetastoresRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a Unity Catalog metastore.", - "summary": "Create Metastore.", - "path": "/api/2.0/accounts/{account_id}/metastores", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "AccountsCreateMetastore", - "is_object": true - }, - "response": { - "pascal_name": "AccountsCreateMetastoreResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "metastore_info", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CreateAccountsMetastore", - "is_object": true + "is_string": true } } ] }, { - "name": "Delete", - "description": "Deletes a Unity Catalog metastore for an account, both specified by ID.", - "summary": "Delete a metastore.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}", + "name": "Revert", + "description": "Revert a dashboard's definition in draft mode to the last published version.", + "summary": "Revert dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/revert", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteAccountMetastoreRequest", + "pascal_name": "RevertDashboardRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149282,8 +148912,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149293,23 +148923,24 @@ ] }, "response": { - "pascal_name": "AccountsDeleteMetastoreResponse", + "pascal_name": "RevertDashboardResponse", "is_object": true }, "all_fields": [ { - "name": "force", - "description": "Force deletion even if the metastore is not empty. Default is false.", - "is_query": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "etag", + "description": "The etag for the dashboard. Optionally, it can be provided to verify that the dashboard\nhas not been modified from its last retrieval.", + "is_computed": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -149317,8 +148948,8 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149328,21 +148959,20 @@ ] }, { - "name": "Get", - "description": "Gets a Unity Catalog metastore from an account, both specified by ID.", - "summary": "Get a metastore.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}", - "is_crud_read": true, + "name": "Trash", + "description": "Trash a dashboard.", + "summary": "Trash dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetAccountMetastoreRequest", + "pascal_name": "TrashDashboardRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149352,8 +148982,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149363,13 +148993,14 @@ ] }, "response": { - "pascal_name": "AccountsGetMetastoreResponse", - "is_object": true + "pascal_name": "TrashDashboardResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149379,8 +149010,8 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, "is_path": true, "entity": { @@ -149390,39 +149021,20 @@ ] }, { - "name": "List", - "description": "Gets all Unity Catalog metastores associated with an account specified by ID.", - "summary": "Get all metastores associated with an account.", - "path": "/api/2.0/accounts/{account_id}/metastores", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListAccountMetastoresRequest", - "is_object": true - }, - "response": { - "pascal_name": "AccountsListMetastoresResponse", - "is_object": true - }, - "pagination": {} - }, - { - "name": "Update", - "description": "Updates an existing Unity Catalog metastore.", - "summary": "Update a metastore.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}", - "can_use_json": true, + "name": "Unpublish", + "description": "Unpublish the dashboard.", + "summary": "Unpublish dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "AccountsUpdateMetastore", + "pascal_name": "UnpublishDashboardRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, "is_path": true, "entity": { @@ -149432,8 +149044,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, "is_path": true, "entity": { @@ -149443,34 +149055,25 @@ ] }, "response": { - "pascal_name": "AccountsUpdateMetastoreResponse", - "is_object": true + "pascal_name": "UnpublishDashboardResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "metastore_info", - "description": "Properties of the metastore to change.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "UpdateAccountsMetastore", - "is_object": true - } } ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, "is_path": true, "entity": { @@ -149478,305 +149081,515 @@ } } ] - } - ] - }, - { - "id": "ml.ModelRegistry", - "name": "ModelRegistry", - "description": "Note: This API reference documents APIs for the Workspace Model Registry. Databricks recommends using\n[Models in Unity Catalog](/api/workspace/registeredmodels) instead. Models in Unity Catalog provides\ncentralized model governance, cross-workspace access, lineage, and deployment. Workspace Model Registry\nwill be deprecated in the future.\n\nThe Workspace Model Registry is a centralized model repository and a UI and set of APIs that enable\nyou to manage the full lifecycle of MLflow Models.", - "package": { - "name": "ml" - }, - "docs_group": "ml", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListModelsRequest" - } - }, - "methods": [ + }, { - "name": "ApproveTransitionRequest", - "description": "Approves a model version stage transition request.", - "summary": "Approve transition request.", - "path": "/api/2.0/mlflow/transition-requests/approve", + "name": "Update", + "description": "Update a draft dashboard.", + "summary": "Update dashboard.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ApproveTransitionRequest", + "pascal_name": "UpdateDashboardRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the model.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "dashboard", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Dashboard", + "is_object": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } - }, - { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ], "required_request_body_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", + "name": "dashboard", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "Dashboard", + "is_object": true } } ] }, + "request_body_field": { + "name": "dashboard", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Dashboard", + "is_object": true + } + }, "response": { - "pascal_name": "ApproveTransitionRequestResponse", + "pascal_name": "Dashboard", "is_object": true }, "all_fields": [ { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", + "name": "dashboard", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "Dashboard", + "is_object": true } }, { - "name": "comment", - "description": "User-provided comment on the action.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", + "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true + } + }, + { + "name": "dataset_catalog", + "description": "Sets the default catalog for all datasets in this dashboard.\nDoes not impact table references that use fully qualified catalog names (ex: samples.nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "dataset_schema", + "description": "Sets the default schema for all datasets in this dashboard.\nDoes not impact table references that use fully qualified schema names (ex: nyctaxi.trips).\nLeave blank to keep each dataset’s existing configuration.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "The timestamp of when the dashboard was created.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the model.", - "required": true, + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, + "name": "display_name", + "description": "The display name of the dashboard.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", - "required": true, + "name": "etag", + "description": "The etag for the dashboard. Can be optionally provided on updates to ensure that the dashboard\nhas not been modified since the last read.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Name of the model.", - "required": true, + "name": "lifecycle_state", + "description": "The state of the dashboard resource. Used for tracking trashed status.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LifecycleState", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "TRASHED" + } + ] + } + }, + { + "name": "parent_path", + "description": "The workspace path of the folder containing the dashboard. Includes leading slash and no\ntrailing slash.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", - "required": true, + "name": "path", + "description": "The workspace path of the dashboard asset, including the file name.\nExported dashboards always have the file extension `.lvdash.json`.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, + "name": "serialized_dashboard", + "description": "The contents of the dashboard in serialized string form.\nThis field is excluded in List Dashboards responses.\nUse the [get dashboard API](https://docs.databricks.com/api/workspace/lakeview/get)\nto retrieve an example response, which includes the `serialized_dashboard` field.\nThis field provides the structure of the JSON string that represents the dashboard's\nlayout and components.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", - "required": true, + "name": "update_time", + "description": "The timestamp of when the dashboard was last updated by the user.\nThis field is excluded in List Dashboards responses.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true + } + }, + { + "name": "warehouse_id", + "description": "The warehouse ID used to run the dashboard.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard.", + "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true } } ] }, { - "name": "CreateComment", - "description": "Posts a comment on a model version. A comment can be submitted either by a user or programmatically to display\nrelevant information about the model. For example, test results or deployment errors.", - "summary": "Post a comment.", - "path": "/api/2.0/mlflow/comments/create", + "name": "UpdateSchedule", + "description": "Update dashboard schedule.", + "summary": "Update dashboard schedule.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/schedules/{schedule_id}", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateComment", + "pascal_name": "UpdateScheduleRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the model.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "comment", - "description": "User-provided comment on the action.", + "name": "schedule", + "description": "The schedule to update.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Schedule", + "is_object": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "Name of the model.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "comment", - "description": "User-provided comment on the action.", + "name": "schedule", + "description": "The schedule to update.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Schedule", + "is_object": true } } ] }, + "request_body_field": { + "name": "schedule", + "description": "The schedule to update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Schedule", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + } + ] + } + }, "response": { - "pascal_name": "CreateCommentResponse", - "is_object": true + "pascal_name": "Schedule", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "comment", - "description": "User-provided comment on the action.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the model.", + "name": "schedule", + "description": "The schedule to update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Schedule", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + } + ] + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the schedule was created.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "CronSchedule", + "is_object": true + } + }, + { + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "display_name", + "description": "The display name for schedule.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "etag", + "description": "The etag for the schedule. Must be left empty on create, must be provided on updates to ensure\nthat the schedule has not been modified since the last read, and can be optionally provided on delete.", + "is_computed": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "pause_status", + "description": "The status indicates whether this schedule is paused or not.", + "is_request_body_field": true, + "entity": { + "pascal_name": "SchedulePauseStatus", + "enum": [ + { + "content": "PAUSED" + }, + { + "content": "UNPAUSED" + } + ] + } + }, + { + "name": "schedule_id", + "description": "UUID identifying the schedule.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the schedule was last updated.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "warehouse_id", + "description": "The warehouse id to run the dashboard with for the schedule.", + "is_request_body_field": true, "entity": { "is_string": true } @@ -149784,65 +149597,81 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the model.", + "name": "dashboard_id", + "description": "UUID identifying the dashboard to which the schedule belongs.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "schedule_id", + "description": "UUID identifying the schedule.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "comment", - "description": "User-provided comment on the action.", + "name": "cron_schedule", + "description": "The cron expression describing the frequency of the periodic refresh for this schedule.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CronSchedule", + "is_object": true } } ] - }, + } + ] + }, + { + "id": "dashboards.LakeviewEmbedded", + "name": "LakeviewEmbedded", + "description": "Token-based Lakeview APIs for embedding dashboards in external applications.", + "package": { + "name": "dashboards" + }, + "docs_group": "dashboards", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "CreateModel", - "description": "Creates a new registered model with the name specified in the request body.\nThrows `RESOURCE_ALREADY_EXISTS` if a registered model with the given name exists.", - "summary": "Create a model.", - "path": "/api/2.0/mlflow/registered-models/create", - "can_use_json": true, - "is_crud_create": true, + "name": "GetPublishedDashboardTokenInfo", + "description": "Get a required authorization details and scopes of a published dashboard to mint an OAuth token.", + "summary": "Read information of a published dashboard to mint an OAuth token.", + "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published/tokeninfo", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateModelRequest", + "pascal_name": "GetPublishedDashboardTokenInfoRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Register models under this name", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "Register models under this name", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -149850,101 +149679,112 @@ ] }, "response": { - "pascal_name": "CreateModelResponse", + "pascal_name": "GetPublishedDashboardTokenInfoResponse", "is_object": true }, "all_fields": [ { - "name": "description", - "description": "Optional description for registered model.", - "is_request_body_field": true, + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Register models under this name", - "required": true, - "is_request_body_field": true, + "name": "external_value", + "description": "Provided external value to be included in the custom claim.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "tags", - "description": "Additional metadata for registered model.", - "is_request_body_field": true, + "name": "external_viewer_id", + "description": "Provided external viewer id to be included in the custom claim.", + "is_query": true, "entity": { - "pascal_name": "ModelTagList", - "array_value": { - "pascal_name": "ModelTag", - "is_object": true - } + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Register models under this name", + "name": "dashboard_id", + "description": "UUID identifying the published dashboard.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] + } + ] + }, + { + "id": "compute.Libraries", + "name": "Libraries", + "description": "The Libraries API allows you to install and uninstall libraries and get the status of libraries on a cluster.\n\nTo make third-party or custom code available to notebooks and jobs running on your clusters, you can install a library.\nLibraries can be written in Python, Java, Scala, and R. You can upload Python, Java, Scala and R libraries and\npoint to external packages in PyPI, Maven, and CRAN repositories.\n\nCluster libraries can be used by all notebooks running on a cluster. You can install a cluster library directly\nfrom a public repository such as PyPI or Maven, using a previously installed workspace library, or using an init script.\n\nWhen you uninstall a library from a cluster, the library is removed only when you restart the cluster.\nUntil you restart the cluster, the status of the uninstalled library appears as Uninstall pending restart.", + "package": { + "name": "compute" + }, + "docs_group": "compute", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ClusterStatus" + } + }, + "methods": [ + { + "name": "AllClusterStatuses", + "description": "Get the status of all libraries on all clusters. A status is returned for all libraries installed on this cluster\nvia the API or the libraries UI.", + "summary": "Get all statuses.", + "path": "/api/2.0/libraries/all-cluster-statuses", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListAllClusterLibraryStatuses", + "is_object": true + }, + "response": { + "pascal_name": "ListAllClusterLibraryStatusesResponse", + "is_object": true + }, + "pagination": {} }, { - "name": "CreateModelVersion", - "description": "Creates a model version.", - "summary": "Create a model version.", - "path": "/api/2.0/mlflow/model-versions/create", - "can_use_json": true, - "is_crud_create": true, + "name": "ClusterStatus", + "description": "Get the status of libraries on a cluster. A status is returned for all libraries installed on this cluster via the API\nor the libraries UI.\nThe order of returned libraries is as follows:\n1. Libraries set to be installed on this cluster, in the order that the libraries were added\nto the cluster, are returned first.\n2. Libraries that were previously requested to be installed on this cluster or,\nbut are now marked for removal, in no particular order, are returned last.", + "summary": "Get status.", + "path": "/api/2.0/libraries/cluster-status", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateModelVersionRequest", + "pascal_name": "ClusterStatus", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Register model under this name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source", - "description": "URI indicating the location of the model artifacts.", + "name": "cluster_id", + "description": "Unique identifier of the cluster whose status should be retrieved.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "name", - "description": "Register model under this name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "source", - "description": "URI indicating the location of the model artifacts.", + "name": "cluster_id", + "description": "Unique identifier of the cluster whose status should be retrieved.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } @@ -149952,113 +149792,51 @@ ] }, "response": { - "pascal_name": "CreateModelVersionResponse", + "pascal_name": "ClusterLibraryStatuses", "is_object": true }, "all_fields": [ { - "name": "description", - "description": "Optional description for model version.", - "is_request_body_field": true, + "name": "cluster_id", + "description": "Unique identifier of the cluster whose status should be retrieved.", + "required": true, + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "name", - "description": "Register model under this name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "run_id", - "description": "MLflow run ID for correlation, if `source` was generated by an experiment run in\nMLflow tracking server", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "run_link", - "description": "MLflow run link - this is the exact link of the run that generated this model version,\npotentially hosted at another instance of MLflow.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source", - "description": "URI indicating the location of the model artifacts.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tags", - "description": "Additional metadata for model version.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ModelVersionTagList", - "array_value": { - "pascal_name": "ModelVersionTag", - "is_object": true - } - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Register model under this name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "source", - "description": "URI indicating the location of the model artifacts.", + "name": "cluster_id", + "description": "Unique identifier of the cluster whose status should be retrieved.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": {} }, { - "name": "CreateTransitionRequest", - "description": "Creates a model version stage transition request.", - "summary": "Make a transition request.", - "path": "/api/2.0/mlflow/transition-requests/create", + "name": "Install", + "description": "Add libraries to install on a cluster. The installation is asynchronous; it happens in\nthe background after the completion of this request.", + "summary": "Add a library.", + "path": "/api/2.0/libraries/install", "can_use_json": true, + "must_use_json": true, "is_crud_create": true, - "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateTransitionRequest", + "pascal_name": "InstallLibraries", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "cluster_id", + "description": "Unique identifier for the cluster on which to install these libraries.", "required": true, "is_request_body_field": true, "entity": { @@ -150066,28 +149844,23 @@ } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "libraries", + "description": "The libraries to install.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LibraryList", + "array_value": { + "pascal_name": "Library", + "is_object": true + } } } ], "required_request_body_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "cluster_id", + "description": "Unique identifier for the cluster on which to install these libraries.", "required": true, "is_request_body_field": true, "entity": { @@ -150095,70 +149868,29 @@ } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "libraries", + "description": "The libraries to install.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LibraryList", + "array_value": { + "pascal_name": "Library", + "is_object": true + } } } ] }, "response": { - "pascal_name": "CreateTransitionRequestResponse", - "is_object": true + "pascal_name": "InstallLibrariesResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "comment", - "description": "User-provided comment on the action.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "cluster_id", + "description": "Unique identifier for the cluster on which to install these libraries.", "required": true, "is_request_body_field": true, "entity": { @@ -150166,275 +149898,248 @@ } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "libraries", + "description": "The libraries to install.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LibraryList", + "array_value": { + "pascal_name": "Library", + "is_object": true + } } } ] }, { - "name": "CreateWebhook", - "description": "**NOTE:** This endpoint is in Public Preview.\nCreates a registry webhook.", - "summary": "Create a webhook.", - "path": "/api/2.0/mlflow/registry-webhooks/create", + "name": "Uninstall", + "description": "Set libraries to uninstall from a cluster. The libraries won't be uninstalled until\nthe cluster is restarted. A request to uninstall a library that is not currently installed is ignored.", + "summary": "Uninstall libraries.", + "path": "/api/2.0/libraries/uninstall", "can_use_json": true, "must_use_json": true, - "is_crud_create": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateRegistryWebhook", + "pascal_name": "UninstallLibraries", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "events", - "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", + "name": "cluster_id", + "description": "Unique identifier for the cluster on which to uninstall these libraries.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RegistryWebhookEventList", + "is_string": true + } + }, + { + "name": "libraries", + "description": "The libraries to uninstall.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LibraryList", "array_value": { - "pascal_name": "RegistryWebhookEvent", - "enum": [ - { - "content": "COMMENT_CREATED" - }, - { - "content": "MODEL_VERSION_CREATED" - }, - { - "content": "MODEL_VERSION_TAG_SET" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_STAGE" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" - }, - { - "content": "REGISTERED_MODEL_CREATED" - }, - { - "content": "TRANSITION_REQUEST_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" - } - ] + "pascal_name": "Library", + "is_object": true } } } ], "required_request_body_fields": [ { - "name": "events", - "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", + "name": "cluster_id", + "description": "Unique identifier for the cluster on which to uninstall these libraries.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RegistryWebhookEventList", + "is_string": true + } + }, + { + "name": "libraries", + "description": "The libraries to uninstall.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LibraryList", "array_value": { - "pascal_name": "RegistryWebhookEvent", - "enum": [ - { - "content": "COMMENT_CREATED" - }, - { - "content": "MODEL_VERSION_CREATED" - }, - { - "content": "MODEL_VERSION_TAG_SET" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_STAGE" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" - }, - { - "content": "REGISTERED_MODEL_CREATED" - }, - { - "content": "TRANSITION_REQUEST_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" - } - ] + "pascal_name": "Library", + "is_object": true } } } ] }, "response": { - "pascal_name": "CreateWebhookResponse", - "is_object": true + "pascal_name": "UninstallLibrariesResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "description", - "description": "User-specified description for the webhook.", + "name": "cluster_id", + "description": "Unique identifier for the cluster on which to uninstall these libraries.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "events", - "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", + "name": "libraries", + "description": "The libraries to uninstall.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RegistryWebhookEventList", + "pascal_name": "LibraryList", "array_value": { - "pascal_name": "RegistryWebhookEvent", - "enum": [ - { - "content": "COMMENT_CREATED" - }, - { - "content": "MODEL_VERSION_CREATED" - }, - { - "content": "MODEL_VERSION_TAG_SET" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_STAGE" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" - }, - { - "content": "REGISTERED_MODEL_CREATED" - }, - { - "content": "TRANSITION_REQUEST_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" - } - ] + "pascal_name": "Library", + "is_object": true } } - }, - { - "name": "http_url_spec", - "description": "External HTTPS URL called on event trigger (by using a POST request).", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "HttpUrlSpec", - "is_object": true + } + ] + } + ] + }, + { + "id": "settings.LlmProxyPartnerPoweredAccount", + "name": "LlmProxyPartnerPoweredAccount", + "description": "Determines if partner powered models are enabled or not for a specific account", + "package": { + "name": "settings" + }, + "is_accounts": true, + "has_parent": true, + "is_hidden_cli": true, + "docs_group": "settings", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "parent_service_id": "settings.AccountSettings", + "methods": [ + { + "name": "Get", + "description": "Gets the enable partner powered AI features account setting.", + "summary": "Get the enable partner powered AI features account setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered/names/default", + "is_crud_read": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GetLlmProxyPartnerPoweredAccountRequest", + "is_object": true + }, + "response": { + "pascal_name": "LlmProxyPartnerPoweredAccount", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } } - }, - { - "name": "job_spec", - "description": "ID of the job that the webhook runs.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "JobSpec", - "is_object": true + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } } - }, + ] + }, + "all_fields": [ { - "name": "model_name", - "description": "If model name is not specified, a registry-wide webhook is created that listens for the specified events across all versions of all registered models.", - "is_request_body_field": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "status", - "description": "Enable or disable triggering the webhook, or put the webhook into test mode. The default is `ACTIVE`:\n* `ACTIVE`: Webhook is triggered when an associated event happens.\n\n* `DISABLED`: Webhook is not triggered.\n\n* `TEST_MODE`: Webhook can be triggered through the test endpoint, but is not triggered on a real event.", - "is_request_body_field": true, - "entity": { - "pascal_name": "RegistryWebhookStatus", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "DISABLED" - }, - { - "content": "TEST_MODE" - } - ] - } } ] }, { - "name": "DeleteComment", - "description": "Deletes a comment on a model version.", - "summary": "Delete a comment.", - "path": "/api/2.0/mlflow/comments/delete", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "name": "Update", + "description": "Updates the enable partner powered AI features account setting.", + "summary": "Update the enable partner powered AI features account setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered/names/default", + "can_use_json": true, + "must_use_json": true, + "is_hidden_cli": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteCommentRequest", + "pascal_name": "UpdateLlmProxyPartnerPoweredAccountRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Unique identifier of an activity", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LlmProxyPartnerPoweredAccount", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Unique identifier of an activity", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LlmProxyPartnerPoweredAccount", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -150442,88 +150147,124 @@ ] }, "response": { - "pascal_name": "DeleteCommentResponse", + "pascal_name": "LlmProxyPartnerPoweredAccount", "is_object": true, - "is_empty_response": true + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "id", - "description": "Unique identifier of an activity", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "id", - "description": "Unique identifier of an activity", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LlmProxyPartnerPoweredAccount", + "is_object": true + } } ] - }, + } + ] + }, + { + "id": "settings.LlmProxyPartnerPoweredEnforce", + "name": "LlmProxyPartnerPoweredEnforce", + "description": "Determines if the account-level partner-powered setting value is enforced upon the workspace-level partner-powered setting", + "package": { + "name": "settings" + }, + "is_accounts": true, + "has_parent": true, + "is_hidden_cli": true, + "docs_group": "settings", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "parent_service_id": "settings.AccountSettings", + "methods": [ { - "name": "DeleteModel", - "description": "Deletes a registered model.", - "summary": "Delete a model.", - "path": "/api/2.0/mlflow/registered-models/delete", + "name": "Get", + "description": "Gets the enforcement status of partner powered AI features account setting.", + "summary": "Get the enforcement status of partner powered AI features account setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered_enforce/names/default", + "is_crud_read": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteModelRequest", + "pascal_name": "GetLlmProxyPartnerPoweredEnforceRequest", + "is_object": true + }, + "response": { + "pascal_name": "LlmProxyPartnerPoweredEnforce", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "boolean_val", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "BooleanMessage", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "boolean_val", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "BooleanMessage", + "is_object": true } } ] }, - "response": { - "pascal_name": "DeleteModelResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "is_query": true, "entity": { "is_string": true @@ -150532,51 +150273,72 @@ ] }, { - "name": "DeleteModelTag", - "description": "Deletes the tag for a registered model.", - "summary": "Delete a model tag.", - "path": "/api/2.0/mlflow/registered-models/delete-tag", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "name": "Update", + "description": "Updates the enable enforcement status of partner powered AI features account setting.", + "summary": "Update the enforcement status of partner powered AI features account setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/llm_proxy_partner_powered_enforce/names/default", + "can_use_json": true, + "must_use_json": true, + "is_hidden_cli": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteModelTagRequest", + "pascal_name": "UpdateLlmProxyPartnerPoweredEnforceRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "setting", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LlmProxyPartnerPoweredEnforce", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "setting", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LlmProxyPartnerPoweredEnforce", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -150584,142 +150346,174 @@ ] }, "response": { - "pascal_name": "DeleteModelTagResponse", + "pascal_name": "LlmProxyPartnerPoweredEnforce", "is_object": true, - "is_empty_response": true + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "setting", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LlmProxyPartnerPoweredEnforce", + "is_object": true } } ] - }, + } + ] + }, + { + "id": "settings.LlmProxyPartnerPoweredWorkspace", + "name": "LlmProxyPartnerPoweredWorkspace", + "description": "Determines if partner powered models are enabled or not for a specific workspace", + "package": { + "name": "settings" + }, + "has_parent": true, + "is_hidden_cli": true, + "docs_group": "settings", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "parent_service_id": "settings.Settings", + "methods": [ { - "name": "DeleteModelVersion", - "description": "Deletes a model version.", - "summary": "Delete a model version.", - "path": "/api/2.0/mlflow/model-versions/delete", + "name": "Delete", + "description": "Reverts the enable partner powered AI features workspace setting to its default value.", + "summary": "Delete the enable partner powered AI features workspace setting.", + "path": "/api/2.0/settings/types/llm_proxy_partner_powered/names/default", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteModelVersionRequest", + "pascal_name": "DeleteLlmProxyPartnerPoweredWorkspaceRequest", + "is_object": true + }, + "response": { + "pascal_name": "DeleteLlmProxyPartnerPoweredWorkspaceResponse", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Model version number", + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ - { - "name": "name", - "description": "Name of the registered model", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, + "required_request_body_fields": [ { - "name": "version", - "description": "Model version number", + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "DeleteModelVersionResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "name", - "description": "Name of the registered model", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Model version number", - "required": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "is_query": true, "entity": { "is_string": true } } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Name of the registered model", - "required": true, - "is_query": true, - "entity": { - "is_string": true + ] + }, + { + "name": "Get", + "description": "Gets the enable partner powered AI features workspace setting.", + "summary": "Get the enable partner powered AI features workspace setting.", + "path": "/api/2.0/settings/types/llm_proxy_partner_powered/names/default", + "is_crud_read": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GetLlmProxyPartnerPoweredWorkspaceRequest", + "is_object": true + }, + "response": { + "pascal_name": "LlmProxyPartnerPoweredWorkspace", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } } - }, + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ] + }, + "all_fields": [ { - "name": "version", - "description": "Model version number", - "required": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "is_query": true, "entity": { "is_string": true @@ -150728,69 +150522,72 @@ ] }, { - "name": "DeleteModelVersionTag", - "description": "Deletes a model version tag.", - "summary": "Delete a model version tag.", - "path": "/api/2.0/mlflow/model-versions/delete-tag", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "name": "Update", + "description": "Updates the enable partner powered AI features workspace setting.", + "summary": "Update the enable partner powered AI features workspace setting.", + "path": "/api/2.0/settings/types/llm_proxy_partner_powered/names/default", + "can_use_json": true, + "must_use_json": true, + "is_hidden_cli": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteModelVersionTagRequest", + "pascal_name": "UpdateLlmProxyPartnerPoweredWorkspaceRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "version", - "description": "Model version number that the tag was logged under.", + "name": "setting", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LlmProxyPartnerPoweredWorkspace", + "is_object": true } }, { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "version", - "description": "Model version number that the tag was logged under.", + "name": "setting", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LlmProxyPartnerPoweredWorkspace", + "is_object": true } }, { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -150798,113 +150595,155 @@ ] }, "response": { - "pascal_name": "DeleteModelVersionTagResponse", + "pascal_name": "LlmProxyPartnerPoweredWorkspace", "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", - "required": true, - "is_query": true, - "entity": { - "is_string": true + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } } - }, - { - "name": "version", - "description": "Model version number that the tag was logged under.", - "required": true, - "is_query": true, - "entity": { - "is_string": true + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } } - } - ], - "required_positional_arguments": [ + ] + }, + "all_fields": [ { - "name": "name", - "description": "Name of the registered model that the tag was logged under.", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "version", - "description": "Model version number that the tag was logged under.", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "name": "setting", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "LlmProxyPartnerPoweredWorkspace", + "is_object": true } } ] + } + ] + }, + { + "id": "billing.LogDelivery", + "name": "LogDelivery", + "description": "These APIs manage log delivery configurations for this account. The two supported log types for this API are _billable usage logs_ (AWS only) and _audit logs_ (AWS and GCP). This feature is in Public Preview. This feature works with all account ID types.\n\nLog delivery works with all account types. However, if your account is on the E2 version of the platform or on a select custom plan that allows multiple workspaces per account, you can optionally configure different storage destinations for each workspace. Log delivery status is also provided to know the latest status of log delivery attempts.\n\nThe high-level flow of billable usage delivery (AWS only):\n\n1. **Create storage**: In AWS, [create a new AWS S3 bucket](https://docs.databricks.com/administration-guide/account-api/aws-storage.html) with a specific bucket policy. Using Databricks APIs, call the Account API to create a [storage configuration object](:method:Storage/Create) that uses the bucket name.\n\n2. **Create credentials**: In AWS, create the appropriate AWS IAM role. For full details, including the required IAM role policies and trust relationship, see [Billable usage log delivery](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html). Using Databricks APIs, call the Account API to create a [credential configuration object](:method:Credentials/Create) that uses the IAM role's ARN.\n\n3. **Create log delivery configuration**: Using Databricks APIs, call the Account API to [create a log delivery configuration](:method:LogDelivery/Create) that uses the credential and storage configuration objects from previous steps. You can specify if the logs should include all events of that log type in your account (_Account level_ delivery) or only events for a specific set of workspaces (_workspace level_ delivery). Account level log delivery applies to all current and future workspaces plus account level logs, while workspace level log delivery solely delivers logs related to the specified workspaces. You can create multiple types of delivery configurations per account.\n\nFor billable usage delivery (AWS only):\n* For more information about billable usage logs, see [Billable usage log delivery](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html). For the CSV schema, see the [Usage page](https://docs.databricks.com/administration-guide/account-settings/usage.html).\n* The delivery location is `\u003cbucket-name\u003e/\u003cprefix\u003e/billable-usage/csv/`, where `\u003cprefix\u003e` is the name of the optional delivery path prefix you set up during log delivery configuration. Files are named `workspaceId=\u003cworkspace-id\u003e-usageMonth=\u003cmonth\u003e.csv`.\n* All billable usage logs apply to specific workspaces (_workspace level_ logs). You can aggregate usage for your entire account by creating an _account level_ delivery configuration that delivers logs for all current and future workspaces in your account.\n* The files are delivered daily by overwriting the month's CSV file for each workspace.\n\nFor audit log delivery (AWS and GCP):\n* For more information about about audit log delivery, see Audit log delivery [AWS](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html) or [GCP](https://docs.databricks.com/gcp/en/admin/account-settings/audit-logs), which includes information about the used JSON schema.\n* The delivery location is `\u003cbucket-name\u003e/\u003cdelivery-path-prefix\u003e/workspaceId=\u003cworkspaceId\u003e/date=\u003cyyyy-mm-dd\u003e/auditlogs_\u003cinternal-id\u003e.json`. Files may get overwritten with the same content multiple times to achieve exactly-once delivery.\n* If the audit log delivery configuration included specific workspace IDs, only _workspace-level_ audit logs for those workspaces are delivered. If the log delivery configuration applies to the entire account (_account level_ delivery configuration), the audit log delivery includes workspace-level audit logs for all workspaces in the account as well as account-level audit logs. See Audit log delivery [AWS](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html) or [GCP](https://docs.databricks.com/gcp/en/admin/account-settings/audit-logs) for details.\n* Auditable events are typically available in logs within 15 minutes.", + "package": { + "name": "billing" + }, + "is_accounts": true, + "docs_group": "billing", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "LogDeliveryConfigurationConfigNameToConfigIdMap" }, + "request": { + "pascal_name": "ListLogDeliveryRequest" + } + }, + "methods": [ { - "name": "DeleteTransitionRequest", - "description": "Cancels a model version stage transition request.", - "summary": "Delete a transition request.", - "path": "/api/2.0/mlflow/transition-requests/delete", - "has_required_positional_arguments": true, + "name": "Create", + "description": "Creates a new Databricks log delivery configuration to enable delivery of the specified type of logs to your storage location.\nThis requires that you already created a [credential object](:method:Credentials/Create) (which encapsulates a cross-account service IAM role)\nand a [storage configuration object](:method:Storage/Create) (which encapsulates an S3 bucket).\n\nFor full details, including the required IAM role policies and bucket policies,\nsee [Deliver and access billable usage logs](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html)\nor [Configure audit logging](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html).\n\n**Note**: There is a limit on the number of log delivery configurations available per account (each limit applies separately to each log type including billable usage and audit logs).\nYou can create a maximum of two enabled account-level delivery configurations (configurations without a workspace filter) per type.\nAdditionally, you can create two enabled workspace-level delivery configurations per workspace for each log type, which means that the same workspace ID can occur in the workspace filter for no more than two delivery configurations per log type.\n\nYou cannot delete a log delivery configuration, but you can disable it (see [Enable or disable log delivery configuration](:method:LogDelivery/PatchStatus)).", + "summary": "Create a new log delivery configuration.", + "path": "/api/2.0/accounts/{account_id}/log-delivery", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteTransitionRequestRequest", + "pascal_name": "WrappedCreateLogDeliveryConfiguration", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "log_delivery_configuration", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CreateLogDeliveryConfigurationParams", + "is_object": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "stage", - "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "log_delivery_configuration", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CreateLogDeliveryConfigurationParams", + "is_object": true } - }, + } + ] + }, + "response": { + "pascal_name": "WrappedLogDeliveryConfiguration", + "is_object": true + }, + "all_fields": [ + { + "name": "log_delivery_configuration", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CreateLogDeliveryConfigurationParams", + "is_object": true + } + } + ] + }, + { + "name": "Get", + "description": "Gets a Databricks log delivery configuration object for an account, both specified by ID.", + "summary": "Get log delivery configuration.", + "path": "/api/2.0/accounts/{account_id}/log-delivery/{log_delivery_configuration_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetLogDeliveryRequest", + "is_object": true, + "required_fields": [ { - "name": "creator", - "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -150912,37 +150751,10 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "stage", - "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "creator", - "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -150950,175 +150762,311 @@ ] }, "response": { - "pascal_name": "DeleteTransitionRequestResponse", + "pascal_name": "GetLogDeliveryConfigurationResponse", "is_object": true }, "all_fields": [ { - "name": "comment", - "description": "User-provided comment on the action.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "creator", - "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "stage", - "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "version", - "description": "Version of the model.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "required_positional_arguments": [ + ] + }, + { + "name": "List", + "description": "Gets all Databricks log delivery configurations associated with an account specified by ID.", + "summary": "Get all log delivery configurations.", + "path": "/api/2.0/accounts/{account_id}/log-delivery", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListLogDeliveryRequest", + "is_object": true + }, + "response": { + "pascal_name": "WrappedLogDeliveryConfigurations", + "is_object": true + }, + "all_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, + "name": "credentials_id", + "description": "The Credentials id to filter the search results with", "is_query": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", - "required": true, + "name": "page_token", + "description": "A page token received from a previous get all budget configurations call. This token can be used to retrieve the subsequent page.\nRequests first page if absent.", "is_query": true, "entity": { "is_string": true } }, { - "name": "stage", - "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, + "name": "status", + "description": "The log delivery status to filter the search results with", "is_query": true, "entity": { - "is_string": true + "pascal_name": "LogDeliveryConfigStatus", + "enum": [ + { + "content": "DISABLED" + }, + { + "content": "ENABLED" + } + ] } }, { - "name": "creator", - "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", - "required": true, + "name": "storage_configuration_id", + "description": "The Storage Configuration id to filter the search results with", "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token received from a previous get all budget configurations call. This token can be used to retrieve the subsequent page.\nRequests first page if absent.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "DeleteWebhook", - "description": "**NOTE:** This endpoint is in Public Preview.\nDeletes a registry webhook.", - "summary": "Delete a webhook.", - "path": "/api/2.0/mlflow/registry-webhooks/delete", + "name": "PatchStatus", + "description": "Enables or disables a log delivery configuration.\nDeletion of delivery configurations is not supported, so disable log delivery configurations that are no longer needed.\nNote that you can't re-enable a delivery configuration if this would violate the delivery configuration limits described under [Create log delivery](:method:LogDelivery/Create).", + "summary": "Enable or disable log delivery configuration.", + "path": "/api/2.0/accounts/{account_id}/log-delivery/{log_delivery_configuration_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteWebhookRequest", + "pascal_name": "UpdateLogDeliveryConfigurationStatusRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Webhook ID required to delete a registry webhook.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "status", + "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LogDeliveryConfigStatus", + "enum": [ + { + "content": "DISABLED" + }, + { + "content": "ENABLED" + } + ] + } } ], "required_in_url_fields": [ { - "name": "id", - "description": "Webhook ID required to delete a registry webhook.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "status", + "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LogDeliveryConfigStatus", + "enum": [ + { + "content": "DISABLED" + }, + { + "content": "ENABLED" + } + ] + } + } ] }, "response": { - "pascal_name": "DeleteWebhookResponse", + "pascal_name": "PatchStatusResponse", "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "id", - "description": "Webhook ID required to delete a registry webhook.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "status", + "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LogDeliveryConfigStatus", + "enum": [ + { + "content": "DISABLED" + }, + { + "content": "ENABLED" + } + ] + } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Webhook ID required to delete a registry webhook.", + "name": "log_delivery_configuration_id", + "description": "The log delivery configuration id of customer", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "status", + "description": "Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults to `ENABLED`. You can [enable or disable the configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration is not supported, so disable a log delivery configuration that is no longer needed.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "LogDeliveryConfigStatus", + "enum": [ + { + "content": "DISABLED" + }, + { + "content": "ENABLED" + } + ] + } } ] - }, + } + ] + }, + { + "id": "ml.MaterializedFeatures", + "name": "MaterializedFeatures", + "description": "Materialized Features are columns in tables and views that can be directly used as features to train and serve ML models.", + "package": { + "name": "ml" + }, + "is_hidden_cli": true, + "docs_group": "ml", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "list": { + "request": { + "pascal_name": "ListFeatureTagsRequest" + } + }, + "methods": [ { - "name": "GetLatestVersions", - "description": "Gets the latest version of a registered model.", - "summary": "Get the latest version.", - "path": "/api/2.0/mlflow/registered-models/get-latest-versions", + "name": "CreateFeatureTag", + "description": "Creates a FeatureTag.", + "summary": "Create a feature tag.", + "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags", "can_use_json": true, + "is_crud_create": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetLatestVersionsRequest", + "pascal_name": "CreateFeatureTagRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_tag", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "FeatureTag", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151126,100 +151074,129 @@ ], "required_request_body_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "feature_tag", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "FeatureTag", + "is_object": true } } ] }, - "response": { - "pascal_name": "GetLatestVersionsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "stages", - "description": "List of stages.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true + "request_body_field": { + "name": "feature_tag", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FeatureTag", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + ], + "required_request_body_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } - ], - "pagination": {} - }, - { - "name": "GetModel", - "description": "Get the details of a model.\nThis is a Databricks workspace version of the [MLflow endpoint](https://www.mlflow.org/docs/latest/rest-api.html#get-registeredmodel)\nthat also returns the model's Databricks workspace ID and the permission level of the requesting user on the model.", - "summary": "Get model.", - "path": "/api/2.0/mlflow/databricks/registered-models/get", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetModelRequest", + }, + "response": { + "pascal_name": "FeatureTag", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "key", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "key", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "GetModelResponse", - "is_object": true - }, "all_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "feature_name", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_tag", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FeatureTag", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + { + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "is_request_body_field": true, "entity": { "is_string": true } @@ -151227,10 +151204,25 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "table_name", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -151238,32 +151230,41 @@ ] }, { - "name": "GetModelVersion", - "description": "Get a model version.", - "summary": "Get a model version.", - "path": "/api/2.0/mlflow/model-versions/get", - "is_crud_read": true, + "name": "DeleteFeatureTag", + "description": "Deletes a FeatureTag.", + "summary": "Delete a feature tag.", + "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetModelVersionRequest", + "pascal_name": "DeleteFeatureTagRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "table_name", + "description": "The name of the feature table.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "feature_name", + "description": "The name of the feature within the feature table.", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "The key of the tag to delete.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151271,19 +151272,28 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "table_name", + "description": "The name of the feature table.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "feature_name", + "description": "The name of the feature within the feature table.", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "The key of the tag to delete.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151291,24 +151301,32 @@ ] }, "response": { - "pascal_name": "GetModelVersionResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "feature_name", + "description": "The name of the feature within the feature table.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "key", + "description": "The key of the tag to delete.", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "table_name", + "description": "The name of the feature table.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151316,19 +151334,28 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the registered model", + "name": "table_name", + "description": "The name of the feature table.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "feature_name", + "description": "The name of the feature within the feature table.", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "The key of the tag to delete.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151336,31 +151363,33 @@ ] }, { - "name": "GetModelVersionDownloadUri", - "description": "Gets a URI to download the model version.", - "summary": "Get a model version URI.", - "path": "/api/2.0/mlflow/model-versions/get-download-uri", + "name": "GetFeatureLineage", + "description": "Get Feature Lineage.", + "summary": "Get Feature Lineage.", + "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/lineage", + "is_crud_read": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetModelVersionDownloadUriRequest", + "pascal_name": "GetFeatureLineageRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "table_name", + "description": "The full name of the feature table in Unity Catalog.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "feature_name", + "description": "The name of the feature.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -151368,19 +151397,19 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "table_name", + "description": "The full name of the feature table in Unity Catalog.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "feature_name", + "description": "The name of the feature.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -151388,24 +151417,24 @@ ] }, "response": { - "pascal_name": "GetModelVersionDownloadUriResponse", + "pascal_name": "FeatureLineage", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "feature_name", + "description": "The name of the feature.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "table_name", + "description": "The full name of the feature table in Unity Catalog.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -151413,19 +151442,19 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the registered model", + "name": "table_name", + "description": "The full name of the feature table in Unity Catalog.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "feature_name", + "description": "The name of the feature.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -151433,20 +151462,37 @@ ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get registered model permission levels.", - "path": "/api/2.0/permissions/registered-models/{registered_model_id}/permissionLevels", + "name": "GetFeatureTag", + "description": "Gets a FeatureTag.", + "summary": "Get a feature tag.", + "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key}", + "is_crud_read": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetRegisteredModelPermissionLevelsRequest", + "pascal_name": "GetFeatureTagRequest", "is_object": true, "required_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", "required": true, "is_path": true, "entity": { @@ -151456,8 +151502,23 @@ ], "required_in_url_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", "required": true, "is_path": true, "entity": { @@ -151467,13 +151528,49 @@ ] }, "response": { - "pascal_name": "GetRegisteredModelPermissionLevelsResponse", - "is_object": true + "pascal_name": "FeatureTag", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "feature_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "table_name", "required": true, "is_path": true, "entity": { @@ -151483,8 +151580,23 @@ ], "required_positional_arguments": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", "required": true, "is_path": true, "entity": { @@ -151494,20 +151606,28 @@ ] }, { - "name": "GetPermissions", - "description": "Gets the permissions of a registered model. Registered models can inherit permissions from their root object.", - "summary": "Get registered model permissions.", - "path": "/api/2.0/permissions/registered-models/{registered_model_id}", + "name": "ListFeatureTags", + "description": "Lists FeatureTags.", + "summary": "List all feature tags.", + "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetRegisteredModelPermissionsRequest", + "pascal_name": "ListFeatureTagsRequest", "is_object": true, "required_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", "required": true, "is_path": true, "entity": { @@ -151517,8 +151637,15 @@ ], "required_in_url_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "table_name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "feature_name", "required": true, "is_path": true, "entity": { @@ -151528,61 +151655,56 @@ ] }, "response": { - "pascal_name": "RegisteredModelPermissions", + "pascal_name": "ListFeatureTagsResponse", "is_object": true }, "all_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "feature_name", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "page_size", + "description": "The maximum number of results to return.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Pagination token to go to the next page based on a previous query.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "table_name", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - { - "name": "ListModels", - "description": "Lists all available registered models, up to the limit specified in __max_results__.", - "summary": "List models.", - "path": "/api/2.0/mlflow/registered-models/list", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListModelsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListModelsResponse", - "is_object": true - }, - "all_fields": [ + ], + "required_positional_arguments": [ { - "name": "max_results", - "description": "Maximum number of registered models desired. Max threshold is 1000.", - "is_query": true, + "name": "table_name", + "required": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "page_token", - "description": "Pagination token to go to the next page based on a previous query.", - "is_query": true, + "name": "feature_name", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151602,272 +151724,320 @@ } }, { - "name": "ListTransitionRequests", - "description": "Gets a list of all open stage transition requests for the model version.", - "summary": "List transition requests.", - "path": "/api/2.0/mlflow/transition-requests/list", + "name": "UpdateFeatureTag", + "description": "Updates a FeatureTag.", + "summary": "Update a feature tag.", + "path": "/api/2.0/feature-store/feature-tables/{table_name}/features/{feature_name}/tags/{key}", + "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "ListTransitionRequestsRequest", + "pascal_name": "UpdateFeatureTagRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model.", + "name": "table_name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "feature_name", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "required": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "feature_tag", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FeatureTag", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the registered model.", + "name": "table_name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "feature_name", "required": true, - "is_query": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "required": true, + "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "feature_tag", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FeatureTag", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "feature_tag", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FeatureTag", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, "response": { - "pascal_name": "ListTransitionRequestsResponse", - "is_object": true + "pascal_name": "FeatureTag", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "name", - "description": "Name of the registered model.", + "name": "feature_name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "feature_tag", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "FeatureTag", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Name of the registered model.", + "name": "key", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "table_name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": {} - }, - { - "name": "ListWebhooks", - "description": "**NOTE:** This endpoint is in Public Preview.\nLists all registry webhooks.", - "summary": "List registry webhooks.", - "path": "/api/2.0/mlflow/registry-webhooks/list", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListWebhooksRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListRegistryWebhooks", - "is_object": true - }, - "all_fields": [ + }, { - "name": "events", - "description": "Events that trigger the webhook.\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.\n\nIf `events` is specified, any webhook with one or more of the specified trigger events is included in the output.\nIf `events` is not specified, webhooks of all event types are included in the output.", + "name": "update_mask", + "description": "The list of fields to update.", "is_query": true, "entity": { - "pascal_name": "RegistryWebhookEventList", - "array_value": { - "pascal_name": "RegistryWebhookEvent", - "enum": [ - { - "content": "COMMENT_CREATED" - }, - { - "content": "MODEL_VERSION_CREATED" - }, - { - "content": "MODEL_VERSION_TAG_SET" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_STAGE" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" - }, - { - "content": "REGISTERED_MODEL_CREATED" - }, - { - "content": "TRANSITION_REQUEST_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" - } - ] - } + "is_string": true } }, { - "name": "max_results", - "is_query": true, + "name": "key", + "required": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "model_name", - "description": "Registered model name\nIf not specified, all webhooks associated with the specified events are listed, regardless of their associated model.", - "is_query": true, + "name": "value", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "table_name", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "page_token", - "description": "Token indicating the page of artifact results to fetch", - "is_query": true, + "name": "feature_name", + "required": true, + "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Token indicating the page of artifact results to fetch", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "key", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } - }, + ] + } + ] + }, + { + "id": "catalog.AccountMetastoreAssignments", + "name": "AccountMetastoreAssignments", + "description": "These APIs manage metastore assignments to a workspace.", + "package": { + "name": "catalog" + }, + "is_accounts": true, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListAccountMetastoreAssignmentsRequest" + } + }, + "methods": [ { - "name": "RejectTransitionRequest", - "description": "Rejects a model version stage transition request.", - "summary": "Reject a transition request.", - "path": "/api/2.0/mlflow/transition-requests/reject", + "name": "Create", + "description": "Creates an assignment to a metastore for a workspace", + "summary": "Assigns a workspace to a metastore.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastores/{metastore_id}", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RejectTransitionRequest", + "pascal_name": "AccountsCreateMetastoreAssignment", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "version", - "description": "Version of the model.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -151875,70 +152045,53 @@ ] }, "response": { - "pascal_name": "RejectTransitionRequestResponse", + "pascal_name": "AccountsCreateMetastoreAssignmentResponse", "is_object": true }, "all_fields": [ { - "name": "comment", - "description": "User-provided comment on the action.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Name of the model.", - "required": true, + "name": "metastore_assignment", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "CreateMetastoreAssignment", + "is_object": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -151946,35 +152099,51 @@ ] }, { - "name": "RenameModel", - "description": "Renames a registered model.", - "summary": "Rename a model.", - "path": "/api/2.0/mlflow/registered-models/rename", - "can_use_json": true, + "name": "Delete", + "description": "Deletes a metastore assignment to a workspace, leaving the workspace with no metastore.", + "summary": "Delete a metastore assignment.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastores/{metastore_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RenameModelRequest", + "pascal_name": "DeleteAccountMetastoreAssignmentRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -151982,34 +152151,44 @@ ] }, "response": { - "pascal_name": "RenameModelResponse", + "pascal_name": "AccountsDeleteMetastoreAssignmentResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "new_name", - "description": "If provided, updates the name for this `registered_model`.", - "is_request_body_field": true, + "name": "workspace_id", + "description": "Workspace ID.", + "required": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Registered model unique name identifier.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -152017,203 +152196,176 @@ ] }, { - "name": "SearchModelVersions", - "description": "Searches for specific model versions based on the supplied __filter__.", - "summary": "Search model versions.", - "path": "/api/2.0/mlflow/model-versions/search", + "name": "Get", + "description": "Gets the metastore assignment, if any, for the workspace specified by ID.\nIf the workspace is assigned a metastore, the mapping will be returned.\nIf no metastore is assigned to the workspace, the assignment will not be\nfound and a 404 returned.", + "summary": "Gets the metastore assignment for a workspace.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastore", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SearchModelVersionsRequest", - "is_object": true + "pascal_name": "GetAccountMetastoreAssignmentRequest", + "is_object": true, + "required_fields": [ + { + "name": "workspace_id", + "description": "Workspace ID.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } + ], + "required_in_url_fields": [ + { + "name": "workspace_id", + "description": "Workspace ID.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } + ] }, "response": { - "pascal_name": "SearchModelVersionsResponse", + "pascal_name": "AccountsMetastoreAssignment", "is_object": true }, "all_fields": [ { - "name": "filter", - "description": "String filter condition, like \"name='my-model-name'\". Must be a single boolean condition,\nwith string values wrapped in single quotes.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "max_results", - "description": "Maximum number of models desired. Max threshold is 10K.", - "is_query": true, + "name": "workspace_id", + "description": "Workspace ID.", + "required": true, + "is_path": true, "entity": { "is_int64": true } - }, - { - "name": "order_by", - "description": "List of columns to be ordered by including model name, version, stage with an\noptional \"DESC\" or \"ASC\" annotation, where \"ASC\" is the default.\nTiebreaks are done by latest stage transition timestamp, followed by name ASC, followed by\nversion DESC.", - "is_query": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "page_token", - "description": "Pagination token to go to next page based on previous search query.", - "is_query": true, - "entity": { - "is_string": true - } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to next page based on previous search query.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "workspace_id", + "description": "Workspace ID.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } - } + ] }, { - "name": "SearchModels", - "description": "Search for registered models based on the specified __filter__.", - "summary": "Search models.", - "path": "/api/2.0/mlflow/registered-models/search", + "name": "List", + "description": "Gets a list of all Databricks workspace IDs that have been assigned to given metastore.", + "summary": "Get all workspaces assigned to a metastore.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/workspaces", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SearchModelsRequest", - "is_object": true + "pascal_name": "ListAccountMetastoreAssignmentsRequest", + "is_object": true, + "required_fields": [ + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "SearchModelsResponse", + "pascal_name": "ListAccountMetastoreAssignmentsResponse", "is_object": true }, "all_fields": [ { - "name": "filter", - "description": "String filter condition, like \"name LIKE 'my-model-name'\".\nInterpreted in the backend automatically as \"name LIKE '%my-model-name%'\".\nSingle boolean condition, with string values wrapped in single quotes.", - "is_query": true, + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "max_results", - "description": "Maximum number of models desired. Default is 100. Max threshold is 1000.", - "is_query": true, - "entity": { - "is_int64": true - } - }, - { - "name": "order_by", - "description": "List of columns for ordering search results, which can include model name and last updated\ntimestamp with an optional \"DESC\" or \"ASC\" annotation, where \"ASC\" is the default.\nTiebreaks are done by model name ASC.", - "is_query": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_token", - "description": "Pagination token to go to the next page based on a previous search query.", - "is_query": true, + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to the next page based on a previous search query.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + "pagination": {} }, { - "name": "SetModelTag", - "description": "Sets a tag on a registered model.", - "summary": "Set a tag.", - "path": "/api/2.0/mlflow/registered-models/set-tag", + "name": "Update", + "description": "Updates an assignment to a metastore for a workspace. Currently, only the default catalog may be updated.", + "summary": "Updates a metastore assignment to a workspace.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/metastores/{metastore_id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SetModelTagRequest", + "pascal_name": "AccountsUpdateMetastoreAssignment", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Unique name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "name", - "description": "Unique name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -152221,95 +152373,104 @@ ] }, "response": { - "pascal_name": "SetModelTagResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "AccountsUpdateMetastoreAssignmentResponse", + "is_object": true }, "all_fields": [ { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", - "required": true, + "name": "metastore_assignment", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "UpdateMetastoreAssignment", + "is_object": true } }, { - "name": "name", - "description": "Unique name of the model.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Unique name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "name": "workspace_id", + "description": "Workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] - }, + } + ] + }, + { + "id": "catalog.Metastores", + "name": "Metastores", + "description": "A metastore is the top-level container of objects in Unity Catalog. It stores data assets\n(tables and views) and the permissions that govern access to them. Databricks account admins\ncan create metastores and assign them to Databricks workspaces to control which workloads\nuse each metastore. For a workspace to use Unity Catalog, it must have a Unity Catalog\nmetastore attached.\n\nEach metastore is configured with a root storage location in a cloud storage account.\nThis storage location is used for metadata and managed tables data.\n\nNOTE: This metastore is distinct from the metastore included in Databricks workspaces\ncreated before Unity Catalog was released. If your workspace includes a legacy Hive\nmetastore, the data in that metastore is available in a catalog named hive_metastore.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListMetastoresRequest" + } + }, + "methods": [ { - "name": "SetModelVersionTag", - "description": "Sets a model version tag.", - "summary": "Set a version tag.", - "path": "/api/2.0/mlflow/model-versions/set-tag", + "name": "Assign", + "description": "Creates a new metastore assignment.\nIf an assignment for the same __workspace_id__ exists, it will be overwritten by the new __metastore_id__ and\n__default_catalog_name__. The caller must be an account admin.", + "summary": "Create an assignment.", + "path": "/api/2.1/unity-catalog/workspaces/{workspace_id}/metastore", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SetModelVersionTagRequest", + "pascal_name": "CreateMetastoreAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Unique name of the model.", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "version", - "description": "Model version number.", + "name": "metastore_id", + "description": "The unique ID of the metastore.", "required": true, "is_request_body_field": true, "entity": { @@ -152317,46 +152478,30 @@ } }, { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "name": "default_catalog_name", + "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "name", - "description": "Unique name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Model version number.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "name": "metastore_id", + "description": "The unique ID of the metastore.", "required": true, "is_request_body_field": true, "entity": { @@ -152364,8 +152509,8 @@ } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "default_catalog_name", + "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", "required": true, "is_request_body_field": true, "entity": { @@ -152375,23 +152520,14 @@ ] }, "response": { - "pascal_name": "SetModelVersionTagResponse", + "pascal_name": "AssignResponse", "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Unique name of the model.", + "name": "default_catalog_name", + "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", "required": true, "is_request_body_field": true, "entity": { @@ -152399,8 +152535,8 @@ } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "metastore_id", + "description": "The unique ID of the metastore.", "required": true, "is_request_body_field": true, "entity": { @@ -152408,37 +152544,28 @@ } }, { - "name": "version", - "description": "Model version number.", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Unique name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Model version number.", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "key", - "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "name": "metastore_id", + "description": "The unique ID of the metastore.", "required": true, "is_request_body_field": true, "entity": { @@ -152446,8 +152573,8 @@ } }, { - "name": "value", - "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "name": "default_catalog_name", + "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", "required": true, "is_request_body_field": true, "entity": { @@ -152457,34 +152584,36 @@ ] }, { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set registered model permissions.", - "path": "/api/2.0/permissions/registered-models/{registered_model_id}", + "name": "Create", + "description": "Creates a new metastore based on a provided name and optional storage root path.\nBy default (if the __owner__ field is not set), the owner of the new metastore is the user calling\nthe __createMetastore__ API. If the __owner__ field is set to the empty string (**\"\"**), the ownership is\nassigned to the System User instead.", + "summary": "Create a metastore.", + "path": "/api/2.1/unity-catalog/metastores", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RegisteredModelPermissionsRequest", + "pascal_name": "CreateMetastore", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "name", + "description": "The user-specified name of the metastore.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "name", + "description": "The user-specified name of the metastore.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -152492,135 +152621,39 @@ ] }, "response": { - "pascal_name": "RegisteredModelPermissions", + "pascal_name": "MetastoreInfo", "is_object": true }, "all_fields": [ { - "name": "access_control_list", + "name": "external_access_enabled", + "description": "Whether to allow non-DBR clients to directly access entities under the metastore.", "is_request_body_field": true, "entity": { - "pascal_name": "RegisteredModelAccessControlRequestList", - "array_value": { - "pascal_name": "RegisteredModelAccessControlRequest", - "is_object": true - } + "is_bool": true } }, { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "name", + "description": "The user-specified name of the metastore.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "TestRegistryWebhook", - "description": "**NOTE:** This endpoint is in Public Preview.\nTests a registry webhook.", - "summary": "Test a webhook.", - "path": "/api/2.0/mlflow/registry-webhooks/test", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "TestRegistryWebhookRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "id", - "description": "Webhook ID", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "id", - "description": "Webhook ID", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "TestRegistryWebhookResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "event", - "description": "If `event` is specified, the test trigger uses the specified event. If `event` is not specified, the test trigger uses a randomly chosen event associated with the webhook.", - "is_request_body_field": true, - "entity": { - "pascal_name": "RegistryWebhookEvent", - "enum": [ - { - "content": "COMMENT_CREATED" - }, - { - "content": "MODEL_VERSION_CREATED" - }, - { - "content": "MODEL_VERSION_TAG_SET" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_STAGE" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" - }, - { - "content": "REGISTERED_MODEL_CREATED" - }, - { - "content": "TRANSITION_REQUEST_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" - } - ] - } - }, - { - "name": "id", - "description": "Webhook ID", - "required": true, - "is_request_body_field": true, + "name": "region", + "description": "Cloud region which the metastore serves (e.g., `us-west-2`, `westus`).", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage_root", + "description": "The storage root URL for metastore", + "is_request_body_field": true, "entity": { "is_string": true } @@ -152628,8 +152661,8 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Webhook ID", + "name": "name", + "description": "The user-specified name of the metastore.", "required": true, "is_request_body_field": true, "entity": { @@ -152639,140 +152672,117 @@ ] }, { - "name": "TransitionStage", - "description": "Transition a model version's stage.\nThis is a Databricks workspace version of the [MLflow endpoint](https://www.mlflow.org/docs/latest/rest-api.html#transition-modelversion-stage)\nthat also accepts a comment associated with the transition to be recorded.", - "summary": "Transition a stage.", - "path": "/api/2.0/mlflow/databricks/model-versions/transition-stage", - "can_use_json": true, - "has_required_positional_arguments": true, + "name": "Current", + "description": "Gets the metastore assignment for the workspace being accessed.", + "summary": "Get metastore assignment for workspace.", + "path": "/api/2.1/unity-catalog/current-metastore-assignment", + "is_legacy_empty_request": true, + "is_crud_read": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "TransitionModelVersionStageDatabricks", + "pascal_name": "CurrentRequest", + "is_object": true + }, + "response": { + "pascal_name": "MetastoreAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "workspace_id", + "description": "The unique ID of the Databricks workspace.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "metastore_id", + "description": "The unique ID of the metastore.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ], "required_request_body_fields": [ { - "name": "name", - "description": "Name of the model.", + "name": "workspace_id", + "description": "The unique ID of the Databricks workspace.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "version", - "description": "Version of the model.", + "name": "metastore_id", + "description": "The unique ID of the metastore.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ] + } + }, + { + "name": "Delete", + "description": "Deletes a metastore. The caller must be a metastore admin.", + "summary": "Delete a metastore.", + "path": "/api/2.1/unity-catalog/metastores/{id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteMetastoreRequest", + "is_object": true, + "required_fields": [ { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } } ] }, "response": { - "pascal_name": "TransitionStageResponse", - "is_object": true + "pascal_name": "DeleteResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", - "required": true, - "is_request_body_field": true, + "name": "force", + "description": "Force deletion even if the metastore is not empty. Default is false.", + "is_query": true, "entity": { "is_bool": true } }, { - "name": "comment", - "description": "User-provided comment on the action.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -152780,91 +152790,45 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "version", - "description": "Version of the model.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "stage", - "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "archive_existing_versions", - "description": "Specifies whether to archive all current model versions in the target stage.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ] }, { - "name": "UpdateComment", - "description": "Post an edit to a comment on a model version.", - "summary": "Update a comment.", - "path": "/api/2.0/mlflow/comments/update", - "can_use_json": true, + "name": "Get", + "description": "Gets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this info.", + "summary": "Get a metastore.", + "path": "/api/2.1/unity-catalog/metastores/{id}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateComment", + "pascal_name": "GetMetastoreRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { "name": "id", - "description": "Unique identifier of an activity", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "comment", - "description": "User-provided comment on the action.", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { "name": "id", - "description": "Unique identifier of an activity", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "comment", - "description": "User-provided comment on the action.", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -152872,24 +152836,15 @@ ] }, "response": { - "pascal_name": "UpdateCommentResponse", + "pascal_name": "MetastoreInfo", "is_object": true }, "all_fields": [ - { - "name": "comment", - "description": "User-provided comment on the action.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "id", - "description": "Unique identifier of an activity", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -152898,18 +152853,9 @@ "required_positional_arguments": [ { "name": "id", - "description": "Unique identifier of an activity", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "comment", - "description": "User-provided comment on the action.", + "description": "Unique ID of the metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -152917,124 +152863,123 @@ ] }, { - "name": "UpdateModel", - "description": "Updates a registered model.", - "summary": "Update model.", - "path": "/api/2.0/mlflow/registered-models/update", - "can_use_json": true, + "name": "List", + "description": "Gets an array of the available metastores (as __MetastoreInfo__ objects). The caller must be an admin to retrieve this info.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 metastores.", + "path": "/api/2.1/unity-catalog/metastores", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateModelRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListMetastoresRequest", + "is_object": true }, "response": { - "pascal_name": "UpdateModelResponse", + "pascal_name": "ListMetastoresResponse", "is_object": true }, "all_fields": [ { - "name": "description", - "description": "If provided, updates the description for this `registered_model`.", - "is_request_body_field": true, + "name": "max_results", + "description": "Maximum number of metastores to return.\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the metastores are returned (not recommended).\n- Note: The number of returned metastores might be less than the specified max_results size, even zero.\nThe only definitive indication that no further metastores can be fetched is when the next_page_token is unset from the response.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_request_body_field": true, + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { "is_string": true } } ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Registered model unique name identifier.", - "required": true, - "is_request_body_field": true, + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of metastores to return.\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the metastores are returned (not recommended).\n- Note: The number of returned metastores might be less than the specified max_results size, even zero.\nThe only definitive indication that no further metastores can be fetched is when the next_page_token is unset from the response.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } } - ] + } }, { - "name": "UpdateModelVersion", - "description": "Updates the model version.", - "summary": "Update model version.", - "path": "/api/2.0/mlflow/model-versions/update", - "can_use_json": true, + "name": "Summary", + "description": "Gets information about a metastore.\nThis summary includes the storage credential, the cloud vendor, the cloud region, and the global metastore ID.", + "summary": "Get a metastore summary.", + "path": "/api/2.1/unity-catalog/metastore_summary", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "SummaryRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetMetastoreSummaryResponse", + "is_object": true + } + }, + { + "name": "Unassign", + "description": "Deletes a metastore assignment. The caller must be an account administrator.", + "summary": "Delete an assignment.", + "path": "/api/2.1/unity-catalog/workspaces/{workspace_id}/metastore", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateModelVersionRequest", + "pascal_name": "UnassignRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "version", - "description": "Model version number", + "name": "metastore_id", + "description": "Query for the ID of the metastore to delete.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "Name of the registered model", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "version", - "description": "Model version number", + "name": "metastore_id", + "description": "Query for the ID of the metastore to delete.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } @@ -153042,52 +152987,45 @@ ] }, "response": { - "pascal_name": "UpdateModelVersionResponse", - "is_object": true + "pascal_name": "UnassignResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "description", - "description": "If provided, updates the description for this `registered_model`.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Name of the registered model", + "name": "metastore_id", + "description": "Query for the ID of the metastore to delete.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "Model version number", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the registered model", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "version", - "description": "Model version number", + "name": "metastore_id", + "description": "Query for the ID of the metastore to delete.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } @@ -153095,21 +153033,21 @@ ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a registered model. Registered models can inherit permissions from their root object.", - "summary": "Update registered model permissions.", - "path": "/api/2.0/permissions/registered-models/{registered_model_id}", + "name": "Update", + "description": "Updates information for a specific metastore. The caller must be a metastore admin.\nIf the __owner__ field is set to the empty string (**\"\"**), the ownership is updated\nto the System User.", + "summary": "Update a metastore.", + "path": "/api/2.1/unity-catalog/metastores/{id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RegisteredModelPermissionsRequest", + "pascal_name": "UpdateMetastore", "is_object": true, "required_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, "is_path": true, "entity": { @@ -153119,8 +153057,8 @@ ], "required_in_url_fields": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, "is_path": true, "entity": { @@ -153130,35 +153068,96 @@ ] }, "response": { - "pascal_name": "RegisteredModelPermissions", + "pascal_name": "MetastoreInfo", "is_object": true }, "all_fields": [ { - "name": "access_control_list", + "name": "delta_sharing_organization_name", + "description": "The organization name of a Delta Sharing entity, to be used in Databricks-to-Databricks Delta Sharing as the official name.", "is_request_body_field": true, "entity": { - "pascal_name": "RegisteredModelAccessControlRequestList", - "array_value": { - "pascal_name": "RegisteredModelAccessControlRequest", - "is_object": true - } + "is_string": true } }, { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "delta_sharing_recipient_token_lifetime_in_seconds", + "description": "The lifetime of delta sharing recipient token in seconds.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "delta_sharing_scope", + "description": "The scope of Delta Sharing enabled for the metastore.", + "is_request_body_field": true, + "entity": { + "pascal_name": "DeltaSharingScopeEnum", + "enum": [ + { + "content": "INTERNAL" + }, + { + "content": "INTERNAL_AND_EXTERNAL" + } + ] + } + }, + { + "name": "external_access_enabled", + "description": "Whether to allow non-DBR clients to directly access entities under the metastore.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "id", + "description": "Unique ID of the metastore.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "new_name", + "description": "New name for the metastore.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "owner", + "description": "The owner of the metastore.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "privilege_model_version", + "description": "Privilege model version of the metastore, of the form `major.minor` (e.g., `1.0`).", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage_root_credential_id", + "description": "UUID of storage credential to access the metastore storage_root.", + "is_request_body_field": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { - "name": "registered_model_id", - "description": "The registered model for which to get or manage permissions.", + "name": "id", + "description": "Unique ID of the metastore.", "required": true, "is_path": true, "entity": { @@ -153168,157 +153167,80 @@ ] }, { - "name": "UpdateWebhook", - "description": "**NOTE:** This endpoint is in Public Preview.\nUpdates a registry webhook.", - "summary": "Update a webhook.", - "path": "/api/2.0/mlflow/registry-webhooks/update", + "name": "UpdateAssignment", + "description": "Updates a metastore assignment. This operation can be used to update __metastore_id__ or __default_catalog_name__\nfor a specified Workspace, if the Workspace is already assigned a metastore.\nThe caller must be an account admin to update __metastore_id__; otherwise, the caller can be a Workspace admin.", + "summary": "Update an assignment.", + "path": "/api/2.1/unity-catalog/workspaces/{workspace_id}/metastore", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateRegistryWebhook", + "pascal_name": "UpdateMetastoreAssignment", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Webhook ID", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "id", - "description": "Webhook ID", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "UpdateWebhookResponse", - "is_object": true + "pascal_name": "UpdateAssignmentResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "description", - "description": "User-specified description for the webhook.", + "name": "default_catalog_name", + "description": "The name of the default catalog in the metastore.\nThis field is deprecated. Please use \"Default Namespace API\" to\nconfigure the default catalog for a Databricks workspace.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "events", - "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", - "is_request_body_field": true, - "entity": { - "pascal_name": "RegistryWebhookEventList", - "array_value": { - "pascal_name": "RegistryWebhookEvent", - "enum": [ - { - "content": "COMMENT_CREATED" - }, - { - "content": "MODEL_VERSION_CREATED" - }, - { - "content": "MODEL_VERSION_TAG_SET" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_STAGE" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" - }, - { - "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" - }, - { - "content": "REGISTERED_MODEL_CREATED" - }, - { - "content": "TRANSITION_REQUEST_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" - }, - { - "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" - } - ] - } - } - }, - { - "name": "http_url_spec", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "HttpUrlSpec", - "is_object": true - } - }, - { - "name": "id", - "description": "Webhook ID", - "required": true, + "name": "metastore_id", + "description": "The unique ID of the metastore.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "job_spec", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "JobSpec", - "is_object": true - } - }, - { - "name": "status", - "is_request_body_field": true, + "name": "workspace_id", + "description": "A workspace ID.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RegistryWebhookStatus", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "DISABLED" - }, - { - "content": "TEST_MODE" - } - ] + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Webhook ID", + "name": "workspace_id", + "description": "A workspace ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] @@ -153326,256 +153248,218 @@ ] }, { - "id": "catalog.ModelVersions", - "name": "ModelVersions", - "description": "Databricks provides a hosted version of MLflow Model Registry in Unity Catalog.\nModels in Unity Catalog provide centralized access control, auditing, lineage, and discovery of\nML models across Databricks workspaces.\n\nThis API reference documents the REST endpoints for managing model versions in Unity Catalog. For\nmore details, see the [registered models API docs](/api/workspace/registeredmodels).", + "id": "catalog.AccountMetastores", + "name": "AccountMetastores", + "description": "These APIs manage Unity Catalog metastores for an account. A metastore contains catalogs that can be associated with workspaces", "package": { "name": "catalog" }, + "is_accounts": true, "docs_group": "catalog", "launch_stage": "GA", "cli_launch_stage_display": "GA", "list": { + "is_legacy_empty_request": true, "request": { - "pascal_name": "ListModelVersionsRequest" + "pascal_name": "ListAccountMetastoresRequest" } }, "methods": [ + { + "name": "Create", + "description": "Creates a Unity Catalog metastore.", + "summary": "Create Metastore.", + "path": "/api/2.0/accounts/{account_id}/metastores", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "AccountsCreateMetastore", + "is_object": true + }, + "response": { + "pascal_name": "AccountsCreateMetastoreResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "metastore_info", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CreateAccountsMetastore", + "is_object": true + } + } + ] + }, { "name": "Delete", - "description": "Deletes a model version from the specified registered model. Any aliases assigned to the\nmodel version will also be deleted.\n\nThe caller must be a metastore admin or an owner of the parent registered model.\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.", - "summary": "Delete a Model Version.", - "path": "/api/2.1/unity-catalog/models/{full_name}/versions/{version}", + "description": "Deletes a Unity Catalog metastore for an account, both specified by ID.", + "summary": "Delete a metastore.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteModelVersionRequest", + "pascal_name": "DeleteAccountMetastoreRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ], "required_in_url_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ] }, "response": { - "is_empty_response": true + "pascal_name": "AccountsDeleteMetastoreResponse", + "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", - "required": true, - "is_path": true, + "name": "force", + "description": "Force deletion even if the metastore is not empty. Default is false.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "version", - "description": "The integer version number of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { - "is_int": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ] }, { "name": "Get", - "description": "Get a model version.\n\nThe caller must be a metastore admin or an owner of (or have the **EXECUTE**\nprivilege on) the parent registered model. For the latter case, the caller must also be the owner\nor have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege\non the parent schema.", - "summary": "Get a Model Version.", - "path": "/api/2.1/unity-catalog/models/{full_name}/versions/{version}", + "description": "Gets a Unity Catalog metastore from an account, both specified by ID.", + "summary": "Get a metastore.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetModelVersionRequest", + "pascal_name": "GetAccountMetastoreRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ], "required_in_url_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ] }, "response": { - "pascal_name": "ModelVersionInfo", + "pascal_name": "AccountsGetMetastoreResponse", "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "include_aliases", - "description": "Whether to include aliases associated with the model version in the response", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "include_browse", - "description": "Whether to include model versions in the response for which the principal can only access selective metadata for", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } } ] }, { - "name": "GetByAlias", - "description": "Get a model version by alias.\n\nThe caller must be a metastore admin or an owner of (or have the **EXECUTE**\nprivilege on) the registered model. For the latter case, the caller must also be the owner\nor have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege\non the parent schema.", - "summary": "Get Model Version By Alias.", - "path": "/api/2.1/unity-catalog/models/{full_name}/aliases/{alias}", - "is_crud_read": true, + "name": "List", + "description": "Gets all Unity Catalog metastores associated with an account specified by ID.", + "summary": "Get all metastores associated with an account.", + "path": "/api/2.0/accounts/{account_id}/metastores", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListAccountMetastoresRequest", + "is_object": true + }, + "response": { + "pascal_name": "AccountsListMetastoresResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "Update", + "description": "Updates an existing Unity Catalog metastore.", + "summary": "Update a metastore.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetByAliasRequest", + "pascal_name": "AccountsUpdateMetastore", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "alias", - "description": "The name of the alias", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -153585,17 +153469,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "alias", - "description": "The name of the alias", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -153605,22 +153480,13 @@ ] }, "response": { - "pascal_name": "ModelVersionInfo", + "pascal_name": "AccountsUpdateMetastoreResponse", "is_object": true }, "all_fields": [ { - "name": "alias", - "description": "The name of the alias", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -153628,27 +153494,20 @@ } }, { - "name": "include_aliases", - "description": "Whether to include aliases associated with the model version in the response", - "is_query": true, + "name": "metastore_info", + "description": "Properties of the metastore to change.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_bool": true + "pascal_name": "UpdateAccountsMetastore", + "is_object": true } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "alias", - "description": "The name of the alias", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -153656,320 +153515,315 @@ } } ] - }, + } + ] + }, + { + "id": "ml.ModelRegistry", + "name": "ModelRegistry", + "description": "Note: This API reference documents APIs for the Workspace Model Registry. Databricks recommends using\n[Models in Unity Catalog](/api/workspace/registeredmodels) instead. Models in Unity Catalog provides\ncentralized model governance, cross-workspace access, lineage, and deployment. Workspace Model Registry\nwill be deprecated in the future.\n\nThe Workspace Model Registry is a centralized model repository and a UI and set of APIs that enable\nyou to manage the full lifecycle of MLflow Models.", + "package": { + "name": "ml" + }, + "docs_group": "ml", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListModelsRequest" + } + }, + "methods": [ { - "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.", - "summary": "List Model Versions.", - "path": "/api/2.1/unity-catalog/models/{full_name}/versions", + "name": "ApproveTransitionRequest", + "description": "Approves a model version stage transition request.", + "summary": "Approve transition request.", + "path": "/api/2.0/mlflow/transition-requests/approve", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListModelVersionsRequest", + "pascal_name": "ApproveTransitionRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "full_name", - "description": "The full three-level name of the registered model under which to list model versions", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "full_name", - "description": "The full three-level name of the registered model under which to list model versions", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - "response": { - "pascal_name": "ListModelVersionsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "full_name", - "description": "The full three-level name of the registered model under which to list model versions", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "include_browse", - "description": "Whether to include model versions in the response for which the principal can only access selective metadata for", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Maximum number of model versions to return.\nIf not set, the page length is set to a server configured value (100, as of 1/3/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value(1000, as of 1/3/2024);\n- when set to 0, the page length is set to a server configured value (100, as of 1/3/2024) (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "full_name", - "description": "The full three-level name of the registered model under which to list model versions", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } } - } - } - }, - { - "name": "Update", - "description": "Updates the specified model version.\n\nThe caller must be a metastore admin or an owner of the parent registered model.\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\nCurrently only the comment of the model version can be updated.", - "summary": "Update a Model Version.", - "path": "/api/2.1/unity-catalog/models/{full_name}/versions/{version}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "UpdateModelVersionRequest", - "is_object": true, - "required_fields": [ + ], + "required_request_body_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { "name": "version", - "description": "The integer version number of the model version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "The integer version number of the model version", + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_bool": true } } ] }, "response": { - "pascal_name": "ModelVersionInfo", + "pascal_name": "ApproveTransitionRequestResponse", "is_object": true }, "all_fields": [ { - "name": "aliases", - "description": "List of aliases associated with the model version", - "is_request_body_field": true, - "entity": { - "pascal_name": "RegisteredModelAliasList", - "array_value": { - "pascal_name": "RegisteredModelAlias", - "is_object": true - } - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog containing the model version", + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { "name": "comment", - "description": "The comment attached to the model version", + "description": "User-provided comment on the action.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "created_at", + "name": "name", + "description": "Name of the model.", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "created_by", - "description": "The identifier of the user who created the model version", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "id", - "description": "The unique identifier of the model version", + "name": "name", + "description": "Name of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "metastore_id", - "description": "The unique identifier of the metastore containing the model version", + "name": "version", + "description": "Version of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "model_name", - "description": "The name of the parent registered model of the model version, relative to parent schema", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "model_version_dependencies", - "description": "Model version dependencies, for feature-store packaged models", + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "DependencyList", - "is_object": true + "is_bool": true } - }, - { - "name": "run_id", - "description": "MLflow run ID used when creating the model version, if ``source`` was generated by an\nexperiment run stored in an MLflow tracking server", - "is_request_body_field": true, - "entity": { - "is_string": true + } + ] + }, + { + "name": "CreateComment", + "description": "Posts a comment on a model version. A comment can be submitted either by a user or programmatically to display\nrelevant information about the model. For example, test results or deployment errors.", + "summary": "Post a comment.", + "path": "/api/2.0/mlflow/comments/create", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateComment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "Name of the model.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "comment", + "description": "User-provided comment on the action.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } - }, - { - "name": "run_workspace_id", - "description": "ID of the Databricks workspace containing the MLflow run that generated this model\nversion, if applicable", - "is_request_body_field": true, - "entity": { - "is_int": true + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "Name of the model.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "comment", + "description": "User-provided comment on the action.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "CreateCommentResponse", + "is_object": true + }, + "all_fields": [ { - "name": "schema_name", - "description": "The name of the schema containing the model version, relative to parent catalog", + "name": "comment", + "description": "User-provided comment on the action.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "source", - "description": "URI indicating the location of the source artifacts (files) for the model version", + "name": "name", + "description": "Name of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "status", - "description": "Current status of the model version. Newly created model versions start in\nPENDING_REGISTRATION status, then move to READY status once the model version files are uploaded and\nthe model version is finalized. Only model versions in READY status can be loaded for inference or\nserved.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ModelVersionInfoStatus", - "enum": [ - { - "content": "FAILED_REGISTRATION" - }, - { - "content": "MODEL_VERSION_STATUS_UNKNOWN" - }, - { - "content": "PENDING_REGISTRATION" - }, - { - "content": "READY" - } - ] - } - }, - { - "name": "storage_location", - "description": "The storage location on the cloud under which model version data files are stored", + "name": "version", + "description": "Version of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "updated_at", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, + } + ], + "required_positional_arguments": [ { - "name": "updated_by", - "description": "The identifier of the user who updated the model version last time", + "name": "name", + "description": "Name of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true @@ -153977,193 +153831,77 @@ }, { "name": "version", - "description": "The integer version number of the model version", - "required": true, - "is_path": true, - "entity": { - "is_int": true - } - } - ], - "required_positional_arguments": [ - { - "name": "full_name", - "description": "The three-level (fully qualified) name of the model version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "version", - "description": "The integer version number of the model version", + "name": "comment", + "description": "User-provided comment on the action.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } } ] - } - ] - }, - { - "id": "settings.NetworkConnectivity", - "name": "NetworkConnectivity", - "description": "These APIs provide configurations for the network connectivity of your workspaces for serverless compute resources. This API provides stable subnets for your workspace so that you can configure your firewalls on your Azure Storage accounts to allow access from Databricks. You can also use the API to provision private endpoints for Databricks to privately connect serverless compute resources to your Azure resources using Azure Private Link. See [configure serverless secure connectivity](https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security).", - "package": { - "name": "settings" - }, - "is_accounts": true, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "CreateNetworkConnectivityConfiguration", - "description": "Creates a network connectivity configuration (NCC), which provides stable Azure service\nsubnets when accessing your Azure Storage accounts. You can also use a network connectivity configuration to create\nDatabricks managed private endpoints so that Databricks serverless compute resources privately access your\nresources.\n\n**IMPORTANT**: After you create the network connectivity configuration, you must assign one or more workspaces to the new network connectivity configuration.\nYou can share one network connectivity configuration with multiple workspaces from the same Azure region within\nthe same Databricks account.\nSee [configure serverless secure connectivity](https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security).", - "summary": "Create a network connectivity configuration.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs", + "name": "CreateModel", + "description": "Creates a new registered model with the name specified in the request body.\nThrows `RESOURCE_ALREADY_EXISTS` if a registered model with the given name exists.", + "summary": "Create a model.", + "path": "/api/2.0/mlflow/registered-models/create", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateNetworkConnectivityConfigRequest", + "pascal_name": "CreateModelRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_connectivity_config", + "name": "name", + "description": "Register models under this name", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CreateNetworkConnectivityConfiguration", - "is_object": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "network_connectivity_config", + "name": "name", + "description": "Register models under this name", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CreateNetworkConnectivityConfiguration", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "network_connectivity_config", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CreateNetworkConnectivityConfiguration", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "region", - "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "region", - "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "NetworkConnectivityConfiguration", + "pascal_name": "CreateModelResponse", "is_object": true }, "all_fields": [ { - "name": "network_connectivity_config", - "required": true, + "name": "description", + "description": "Optional description for registered model.", "is_request_body_field": true, "entity": { - "pascal_name": "CreateNetworkConnectivityConfiguration", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "region", - "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "region", - "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_string": true } }, { "name": "name", - "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "description": "Register models under this name", "required": true, "is_request_body_field": true, "entity": { @@ -154171,28 +153909,22 @@ } }, { - "name": "region", - "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", - "required": true, + "name": "tags", + "description": "Additional metadata for registered model.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ModelTagList", + "array_value": { + "pascal_name": "ModelTag", + "is_object": true + } } } ], "required_positional_arguments": [ { "name": "name", - "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "region", - "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", + "description": "Register models under this name", "required": true, "is_request_body_field": true, "entity": { @@ -154202,162 +153934,135 @@ ] }, { - "name": "CreatePrivateEndpointRule", - "description": "Create a private endpoint rule for the specified network connectivity config object.\nOnce the object is created, Databricks asynchronously provisions a new Azure private endpoint to your\nspecified Azure resource.\n\n**IMPORTANT**: You must use Azure portal or other Azure tools to approve the private endpoint to complete the\nconnection. To get the information of the private endpoint created, make a `GET` request on the new private\nendpoint rule. See [serverless private link](https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security/serverless-private-link).", - "summary": "Create a private endpoint rule.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules", + "name": "CreateModelVersion", + "description": "Creates a model version.", + "summary": "Create a model version.", + "path": "/api/2.0/mlflow/model-versions/create", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreatePrivateEndpointRuleRequest", + "pascal_name": "CreateModelVersionRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "name", + "description": "Register model under this name", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule", + "name": "source", + "description": "URI indicating the location of the model artifacts.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CreatePrivateEndpointRule", - "is_object": true + "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "name", + "description": "Register model under this name", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "private_endpoint_rule", + "name": "source", + "description": "URI indicating the location of the model artifacts.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CreatePrivateEndpointRule", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "private_endpoint_rule", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CreatePrivateEndpointRule", - "is_object": true - } - }, "response": { - "pascal_name": "NccPrivateEndpointRule", + "pascal_name": "CreateModelVersionResponse", "is_object": true }, "all_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", - "required": true, - "is_path": true, + "name": "description", + "description": "Optional description for model version.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule", + "name": "name", + "description": "Register model under this name", "required": true, "is_request_body_field": true, - "entity": { - "pascal_name": "CreatePrivateEndpointRule", - "is_object": true - } - }, - { - "name": "domain_names", - "description": "Only used by private endpoints to customer-managed private endpoint services.\n\nDomain names of target private link service.\nWhen updating this field, the full list of target domain_names must be specified.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "endpoint_service", - "description": "The full target AWS endpoint service name that connects to the destination resources of the private endpoint.", - "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "error_message", + "name": "run_id", + "description": "MLflow run ID for correlation, if `source` was generated by an experiment run in\nMLflow tracking server", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "gcp_endpoint", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "GcpEndpoint", - "is_object": true - } - }, - { - "name": "group_id", - "description": "Not used by customer-managed private endpoint services.\n\nThe sub-resource type (group ID) of the target resource.\nNote that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs.", + "name": "run_link", + "description": "MLflow run link - this is the exact link of the run that generated this model version,\npotentially hosted at another instance of MLflow.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "resource_id", - "description": "The Azure resource ID of the target resource.", + "name": "source", + "description": "URI indicating the location of the model artifacts.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "resource_names", - "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", + "name": "tags", + "description": "Additional metadata for model version.", "is_request_body_field": true, "entity": { - "pascal_name": "List", + "pascal_name": "ModelVersionTagList", "array_value": { - "is_string": true + "pascal_name": "ModelVersionTag", + "is_object": true } } } ], "required_positional_arguments": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "name", + "description": "Register model under this name", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "source", + "description": "URI indicating the location of the model artifacts.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -154365,111 +154070,72 @@ ] }, { - "name": "DeleteNetworkConnectivityConfiguration", - "description": "Deletes a network connectivity configuration.", - "summary": "Delete a network connectivity configuration.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}", + "name": "CreateTransitionRequest", + "description": "Creates a model version stage transition request.", + "summary": "Make a transition request.", + "path": "/api/2.0/mlflow/transition-requests/create", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteNetworkConnectivityConfigurationRequest", + "pascal_name": "CreateTransitionRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "DeletePrivateEndpointRule", - "description": "Initiates deleting a private endpoint rule. If the connection state is PENDING or EXPIRED,\nthe private endpoint is immediately deleted. Otherwise, the private endpoint is deactivated\nand will be deleted after one day of deactivation. When a private endpoint is deactivated,\nthe `deactivated` field is set to `true` and the private endpoint is not\navailable to your serverless compute resources.", - "summary": "Delete a private endpoint rule.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeletePrivateEndpointRuleRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -154477,24 +154143,41 @@ ] }, "response": { - "pascal_name": "NccPrivateEndpointRule", + "pascal_name": "CreateTransitionRequestResponse", "is_object": true }, "all_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "comment", + "description": "User-provided comment on the action.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -154502,19 +154185,28 @@ ], "required_positional_arguments": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -154522,112 +154214,264 @@ ] }, { - "name": "GetNetworkConnectivityConfiguration", - "description": "Gets a network connectivity configuration.", - "summary": "Get a network connectivity configuration.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}", - "has_required_positional_arguments": true, + "name": "CreateWebhook", + "description": "**NOTE:** This endpoint is in Public Preview.\nCreates a registry webhook.", + "summary": "Create a webhook.", + "path": "/api/2.0/mlflow/registry-webhooks/create", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetNetworkConnectivityConfigurationRequest", + "pascal_name": "CreateRegistryWebhook", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "events", + "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "RegistryWebhookEventList", + "array_value": { + "pascal_name": "RegistryWebhookEvent", + "enum": [ + { + "content": "COMMENT_CREATED" + }, + { + "content": "MODEL_VERSION_CREATED" + }, + { + "content": "MODEL_VERSION_TAG_SET" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_STAGE" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" + }, + { + "content": "REGISTERED_MODEL_CREATED" + }, + { + "content": "TRANSITION_REQUEST_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" + } + ] + } } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "events", + "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "RegistryWebhookEventList", + "array_value": { + "pascal_name": "RegistryWebhookEvent", + "enum": [ + { + "content": "COMMENT_CREATED" + }, + { + "content": "MODEL_VERSION_CREATED" + }, + { + "content": "MODEL_VERSION_TAG_SET" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_STAGE" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" + }, + { + "content": "REGISTERED_MODEL_CREATED" + }, + { + "content": "TRANSITION_REQUEST_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" + } + ] + } } } ] }, "response": { - "pascal_name": "NetworkConnectivityConfiguration", + "pascal_name": "CreateWebhookResponse", "is_object": true }, "all_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", - "required": true, - "is_path": true, + "name": "description", + "description": "User-specified description for the webhook.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "network_connectivity_config_id", - "description": "Your Network Connectivity Configuration ID.", + "name": "events", + "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPrivateEndpointRule", - "description": "Gets the private endpoint rule.", - "summary": "Gets a private endpoint rule.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetPrivateEndpointRuleRequest", - "is_object": true, - "required_fields": [ - { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "pascal_name": "RegistryWebhookEventList", + "array_value": { + "pascal_name": "RegistryWebhookEvent", + "enum": [ + { + "content": "COMMENT_CREATED" + }, + { + "content": "MODEL_VERSION_CREATED" + }, + { + "content": "MODEL_VERSION_TAG_SET" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_STAGE" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" + }, + { + "content": "REGISTERED_MODEL_CREATED" + }, + { + "content": "TRANSITION_REQUEST_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" + } + ] } } - ], - "required_in_url_fields": [ + }, + { + "name": "http_url_spec", + "description": "External HTTPS URL called on event trigger (by using a POST request).", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "HttpUrlSpec", + "is_object": true + } + }, + { + "name": "job_spec", + "description": "ID of the job that the webhook runs.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "JobSpec", + "is_object": true + } + }, + { + "name": "model_name", + "description": "If model name is not specified, a registry-wide webhook is created that listens for the specified events across all versions of all registered models.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "status", + "description": "Enable or disable triggering the webhook, or put the webhook into test mode. The default is `ACTIVE`:\n* `ACTIVE`: Webhook is triggered when an associated event happens.\n\n* `DISABLED`: Webhook is not triggered.\n\n* `TEST_MODE`: Webhook can be triggered through the test endpoint, but is not triggered on a real event.", + "is_request_body_field": true, + "entity": { + "pascal_name": "RegistryWebhookStatus", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "DISABLED" + }, + { + "content": "TEST_MODE" + } + ] + } + } + ] + }, + { + "name": "DeleteComment", + "description": "Deletes a comment on a model version.", + "summary": "Delete a comment.", + "path": "/api/2.0/mlflow/comments/delete", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteCommentRequest", + "is_object": true, + "required_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "id", + "description": "Unique identifier of an activity", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "id", + "description": "Unique identifier of an activity", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -154635,24 +154479,16 @@ ] }, "response": { - "pascal_name": "NccPrivateEndpointRule", - "is_object": true + "pascal_name": "DeleteCommentResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "id", + "description": "Unique identifier of an activity", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -154660,19 +154496,10 @@ ], "required_positional_arguments": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "id", + "description": "Unique identifier of an activity", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -154680,61 +154507,93 @@ ] }, { - "name": "ListNetworkConnectivityConfigurations", - "description": "Gets an array of network connectivity configurations.", - "summary": "List network connectivity configurations.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs", + "name": "DeleteModel", + "description": "Deletes a registered model.", + "summary": "Delete a model.", + "path": "/api/2.0/mlflow/registered-models/delete", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListNetworkConnectivityConfigurationsRequest", - "is_object": true + "pascal_name": "DeleteModelRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListNetworkConnectivityConfigurationsResponse", - "is_object": true + "pascal_name": "DeleteModelResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "page_token", - "description": "Pagination token to go to next page based on previous query.", + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, "is_query": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "ListPrivateEndpointRules", - "description": "Gets an array of private endpoint rules.", - "summary": "List private endpoint rules.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules", + "name": "DeleteModelTag", + "description": "Deletes the tag for a registered model.", + "summary": "Delete a model tag.", + "path": "/api/2.0/mlflow/registered-models/delete-tag", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListPrivateEndpointRulesRequest", + "pascal_name": "DeleteModelTagRequest", "is_object": true, "required_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "name", + "description": "Name of the registered model that the tag was logged under.", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -154742,10 +154601,19 @@ ], "required_in_url_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "name", + "description": "Name of the registered model that the tag was logged under.", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -154753,22 +154621,24 @@ ] }, "response": { - "pascal_name": "ListPrivateEndpointRulesResponse", - "is_object": true + "pascal_name": "DeleteModelTagResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "page_token", - "description": "Pagination token to go to next page based on previous query.", + "name": "name", + "description": "Name of the registered model that the tag was logged under.", + "required": true, "is_query": true, "entity": { "is_string": true @@ -154777,72 +154647,49 @@ ], "required_positional_arguments": [ { - "name": "network_connectivity_config_id", - "description": "Your Network Connectvity Configuration ID.", + "name": "name", + "description": "Name of the registered model that the tag was logged under.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "UpdatePrivateEndpointRule", - "description": "Updates a private endpoint rule. Currently only a private endpoint rule to customer-managed resources is allowed to be updated.", - "summary": "Update a private endpoint rule.", - "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}", - "can_use_json": true, + "name": "DeleteModelVersion", + "description": "Deletes a model version.", + "summary": "Delete a model version.", + "path": "/api/2.0/mlflow/model-versions/delete", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateNccPrivateEndpointRuleRequest", + "pascal_name": "DeleteModelVersionRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_connectivity_config_id", - "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "UpdatePrivateEndpointRule", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "name": "version", + "description": "Model version number", "required": true, "is_query": true, "entity": { @@ -154852,164 +154699,197 @@ ], "required_in_url_fields": [ { - "name": "network_connectivity_config_id", - "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "name": "version", + "description": "Model version number", "required": true, "is_query": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "private_endpoint_rule", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "UpdatePrivateEndpointRule", - "is_object": true - } - } ] }, - "request_body_field": { - "name": "private_endpoint_rule", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "UpdatePrivateEndpointRule", - "is_object": true - } - }, "response": { - "pascal_name": "NccPrivateEndpointRule", - "is_object": true + "pascal_name": "DeleteModelVersionResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "network_connectivity_config_id", - "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule", + "name": "version", + "description": "Model version number", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "UpdatePrivateEndpointRule", - "is_object": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "name": "version", + "description": "Model version number", "required": true, "is_query": true, "entity": { "is_string": true } - }, - { - "name": "domain_names", - "description": "Only used by private endpoints to customer-managed private endpoint services.\n\nDomain names of target private link service.\nWhen updating this field, the full list of target domain_names must be specified.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { + } + ] + }, + { + "name": "DeleteModelVersionTag", + "description": "Deletes a model version tag.", + "summary": "Delete a model version tag.", + "path": "/api/2.0/mlflow/model-versions/delete-tag", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteModelVersionTagRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Name of the registered model that the tag was logged under.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Model version number that the tag was logged under.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "required": true, + "is_query": true, + "entity": { "is_string": true } } - }, - { - "name": "enabled", - "description": "Update this field to activate/deactivate this private endpoint to allow egress access from\nserverless compute resources. Only honored for first-party services on each cloud (e.g. AWS S3).", - "is_request_body_field": true, - "entity": { - "is_bool": true + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Name of the registered model that the tag was logged under.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Model version number that the tag was logged under.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "DeleteModelVersionTagResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ { - "name": "error_message", - "is_request_body_field": true, + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", + "required": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "gcp_endpoint", - "is_request_body_field": true, - "is_optional_object": true, + "name": "name", + "description": "Name of the registered model that the tag was logged under.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "GcpEndpoint", - "is_object": true + "is_string": true } }, { - "name": "resource_names", - "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", - "is_request_body_field": true, + "name": "version", + "description": "Model version number that the tag was logged under.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ], "required_positional_arguments": [ { - "name": "network_connectivity_config_id", - "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", + "name": "name", + "description": "Name of the registered model that the tag was logged under.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "private_endpoint_rule_id", - "description": "Your private endpoint rule ID.", + "name": "version", + "description": "Model version number that the tag was logged under.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "name": "key", + "description": "Name of the tag. The name must be an exact match; wild-card deletion is not supported. Maximum size is 250 bytes.", "required": true, "is_query": true, "entity": { @@ -155017,127 +154897,178 @@ } } ] - } - ] - }, - { - "id": "settings.NetworkPolicies", - "name": "NetworkPolicies", - "description": "These APIs manage network policies for this account. Network policies control which network destinations can be accessed from the Databricks environment. Each Databricks account includes a default policy named 'default-policy'. 'default-policy' is associated with any workspace lacking an explicit network policy assignment, and is automatically associated with each newly created workspace. 'default-policy' is reserved and cannot be deleted, but it can be updated to customize the default network access rules for your account.", - "package": { - "name": "settings" - }, - "is_accounts": true, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "CreateNetworkPolicyRpc", - "description": "Creates a new network policy to manage which network destinations can be accessed from the Databricks\nenvironment.", - "summary": "Create a network policy.", - "path": "/api/2.0/accounts/{account_id}/network-policies", - "can_use_json": true, + "name": "DeleteTransitionRequest", + "description": "Cancels a model version stage transition request.", + "summary": "Delete a transition request.", + "path": "/api/2.0/mlflow/transition-requests/delete", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateNetworkPolicyRequest", + "pascal_name": "DeleteTransitionRequestRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_policy", - "description": "Network policy configuration details.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "stage", + "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "creator", + "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "network_policy", - "description": "Network policy configuration details.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "stage", + "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "creator", + "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } } ] }, - "request_body_field": { - "name": "network_policy", - "description": "Network policy configuration details.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true - } - }, "response": { - "pascal_name": "AccountNetworkPolicy", + "pascal_name": "DeleteTransitionRequestResponse", "is_object": true }, "all_fields": [ { - "name": "network_policy", - "description": "Network policy configuration details.", + "name": "comment", + "description": "User-provided comment on the action.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "creator", + "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true + "is_string": true } }, { - "name": "account_id", - "description": "The associated account ID for this Network Policy object.", - "is_computed": true, - "is_request_body_field": true, + "name": "name", + "description": "Name of the model.", + "required": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "egress", - "description": "The network policies applying for egress traffic.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "stage", + "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "NetworkPolicyEgress", - "is_object": true + "is_string": true } }, { - "name": "ingress", - "description": "The network policies applying for ingress traffic.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "CustomerFacingIngressNetworkPolicy", - "is_object": true + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Name of the model.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } }, { - "name": "ingress_dry_run", - "description": "The ingress policy for dry run mode. Dry run will always run even if the request\nis allowed by the ingress policy. When this field is set, the policy will be evaluated\nand emit logs only without blocking requests.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "CustomerFacingIngressNetworkPolicy", - "is_object": true + "is_string": true } }, { - "name": "network_policy_id", - "description": "The unique identifier for the network policy.", - "is_request_body_field": true, + "name": "stage", + "description": "Target stage of the transition request. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "creator", + "description": "Username of the user who created this request. Of the transition requests matching the specified details, only the one transition created by this user will be deleted.", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -155145,22 +155076,22 @@ ] }, { - "name": "DeleteNetworkPolicyRpc", - "description": "Deletes a network policy. Cannot be called on 'default-policy'.", - "summary": "Delete a network policy.", - "path": "/api/2.0/accounts/{account_id}/network-policies/{network_policy_id}", + "name": "DeleteWebhook", + "description": "**NOTE:** This endpoint is in Public Preview.\nDeletes a registry webhook.", + "summary": "Delete a webhook.", + "path": "/api/2.0/mlflow/registry-webhooks/delete", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteNetworkPolicyRequest", + "pascal_name": "DeleteWebhookRequest", "is_object": true, "required_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to delete.", + "name": "id", + "description": "Webhook ID required to delete a registry webhook.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -155168,10 +155099,10 @@ ], "required_in_url_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to delete.", + "name": "id", + "description": "Webhook ID required to delete a registry webhook.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -155179,14 +155110,16 @@ ] }, "response": { + "pascal_name": "DeleteWebhookResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to delete.", + "name": "id", + "description": "Webhook ID required to delete a registry webhook.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -155194,10 +155127,10 @@ ], "required_positional_arguments": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to delete.", + "name": "id", + "description": "Webhook ID required to delete a registry webhook.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -155205,33 +155138,35 @@ ] }, { - "name": "GetNetworkPolicyRpc", - "description": "Gets a network policy.", - "summary": "Get a network policy.", - "path": "/api/2.0/accounts/{account_id}/network-policies/{network_policy_id}", + "name": "GetLatestVersions", + "description": "Gets the latest version of a registered model.", + "summary": "Get the latest version.", + "path": "/api/2.0/mlflow/registered-models/get-latest-versions", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetNetworkPolicyRequest", + "pascal_name": "GetLatestVersionsRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to retrieve.", + "name": "name", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to retrieve.", + "name": "name", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -155239,404 +155174,250 @@ ] }, "response": { - "pascal_name": "AccountNetworkPolicy", + "pascal_name": "GetLatestVersionsResponse", "is_object": true }, "all_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to retrieve.", + "name": "name", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "stages", + "description": "List of stages.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ], "required_positional_arguments": [ { - "name": "network_policy_id", - "description": "The unique identifier of the network policy to retrieve.", + "name": "name", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } - ] + ], + "pagination": {} }, { - "name": "ListNetworkPoliciesRpc", - "description": "Gets an array of network policies.", - "summary": "List network policies.", - "path": "/api/2.0/accounts/{account_id}/network-policies", + "name": "GetModel", + "description": "Get the details of a model.\nThis is a Databricks workspace version of the [MLflow endpoint](https://www.mlflow.org/docs/latest/rest-api.html#get-registeredmodel)\nthat also returns the model's Databricks workspace ID and the permission level of the requesting user on the model.", + "summary": "Get model.", + "path": "/api/2.0/mlflow/databricks/registered-models/get", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListNetworkPoliciesRequest", - "is_object": true + "pascal_name": "GetModelRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListNetworkPoliciesResponse", + "pascal_name": "GetModelResponse", "is_object": true }, "all_fields": [ { - "name": "page_token", - "description": "Pagination token to go to next page based on previous query.", + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, "is_query": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_query": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "UpdateNetworkPolicyRpc", - "description": "Updates a network policy. This allows you to modify the configuration of a network policy.", - "summary": "Update a network policy.", - "path": "/api/2.0/accounts/{account_id}/network-policies/{network_policy_id}", - "can_use_json": true, + "name": "GetModelVersion", + "description": "Get a model version.", + "summary": "Get a model version.", + "path": "/api/2.0/mlflow/model-versions/get", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateNetworkPolicyRequest", + "pascal_name": "GetModelVersionRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier for the network policy.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "network_policy", - "description": "Updated network policy configuration details.", + "name": "version", + "description": "Model version number", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "network_policy_id", - "description": "The unique identifier for the network policy.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "network_policy", - "description": "Updated network policy configuration details.", + "name": "version", + "description": "Model version number", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "network_policy", - "description": "Updated network policy configuration details.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true - } - }, "response": { - "pascal_name": "AccountNetworkPolicy", + "pascal_name": "GetModelVersionResponse", "is_object": true }, "all_fields": [ { - "name": "network_policy", - "description": "Updated network policy configuration details.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "AccountNetworkPolicy", - "is_object": true + "is_string": true } }, { - "name": "network_policy_id", - "description": "The unique identifier for the network policy.", + "name": "version", + "description": "Model version number", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "account_id", - "description": "The associated account ID for this Network Policy object.", - "is_computed": true, - "is_request_body_field": true, + "name": "name", + "description": "Name of the registered model", + "required": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "egress", - "description": "The network policies applying for egress traffic.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "NetworkPolicyEgress", - "is_object": true - } - }, - { - "name": "ingress", - "description": "The network policies applying for ingress traffic.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CustomerFacingIngressNetworkPolicy", - "is_object": true - } - }, - { - "name": "ingress_dry_run", - "description": "The ingress policy for dry run mode. Dry run will always run even if the request\nis allowed by the ingress policy. When this field is set, the policy will be evaluated\nand emit logs only without blocking requests.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "version", + "description": "Model version number", + "required": true, + "is_query": true, "entity": { - "pascal_name": "CustomerFacingIngressNetworkPolicy", - "is_object": true - } - }, - { - "name": "network_policy_id", - "description": "The unique identifier for the network policy.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "network_policy_id", - "description": "The unique identifier for the network policy.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "provisioning.Networks", - "name": "Networks", - "description": "These APIs manage network configurations for customer-managed VPCs (optional). Its ID is\nused when creating a new workspace if you use customer-managed VPCs.", - "package": { - "name": "provisioning" - }, - "is_accounts": true, - "docs_group": "provisioning", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ - { - "name": "Create", - "description": "Creates a Databricks network configuration that represents an VPC and its resources. The VPC will be used for new Databricks clusters. This requires a pre-existing VPC and subnets.", - "summary": "Create network configuration.", - "path": "/api/2.0/accounts/{account_id}/networks", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateNetworkRequest", - "is_object": true - }, - "response": { - "pascal_name": "Network", - "is_object": true - }, - "all_fields": [ - { - "name": "gcp_network_info", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "GcpNetworkInfo", - "is_object": true - } - }, - { - "name": "network_name", - "description": "The human-readable name of the network configuration.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "security_group_ids", - "description": "IDs of one to five security groups associated with this network. Security group IDs **cannot** be used in multiple network configurations.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "subnet_ids", - "description": "IDs of at least two subnets associated with this network. Subnet IDs **cannot** be used in multiple network configurations.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "vpc_endpoints", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "NetworkVpcEndpoints", - "is_object": true - } - }, - { - "name": "vpc_id", - "description": "The ID of the VPC associated with this network configuration. VPC IDs can be used in multiple networks.", - "is_request_body_field": true, - "entity": { - "is_string": true + "is_string": true } } ] }, { - "name": "Delete", - "description": "Deletes a Databricks network configuration, which represents a cloud VPC and its resources. You cannot delete a network that is associated with a workspace.\n\nThis operation is available only if your account is on the E2 version of the platform.", - "summary": "Delete a network configuration.", - "path": "/api/2.0/accounts/{account_id}/networks/{network_id}", + "name": "GetModelVersionDownloadUri", + "description": "Gets a URI to download the model version.", + "summary": "Get a model version URI.", + "path": "/api/2.0/mlflow/model-versions/get-download-uri", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteNetworkRequest", + "pascal_name": "GetModelVersionDownloadUriRequest", "is_object": true, "required_fields": [ { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", + "name": "version", + "description": "Model version number", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "Network", - "is_object": true - }, - "all_fields": [ - { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Gets a Databricks network configuration, which represents a cloud VPC and its resources.", - "summary": "Get a network configuration.", - "path": "/api/2.0/accounts/{account_id}/networks/{network_id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetNetworkRequest", - "is_object": true, - "required_fields": [ + ], + "required_in_url_fields": [ { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", + "name": "version", + "description": "Model version number", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -155644,104 +155425,44 @@ ] }, "response": { - "pascal_name": "Network", + "pascal_name": "GetModelVersionDownloadUriResponse", "is_object": true }, "all_fields": [ { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", + "name": "name", + "description": "Name of the registered model", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "network_id", - "description": "Databricks Account API network configuration ID.", + "name": "version", + "description": "Model version number", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } - ] - }, - { - "name": "List", - "description": "Lists Databricks network configurations for an account.", - "summary": "List network configurations.", - "path": "/api/2.0/accounts/{account_id}/networks", - "is_legacy_empty_request": true, - "is_crud_read": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListNetworksRequest", - "is_object": true - }, - "response": { - "pascal_name": "NetworkList", - "array_value": { - "pascal_name": "Network", - "is_object": true - } - } - } - ] - }, - { - "id": "settings.NotificationDestinations", - "name": "NotificationDestinations", - "description": "The notification destinations API lets you programmatically manage a workspace's notification destinations.\nNotification destinations are used to send notifications for query alerts and jobs to destinations outside of Databricks.\nOnly workspace admins can create, update, and delete notification destinations.", - "package": { - "name": "settings" - }, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListNotificationDestinationsRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a notification destination. Requires workspace admin permissions.", - "summary": "Create a notification destination.", - "path": "/api/2.0/notification-destinations", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateNotificationDestinationRequest", - "is_object": true - }, - "response": { - "pascal_name": "NotificationDestination", - "is_object": true - }, - "all_fields": [ + ], + "required_positional_arguments": [ { - "name": "config", - "description": "The configuration for the notification destination. Must wrap EXACTLY one of the nested configs.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "name", + "description": "Name of the registered model", + "required": true, + "is_query": true, "entity": { - "pascal_name": "Config", - "is_object": true + "is_string": true } }, { - "name": "display_name", - "description": "The display name for the notification destination.", - "is_request_body_field": true, + "name": "version", + "description": "Model version number", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -155749,19 +155470,20 @@ ] }, { - "name": "Delete", - "description": "Deletes a notification destination. Requires workspace admin permissions.", - "summary": "Delete a notification destination.", - "path": "/api/2.0/notification-destinations/{id}", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get registered model permission levels.", + "path": "/api/2.0/permissions/registered-models/{registered_model_id}/permissionLevels", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteNotificationDestinationRequest", + "pascal_name": "GetRegisteredModelPermissionLevelsRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155771,7 +155493,8 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155781,13 +155504,13 @@ ] }, "response": { - "pascal_name": "Empty", - "is_object": true, - "is_empty_response": true + "pascal_name": "GetRegisteredModelPermissionLevelsResponse", + "is_object": true }, "all_fields": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155797,7 +155520,8 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155807,20 +155531,20 @@ ] }, { - "name": "Get", - "description": "Gets a notification destination.", - "summary": "Get a notification destination.", - "path": "/api/2.0/notification-destinations/{id}", - "is_crud_read": true, + "name": "GetPermissions", + "description": "Gets the permissions of a registered model. Registered models can inherit permissions from their root object.", + "summary": "Get registered model permissions.", + "path": "/api/2.0/permissions/registered-models/{registered_model_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetNotificationDestinationRequest", + "pascal_name": "GetRegisteredModelPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155830,7 +155554,8 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155840,12 +155565,13 @@ ] }, "response": { - "pascal_name": "NotificationDestination", + "pascal_name": "RegisteredModelPermissions", "is_object": true }, "all_fields": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155855,7 +155581,8 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -155865,24 +155592,25 @@ ] }, { - "name": "List", - "description": "Lists notification destinations.", - "summary": "List notification destinations.", - "path": "/api/2.0/notification-destinations", + "name": "ListModels", + "description": "Lists all available registered models, up to the limit specified in __max_results__.", + "summary": "List models.", + "path": "/api/2.0/mlflow/registered-models/list", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListNotificationDestinationsRequest", + "pascal_name": "ListModelsRequest", "is_object": true }, "response": { - "pascal_name": "ListNotificationDestinationsResponse", + "pascal_name": "ListModelsResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", + "name": "max_results", + "description": "Maximum number of registered models desired. Max threshold is 1000.", "is_query": true, "entity": { "is_int64": true @@ -155890,6 +155618,7 @@ }, { "name": "page_token", + "description": "Pagination token to go to the next page based on a previous query.", "is_query": true, "entity": { "is_string": true @@ -155900,6 +155629,7 @@ "token": { "poll_field": { "name": "page_token", + "description": "Pagination token to go to the next page based on a previous query.", "is_query": true, "entity": { "is_string": true @@ -155909,23 +155639,31 @@ } }, { - "name": "Update", - "description": "Updates a notification destination. Requires workspace admin permissions. At least one field is required in the request body.", - "summary": "Update a notification destination.", - "path": "/api/2.0/notification-destinations/{id}", - "can_use_json": true, + "name": "ListTransitionRequests", + "description": "Gets a list of all open stage transition requests for the model version.", + "summary": "List transition requests.", + "path": "/api/2.0/mlflow/transition-requests/list", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateNotificationDestinationRequest", + "pascal_name": "ListTransitionRequestsRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "UUID identifying notification destination.", + "name": "name", + "description": "Name of the registered model.", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -155933,10 +155671,19 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "UUID identifying notification destination.", + "name": "name", + "description": "Name of the registered model.", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -155944,33 +155691,24 @@ ] }, "response": { - "pascal_name": "NotificationDestination", + "pascal_name": "ListTransitionRequestsResponse", "is_object": true }, "all_fields": [ { - "name": "config", - "description": "The configuration for the notification destination. Must wrap EXACTLY one of the nested configs.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Config", - "is_object": true - } - }, - { - "name": "display_name", - "description": "The display name for the notification destination.", - "is_request_body_field": true, + "name": "name", + "description": "Name of the registered model.", + "required": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "id", - "description": "UUID identifying notification destination.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -155978,63 +155716,110 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "UUID identifying notification destination.", + "name": "name", + "description": "Name of the registered model.", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_query": true, "entity": { "is_string": true } } - ] - } - ] - }, - { - "id": "oauth2.OAuthPublishedApps", - "name": "OAuthPublishedApps", - "description": "These APIs enable administrators to view all the available published OAuth applications in Databricks.\nAdministrators can add the published OAuth applications to their account through the OAuth Published App Integration APIs.", - "package": { - "name": "oauth2" - }, - "is_accounts": true, - "docs_group": "oauth2", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListOAuthPublishedAppsRequest" - } - }, - "methods": [ + ], + "pagination": {} + }, { - "name": "List", - "description": "Get all the available published OAuth apps in Databricks.", - "summary": "Get all the published OAuth apps.", - "path": "/api/2.0/accounts/{account_id}/oauth2/published-apps", + "name": "ListWebhooks", + "description": "**NOTE:** This endpoint is in Public Preview.\nLists all registry webhooks.", + "summary": "List registry webhooks.", + "path": "/api/2.0/mlflow/registry-webhooks/list", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListOAuthPublishedAppsRequest", + "pascal_name": "ListWebhooksRequest", "is_object": true }, "response": { - "pascal_name": "GetPublishedAppsOutput", + "pascal_name": "ListRegistryWebhooks", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "The max number of OAuth published apps to return in one page.", + "name": "events", + "description": "Events that trigger the webhook.\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.\n\nIf `events` is specified, any webhook with one or more of the specified trigger events is included in the output.\nIf `events` is not specified, webhooks of all event types are included in the output.", "is_query": true, "entity": { - "is_int": true + "pascal_name": "RegistryWebhookEventList", + "array_value": { + "pascal_name": "RegistryWebhookEvent", + "enum": [ + { + "content": "COMMENT_CREATED" + }, + { + "content": "MODEL_VERSION_CREATED" + }, + { + "content": "MODEL_VERSION_TAG_SET" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_STAGE" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" + }, + { + "content": "REGISTERED_MODEL_CREATED" + }, + { + "content": "TRANSITION_REQUEST_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" + } + ] + } + } + }, + { + "name": "max_results", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "model_name", + "description": "Registered model name\nIf not specified, all webhooks associated with the specified events are listed, regardless of their associated model.", + "is_query": true, + "entity": { + "is_string": true } }, { "name": "page_token", - "description": "A token that can be used to get the next page of results.", + "description": "Token indicating the page of artifact results to fetch", "is_query": true, "entity": { "is_string": true @@ -156045,7 +155830,7 @@ "token": { "poll_field": { "name": "page_token", - "description": "A token that can be used to get the next page of results.", + "description": "Token indicating the page of artifact results to fetch", "is_query": true, "entity": { "is_string": true @@ -156053,208 +155838,180 @@ } } } - } - ] - }, - { - "id": "catalog.OnlineTables", - "name": "OnlineTables", - "description": "Online tables provide lower latency and higher QPS access to data from Delta tables.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "methods": [ + }, { - "name": "Create", - "description": "Create a new Online Table.", - "summary": "Create an Online Table.", - "path": "/api/2.0/online-tables", + "name": "RejectTransitionRequest", + "description": "Rejects a model version stage transition request.", + "summary": "Reject a transition request.", + "path": "/api/2.0/mlflow/transition-requests/reject", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateOnlineTableRequest", + "pascal_name": "RejectTransitionRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "table", - "description": "Specification of the online table to be created.", + "name": "name", + "description": "Name of the model.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "OnlineTable", - "is_object": true + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "table", - "description": "Specification of the online table to be created.", + "name": "name", + "description": "Name of the model.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "OnlineTable", - "is_object": true + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] }, - "request_body_field": { - "name": "table", - "description": "Specification of the online table to be created.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "OnlineTable", - "is_object": true - } - }, "response": { - "pascal_name": "OnlineTable", + "pascal_name": "RejectTransitionRequestResponse", "is_object": true }, "all_fields": [ { - "name": "table", - "description": "Specification of the online table to be created.", - "required": true, + "name": "comment", + "description": "User-provided comment on the action.", "is_request_body_field": true, "entity": { - "pascal_name": "OnlineTable", - "is_object": true + "is_string": true } }, { "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", + "description": "Name of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "spec", - "description": "Specification of the online table.", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "OnlineTableSpec", - "is_object": true + "is_string": true } }, { - "name": "status", - "description": "Online Table data synchronization status", - "is_computed": true, - "is_output_only": true, + "name": "version", + "description": "Version of the model.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "OnlineTableStatus", - "is_object": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "table_serving_url", - "description": "Data serving REST API URL for this table", - "is_computed": true, - "is_output_only": true, + "name": "name", + "description": "Name of the model.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "unity_catalog_provisioning_state", - "description": "The provisioning state of the online table entity in Unity Catalog. This is distinct from the\nstate of the data synchronization pipeline (i.e. the table may be in \"ACTIVE\" but the pipeline\nmay be in \"PROVISIONING\" as it runs asynchronously).", - "is_computed": true, - "is_output_only": true, + "name": "version", + "description": "Version of the model.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ProvisioningInfoState", - "enum": [ - { - "content": "ACTIVE" - }, - { - "content": "DEGRADED" - }, - { - "content": "DELETING" - }, - { - "content": "FAILED" - }, - { - "content": "PROVISIONING" - }, - { - "content": "UPDATING" - } - ] - } - } - ], - "wait": { - "success": [ - { - "content": "ACTIVE" - } - ], - "timeout": 20, - "poll": { - "response": { - "pascal_name": "OnlineTable" + "is_string": true } }, - "status_path": [ - { - "pascal_name": "UnityCatalogProvisioningState" + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - } + } + ] }, { - "name": "Delete", - "description": "Delete an online table.\nWarning: This will delete all the data in the online table. If the source Delta table was\ndeleted or modified since this Online Table was created, this will lose the data forever!", - "summary": "Delete an Online Table.", - "path": "/api/2.0/online-tables/{name}", + "name": "RenameModel", + "description": "Renames a registered model.", + "summary": "Rename a model.", + "path": "/api/2.0/mlflow/registered-models/rename", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteOnlineTableRequest", + "pascal_name": "RenameModelRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156262,14 +156019,23 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "RenameModelResponse", + "is_object": true }, "all_fields": [ { "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "new_name", + "description": "If provided, updates the name for this `registered_model`.", + "is_request_body_field": true, "entity": { "is_string": true } @@ -156278,9 +156044,9 @@ "required_positional_arguments": [ { "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", + "description": "Registered model unique name identifier.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156288,110 +156054,163 @@ ] }, { - "name": "Get", - "description": "Get information about an existing online table and its status.", - "summary": "Get an Online Table.", - "path": "/api/2.0/online-tables/{name}", - "is_crud_read": true, + "name": "SearchModelVersions", + "description": "Searches for specific model versions based on the supplied __filter__.", + "summary": "Search model versions.", + "path": "/api/2.0/mlflow/model-versions/search", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetOnlineTableRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", - "required": true, - "is_path": true, - "entity": { + "pascal_name": "SearchModelVersionsRequest", + "is_object": true + }, + "response": { + "pascal_name": "SearchModelVersionsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "filter", + "description": "String filter condition, like \"name='my-model-name'\". Must be a single boolean condition,\nwith string values wrapped in single quotes.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "max_results", + "description": "Maximum number of models desired. Max threshold is 10K.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "order_by", + "description": "List of columns to be ordered by including model name, version, stage with an\noptional \"DESC\" or \"ASC\" annotation, where \"ASC\" is the default.\nTiebreaks are done by latest stage transition timestamp, followed by name ASC, followed by\nversion DESC.", + "is_query": true, + "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", - "required": true, - "is_path": true, + }, + { + "name": "page_token", + "description": "Pagination token to go to next page based on previous search query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token to go to next page based on previous search query.", + "is_query": true, "entity": { "is_string": true } } - ] + } + } + }, + { + "name": "SearchModels", + "description": "Search for registered models based on the specified __filter__.", + "summary": "Search models.", + "path": "/api/2.0/mlflow/registered-models/search", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "SearchModelsRequest", + "is_object": true }, "response": { - "pascal_name": "OnlineTable", + "pascal_name": "SearchModelsResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", - "required": true, - "is_path": true, + "name": "filter", + "description": "String filter condition, like \"name LIKE 'my-model-name'\".\nInterpreted in the backend automatically as \"name LIKE '%my-model-name%'\".\nSingle boolean condition, with string values wrapped in single quotes.", + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Full three-part (catalog, schema, table) name of the table.", - "required": true, - "is_path": true, + "name": "max_results", + "description": "Maximum number of models desired. Default is 100. Max threshold is 1000.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "order_by", + "description": "List of columns for ordering search results, which can include model name and last updated\ntimestamp with an optional \"DESC\" or \"ASC\" annotation, where \"ASC\" is the default.\nTiebreaks are done by model name ASC.", + "is_query": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "page_token", + "description": "Pagination token to go to the next page based on a previous search query.", + "is_query": true, "entity": { "is_string": true } } - ] - } - ] - }, - { - "id": "iam.PermissionMigration", - "name": "PermissionMigration", - "description": "APIs for migrating acl permissions, used only by the ucx tool: https://github.com/databrickslabs/ucx", - "package": { - "name": "iam" - }, - "is_hidden_cli": true, - "docs_group": "iam", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "methods": [ + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token to go to the next page based on a previous search query.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, { - "name": "MigratePermissions", - "description": "Migrate Permissions.", - "summary": "Migrate Permissions.", - "path": "/api/2.0/permissionmigration", + "name": "SetModelTag", + "description": "Sets a tag on a registered model.", + "summary": "Set a tag.", + "path": "/api/2.0/mlflow/registered-models/set-tag", "can_use_json": true, - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "MigratePermissionsRequest", + "pascal_name": "SetModelTagRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "workspace_id", - "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "name": "name", + "description": "Unique name of the model.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "from_workspace_group_name", - "description": "The name of the workspace group that permissions will be migrated from.", + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156399,8 +156218,8 @@ } }, { - "name": "to_account_group_name", - "description": "The name of the account group that permissions will be migrated to.", + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156410,17 +156229,17 @@ ], "required_request_body_fields": [ { - "name": "workspace_id", - "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "name": "name", + "description": "Unique name of the model.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "from_workspace_group_name", - "description": "The name of the workspace group that permissions will be migrated from.", + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156428,8 +156247,8 @@ } }, { - "name": "to_account_group_name", - "description": "The name of the account group that permissions will be migrated to.", + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156439,13 +156258,14 @@ ] }, "response": { - "pascal_name": "MigratePermissionsResponse", - "is_object": true + "pascal_name": "SetModelTagResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "from_workspace_group_name", - "description": "The name of the workspace group that permissions will be migrated from.", + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156453,16 +156273,8 @@ } }, { - "name": "size", - "description": "The maximum number of permissions that will be migrated.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "to_account_group_name", - "description": "The name of the account group that permissions will be migrated to.", + "name": "name", + "description": "Unique name of the model.", "required": true, "is_request_body_field": true, "entity": { @@ -156470,28 +156282,28 @@ } }, { - "name": "workspace_id", - "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "name": "name", + "description": "Unique name of the model.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "from_workspace_group_name", - "description": "The name of the workspace group that permissions will be migrated from.", + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156499,8 +156311,8 @@ } }, { - "name": "to_account_group_name", - "description": "The name of the account group that permissions will be migrated to.", + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", "required": true, "is_request_body_field": true, "entity": { @@ -156508,67 +156320,91 @@ } } ] - } - ] - }, - { - "id": "iam.Permissions", - "name": "Permissions", - "description": "Permissions API are used to create read, write, edit, update and manage access for various users on different objects and endpoints.\n* **[Apps permissions](:service:apps)** — Manage which users can manage or use apps.\n* **[Cluster permissions](:service:clusters)** — Manage which users can manage, restart, or attach to clusters.\n* **[Cluster policy permissions](:service:clusterpolicies)** — Manage which users can use cluster policies.\n* **[Spark Declarative Pipelines permissions](:service:pipelines)** — Manage which users can view, manage, run, cancel, or own a Spark Declarative Pipeline.\n* **[Job permissions](:service:jobs)** — Manage which users can view, manage, trigger, cancel, or own a job.\n* **[MLflow experiment permissions](:service:experiments)** — Manage which users can read, edit, or manage MLflow experiments.\n* **[MLflow registered model permissions](:service:modelregistry)** — Manage which users can read, edit, or manage MLflow registered models.\n* **[Instance Pool permissions](:service:instancepools)** — Manage which users can manage or attach to pools.\n* **[Repo permissions](repos)** — Manage which users can read, run, edit, or manage a repo.\n* **[Serving endpoint permissions](:service:servingendpoints)** — Manage which users can view, query, or manage a serving endpoint.\n* **[SQL warehouse permissions](:service:warehouses)** — Manage which users can use or manage SQL warehouses.\n* **[Token permissions](:service:tokenmanagement)** — Manage which users can create or use tokens.\n* **[Workspace object permissions](:service:workspace)** — Manage which users can read, run, edit, or manage alerts, dbsql-dashboards, directories, files, notebooks and queries.\nFor the mapping of the required permissions for specific actions or abilities and other important information, see [Access Control](https://docs.databricks.com/security/auth-authz/access-control/index.html).\nNote that to manage access control on service principals, use **[Account Access Control Proxy](:service:accountaccesscontrolproxy)**.", - "package": { - "name": "iam" - }, - "docs_group": "iam", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "Get", - "description": "Gets the permissions of an object. Objects can inherit permissions from their parent objects or root object.", - "summary": "Get object permissions.", - "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}", - "is_crud_read": true, + "name": "SetModelVersionTag", + "description": "Sets a model version tag.", + "summary": "Set a version tag.", + "path": "/api/2.0/mlflow/model-versions/set-tag", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPermissionRequest", + "pascal_name": "SetModelVersionTagRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Unique name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "version", + "description": "Model version number.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Unique name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "version", + "description": "Model version number.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156576,24 +156412,43 @@ ] }, "response": { - "pascal_name": "ObjectPermissions", - "is_object": true + "pascal_name": "SetModelVersionTagResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Unique name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Model version number.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156601,19 +156456,37 @@ ], "required_positional_arguments": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Unique name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "version", + "description": "Model version number.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "key", + "description": "Name of the tag. Maximum size depends on storage backend.\nIf a tag with this name already exists, its preexisting value will be replaced by the specified `value`.\nAll storage backends are guaranteed to support key values up to 250 bytes in size.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "String value of the tag being logged. Maximum size depends on storage backend.\nAll storage backends are guaranteed to support key values up to 5000 bytes in size.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156621,28 +156494,21 @@ ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get object permission levels.", - "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}/permissionLevels", + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set registered model permissions.", + "path": "/api/2.0/permissions/registered-models/{registered_model_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPermissionLevelsRequest", + "pascal_name": "RegisteredModelPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_object_id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -156652,16 +156518,8 @@ ], "required_in_url_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_object_id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -156671,21 +156529,24 @@ ] }, "response": { - "pascal_name": "GetPermissionLevelsResponse", + "pascal_name": "RegisteredModelPermissions", "is_object": true }, "all_fields": [ { - "name": "request_object_id", - "required": true, - "is_path": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "RegisteredModelAccessControlRequestList", + "array_value": { + "pascal_name": "RegisteredModelAccessControlRequest", + "is_object": true + } } }, { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -156695,16 +156556,8 @@ ], "required_positional_arguments": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_object_id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -156714,52 +156567,35 @@ ] }, { - "name": "Set", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their parent objects or root object.", - "summary": "Set object permissions.", - "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}", + "name": "TestRegistryWebhook", + "description": "**NOTE:** This endpoint is in Public Preview.\nTests a registry webhook.", + "summary": "Test a webhook.", + "path": "/api/2.0/mlflow/registry-webhooks/test", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SetObjectPermissions", + "pascal_name": "TestRegistryWebhookRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "id", + "description": "Webhook ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ - { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, + "required_request_body_fields": [ { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "id", + "description": "Webhook ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156767,35 +156603,61 @@ ] }, "response": { - "pascal_name": "ObjectPermissions", + "pascal_name": "TestRegistryWebhookResponse", "is_object": true }, "all_fields": [ { - "name": "access_control_list", + "name": "event", + "description": "If `event` is specified, the test trigger uses the specified event. If `event` is not specified, the test trigger uses a randomly chosen event associated with the webhook.", "is_request_body_field": true, "entity": { - "pascal_name": "AccessControlRequestList", - "array_value": { - "pascal_name": "AccessControlRequest", - "is_object": true - } - } - }, - { - "name": "request_object_id", - "description": "The id of the request object.", - "required": true, - "is_path": true, - "entity": { - "is_string": true + "pascal_name": "RegistryWebhookEvent", + "enum": [ + { + "content": "COMMENT_CREATED" + }, + { + "content": "MODEL_VERSION_CREATED" + }, + { + "content": "MODEL_VERSION_TAG_SET" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_STAGE" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" + }, + { + "content": "REGISTERED_MODEL_CREATED" + }, + { + "content": "TRANSITION_REQUEST_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" + } + ] } }, { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "id", + "description": "Webhook ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156803,19 +156665,10 @@ ], "required_positional_arguments": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "id", + "description": "Webhook ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156823,88 +156676,140 @@ ] }, { - "name": "Update", - "description": "Updates the permissions on an object. Objects can inherit permissions from their parent objects or root object.", - "summary": "Update object permissions.", - "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}", + "name": "TransitionStage", + "description": "Transition a model version's stage.\nThis is a Databricks workspace version of the [MLflow endpoint](https://www.mlflow.org/docs/latest/rest-api.html#transition-modelversion-stage)\nthat also accepts a comment associated with the transition to be recorded.", + "summary": "Transition a stage.", + "path": "/api/2.0/mlflow/databricks/model-versions/transition-stage", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateObjectPermissions", + "pascal_name": "TransitionModelVersionStageDatabricks", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } } ] }, "response": { - "pascal_name": "ObjectPermissions", + "pascal_name": "TransitionStageResponse", "is_object": true }, "all_fields": [ { - "name": "access_control_list", + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AccessControlRequestList", - "array_value": { - "pascal_name": "AccessControlRequest", - "is_object": true - } + "is_bool": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "comment", + "description": "User-provided comment on the action.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "Version of the model.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -156912,63 +156817,69 @@ ], "required_positional_arguments": [ { - "name": "request_object_type", - "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "name": "name", + "description": "Name of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "request_object_id", - "description": "The id of the request object.", + "name": "version", + "description": "Version of the model.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "stage", + "description": "Target stage of the transition. Valid values are:\n\n* `None`: The initial stage of a model version.\n\n* `Staging`: Staging or pre-production stage.\n\n* `Production`: Production stage.\n\n* `Archived`: Archived stage.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "archive_existing_versions", + "description": "Specifies whether to archive all current model versions in the target stage.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } } ] - } - ] - }, - { - "id": "settings.PersonalCompute", - "name": "PersonalCompute", - "description": "The Personal Compute enablement setting lets you control which users can use the Personal Compute default policy to create compute resources.\nBy default all users in all workspaces have access (ON), but you can change the setting to instead let individual workspaces configure access control (DELEGATE).\n\nThere is only one instance of this setting per account.\nSince this setting has a default value, this setting is present on all accounts even though it's never set on a given account.\nDeletion reverts the value of the setting back to the default value.", - "package": { - "name": "settings" - }, - "is_accounts": true, - "has_parent": true, - "is_hidden_cli": true, - "docs_group": "settings", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "parent_service_id": "settings.AccountSettings", - "methods": [ + }, { - "name": "Delete", - "description": "Reverts back the Personal Compute setting value to default (ON)", - "summary": "Delete Personal Compute setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/dcp_acct_enable/names/default", - "is_hidden_cli": true, + "name": "UpdateComment", + "description": "Post an edit to a comment on a model version.", + "summary": "Update a comment.", + "path": "/api/2.0/mlflow/comments/update", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeletePersonalComputeSettingRequest", - "is_object": true - }, - "response": { - "pascal_name": "DeletePersonalComputeSettingResponse", + "pascal_name": "UpdateComment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "name": "id", + "description": "Unique identifier of an activity", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "comment", + "description": "User-provided comment on the action.", "required": true, "is_request_body_field": true, "entity": { @@ -156978,8 +156889,17 @@ ], "required_request_body_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "name": "id", + "description": "Unique identifier of an activity", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "comment", + "description": "User-provided comment on the action.", "required": true, "is_request_body_field": true, "entity": { @@ -156988,11 +156908,45 @@ } ] }, + "response": { + "pascal_name": "UpdateCommentResponse", + "is_object": true + }, "all_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, + "name": "comment", + "description": "User-provided comment on the action.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "id", + "description": "Unique identifier of an activity", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "id", + "description": "Unique identifier of an activity", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "comment", + "description": "User-provided comment on the action.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -157000,51 +156954,70 @@ ] }, { - "name": "Get", - "description": "Gets the value of the Personal Compute setting.", - "summary": "Get Personal Compute setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/dcp_acct_enable/names/default", - "is_crud_read": true, - "is_hidden_cli": true, + "name": "UpdateModel", + "description": "Updates a registered model.", + "summary": "Update model.", + "path": "/api/2.0/mlflow/registered-models/update", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPersonalComputeSettingRequest", - "is_object": true - }, - "response": { - "pascal_name": "PersonalComputeSetting", + "pascal_name": "UpdateModelRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "personal_compute", + "name": "name", + "description": "Registered model unique name identifier.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalComputeMessage", - "is_object": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "personal_compute", + "name": "name", + "description": "Registered model unique name identifier.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalComputeMessage", - "is_object": true + "is_string": true } } ] }, + "response": { + "pascal_name": "UpdateModelResponse", + "is_object": true + }, "all_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, + "name": "description", + "description": "If provided, updates the description for this `registered_model`.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Registered model unique name identifier.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -157052,41 +157025,31 @@ ] }, { - "name": "Update", - "description": "Updates the value of the Personal Compute setting.", - "summary": "Update Personal Compute setting.", - "path": "/api/2.0/accounts/{account_id}/settings/types/dcp_acct_enable/names/default", + "name": "UpdateModelVersion", + "description": "Updates the model version.", + "summary": "Update model version.", + "path": "/api/2.0/mlflow/model-versions/update", "can_use_json": true, - "must_use_json": true, - "is_hidden_cli": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdatePersonalComputeSettingRequest", + "pascal_name": "UpdateModelVersionRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", + "name": "name", + "description": "Name of the registered model", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalComputeSetting", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "version", + "description": "Model version number", "required": true, "is_request_body_field": true, "entity": { @@ -157096,26 +157059,17 @@ ], "required_request_body_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", + "name": "name", + "description": "Name of the registered model", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalComputeSetting", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "version", + "description": "Model version number", "required": true, "is_request_body_field": true, "entity": { @@ -157125,45 +157079,41 @@ ] }, "response": { - "pascal_name": "PersonalComputeSetting", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "personal_compute", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PersonalComputeMessage", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "personal_compute", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PersonalComputeMessage", - "is_object": true - } - } - ] + "pascal_name": "UpdateModelVersionResponse", + "is_object": true }, "all_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "name": "description", + "description": "If provided, updates the description for this `registered_model`.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the registered model", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "version", + "description": "Model version number", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Name of the registered model", "required": true, "is_request_body_field": true, "entity": { @@ -157171,53 +157121,32 @@ } }, { - "name": "setting", + "name": "version", + "description": "Model version number", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalComputeSetting", - "is_object": true + "is_string": true } } ] - } - ] - }, - { - "id": "pipelines.Pipelines", - "name": "Pipelines", - "description": "The Lakeflow Spark Declarative Pipelines API allows you to create, edit, delete, start, and view details about pipelines.\n\nSpark Declarative Pipelines is a framework for building reliable, maintainable, and testable data processing pipelines. You define the transformations to perform on your data, and Spark Declarative Pipelines manages task orchestration, cluster management, monitoring, data quality, and error handling.\n\nInstead of defining your data pipelines using a series of separate Apache Spark tasks, Spark Declarative Pipelines manages how your data is transformed based on a target schema you define for each processing step. You can also enforce data quality with Spark Declarative Pipelines expectations. Expectations allow you to define expected data quality and specify how to handle records that fail those expectations.", - "package": { - "name": "pipelines" - }, - "docs_group": "lakeflow", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "PipelineStateInfoNameToPipelineIdMap" }, - "request": { - "pascal_name": "ListPipelinesRequest" - } - }, - "methods": [ { - "name": "ApplyEnvironment", - "description": "*\nApplies the current pipeline environment onto the pipeline compute. The environment applied can be used by subsequent\ndev-mode updates.", - "summary": "Apply the latest environment to the pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}/environment/apply", + "name": "UpdatePermissions", + "description": "Updates the permissions on a registered model. Registered models can inherit permissions from their root object.", + "summary": "Update registered model permissions.", + "path": "/api/2.0/permissions/registered-models/{registered_model_id}", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ApplyEnvironmentRequest", + "pascal_name": "RegisteredModelPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -157227,7 +157156,8 @@ ], "required_in_url_fields": [ { - "name": "pipeline_id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -157237,12 +157167,24 @@ ] }, "response": { - "pascal_name": "ApplyEnvironmentRequestResponse", + "pascal_name": "RegisteredModelPermissions", "is_object": true }, "all_fields": [ { - "name": "pipeline_id", + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "RegisteredModelAccessControlRequestList", + "array_value": { + "pascal_name": "RegisteredModelAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -157252,7 +157194,8 @@ ], "required_positional_arguments": [ { - "name": "pipeline_id", + "name": "registered_model_id", + "description": "The registered model for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -157262,37 +157205,35 @@ ] }, { - "name": "Clone", - "description": "Creates a new pipeline using Unity Catalog from a pipeline using Hive Metastore.\nThis method returns the ID of the newly created clone.\nAdditionally, this method starts an update for the newly created pipeline.", - "summary": "Clone a pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}/clone", + "name": "UpdateWebhook", + "description": "**NOTE:** This endpoint is in Public Preview.\nUpdates a registry webhook.", + "summary": "Update a webhook.", + "path": "/api/2.0/mlflow/registry-webhooks/update", "can_use_json": true, - "must_use_json": true, - "is_json_only": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ClonePipelineRequest", + "pascal_name": "UpdateRegistryWebhook", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "pipeline_id", - "description": "Source pipeline to clone from", + "name": "id", + "description": "Webhook ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "pipeline_id", - "description": "Source pipeline to clone from", + "name": "id", + "description": "Webhook ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -157300,915 +157241,369 @@ ] }, "response": { - "pascal_name": "ClonePipelineResponse", + "pascal_name": "UpdateWebhookResponse", "is_object": true }, "all_fields": [ { - "name": "allow_duplicate_names", - "description": "If false, deployment will fail if name conflicts with that of another pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "budget_policy_id", - "description": "Budget policy of this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog", - "description": "A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "channel", - "description": "SDP Release Channel that specifies which version to use.", + "name": "description", + "description": "User-specified description for the webhook.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "clone_mode", - "description": "The type of clone to perform. Currently, only deep copies are supported", - "is_request_body_field": true, - "entity": { - "pascal_name": "CloneMode", - "enum": [ - { - "content": "MIGRATE_TO_UC" - } - ] - } - }, - { - "name": "clusters", - "description": "Cluster settings for this pipeline deployment.", + "name": "events", + "description": "Events that can trigger a registry webhook:\n* `MODEL_VERSION_CREATED`: A new model version was created for the associated model.\n\n* `MODEL_VERSION_TRANSITIONED_STAGE`: A model version’s stage was changed.\n\n* `TRANSITION_REQUEST_CREATED`: A user requested a model version’s stage be transitioned.\n\n* `COMMENT_CREATED`: A user wrote a comment on a registered model.\n\n* `REGISTERED_MODEL_CREATED`: A new registered model was created. This event type can only be specified for a registry-wide webhook, which can be created by not specifying a model name in the create request.\n\n* `MODEL_VERSION_TAG_SET`: A user set a tag on the model version.\n\n* `MODEL_VERSION_TRANSITIONED_TO_STAGING`: A model version was transitioned to staging.\n\n* `MODEL_VERSION_TRANSITIONED_TO_PRODUCTION`: A model version was transitioned to production.\n\n* `MODEL_VERSION_TRANSITIONED_TO_ARCHIVED`: A model version was archived.\n\n* `TRANSITION_REQUEST_TO_STAGING_CREATED`: A user requested a model version be transitioned to staging.\n\n* `TRANSITION_REQUEST_TO_PRODUCTION_CREATED`: A user requested a model version be transitioned to production.\n\n* `TRANSITION_REQUEST_TO_ARCHIVED_CREATED`: A user requested a model version be archived.", "is_request_body_field": true, "entity": { - "pascal_name": "PipelineClusterList", + "pascal_name": "RegistryWebhookEventList", "array_value": { - "pascal_name": "PipelineCluster", - "is_object": true - } - } - }, - { - "name": "configuration", - "description": "String-String configuration for this pipeline execution.", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true + "pascal_name": "RegistryWebhookEvent", + "enum": [ + { + "content": "COMMENT_CREATED" + }, + { + "content": "MODEL_VERSION_CREATED" + }, + { + "content": "MODEL_VERSION_TAG_SET" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_STAGE" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_ARCHIVED" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_PRODUCTION" + }, + { + "content": "MODEL_VERSION_TRANSITIONED_TO_STAGING" + }, + { + "content": "REGISTERED_MODEL_CREATED" + }, + { + "content": "TRANSITION_REQUEST_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_ARCHIVED_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_PRODUCTION_CREATED" + }, + { + "content": "TRANSITION_REQUEST_TO_STAGING_CREATED" + } + ] } } }, { - "name": "continuous", - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "deployment", - "description": "Deployment type of this pipeline.", + "name": "http_url_spec", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "PipelineDeployment", + "pascal_name": "HttpUrlSpec", "is_object": true } }, { - "name": "development", - "description": "Whether the pipeline is in Development mode. Defaults to false.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "edition", - "description": "Pipeline product edition.", + "name": "id", + "description": "Webhook ID", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "environment", - "description": "Environment specification for this pipeline used to install dependencies.", + "name": "job_spec", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "PipelinesEnvironment", + "pascal_name": "JobSpec", "is_object": true } }, { - "name": "event_log", - "description": "Event log configuration for this pipeline", + "name": "status", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "EventLogSpec", - "is_object": true + "pascal_name": "RegistryWebhookStatus", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "DISABLED" + }, + { + "content": "TEST_MODE" + } + ] } - }, + } + ], + "required_positional_arguments": [ { - "name": "expected_last_modified", - "description": "If present, the last-modified time of the pipeline settings before the clone.\nIf the settings were modified after that time, then the request will fail with\na conflict.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "filters", - "description": "Filters on which Pipeline packages to include in the deployed graph.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Filters", - "is_object": true - } - }, - { - "name": "gateway_definition", - "description": "The definition of a gateway pipeline to support change data capture.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IngestionGatewayPipelineDefinition", - "is_object": true - } - }, - { - "name": "id", - "description": "Unique identifier for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "ingestion_definition", - "description": "The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IngestionPipelineDefinition", - "is_object": true - } - }, - { - "name": "libraries", - "description": "Libraries or code needed by this deployment.", - "is_request_body_field": true, - "entity": { - "pascal_name": "PipelineLibraryList", - "array_value": { - "pascal_name": "PipelineLibrary", - "is_object": true - } - } - }, - { - "name": "name", - "description": "Friendly identifier for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "notifications", - "description": "List of notification settings for this pipeline.", - "is_request_body_field": true, - "entity": { - "pascal_name": "NotificationsList", - "array_value": { - "pascal_name": "Notifications", - "is_object": true - } - } - }, - { - "name": "photon", - "description": "Whether Photon is enabled for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "pipeline_id", - "description": "Source pipeline to clone from", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "restart_window", - "description": "Restart window of this pipeline.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RestartWindow", - "is_object": true - } - }, - { - "name": "root_path", - "description": "Root path for this pipeline.\nThis is used as the root directory when editing the pipeline in the Databricks user interface and it is\nadded to sys.path when executing Python sources during pipeline execution.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The default schema (database) where tables are read from or published to.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "serverless", - "description": "Whether serverless compute is enabled for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "serverless_compute_id", - "description": "Serverless compute ID specified by the user for serverless pipelines.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage", - "description": "DBFS root directory for storing checkpoints and tables.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tags", - "description": "A map of tags associated with the pipeline.\nThese are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.\nA maximum of 25 tags can be added to the pipeline.", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "target", - "description": "Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "trigger", - "description": "Which pipeline trigger to use. Deprecated: Use `continuous` instead.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelineTrigger", - "is_object": true - } - }, - { - "name": "usage_policy_id", - "description": "Usage policy of this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "pipeline_id", - "description": "Source pipeline to clone from", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Create", - "description": "Creates a new data processing pipeline based on the requested configuration. If successful, this method returns\nthe ID of the new pipeline.", - "summary": "Create a pipeline.", - "path": "/api/2.0/pipelines", - "can_use_json": true, - "must_use_json": true, - "is_json_only": true, - "is_crud_create": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreatePipeline", - "is_object": true - }, - "response": { - "pascal_name": "CreatePipelineResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "allow_duplicate_names", - "description": "If false, deployment will fail if name conflicts with that of another pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "budget_policy_id", - "description": "Budget policy of this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog", - "description": "A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "channel", - "description": "SDP Release Channel that specifies which version to use.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "clusters", - "description": "Cluster settings for this pipeline deployment.", - "is_request_body_field": true, - "entity": { - "pascal_name": "PipelineClusterList", - "array_value": { - "pascal_name": "PipelineCluster", - "is_object": true - } - } - }, - { - "name": "configuration", - "description": "String-String configuration for this pipeline execution.", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "continuous", - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "deployment", - "description": "Deployment type of this pipeline.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelineDeployment", - "is_object": true - } - }, - { - "name": "development", - "description": "Whether the pipeline is in Development mode. Defaults to false.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "dry_run", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "edition", - "description": "Pipeline product edition.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "environment", - "description": "Environment specification for this pipeline used to install dependencies.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelinesEnvironment", - "is_object": true - } - }, - { - "name": "event_log", - "description": "Event log configuration for this pipeline", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EventLogSpec", - "is_object": true - } - }, - { - "name": "filters", - "description": "Filters on which Pipeline packages to include in the deployed graph.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Filters", - "is_object": true - } - }, - { - "name": "gateway_definition", - "description": "The definition of a gateway pipeline to support change data capture.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IngestionGatewayPipelineDefinition", - "is_object": true - } - }, - { - "name": "id", - "description": "Unique identifier for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "ingestion_definition", - "description": "The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IngestionPipelineDefinition", - "is_object": true - } - }, - { - "name": "libraries", - "description": "Libraries or code needed by this deployment.", - "is_request_body_field": true, - "entity": { - "pascal_name": "PipelineLibraryList", - "array_value": { - "pascal_name": "PipelineLibrary", - "is_object": true - } - } - }, - { - "name": "name", - "description": "Friendly identifier for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "notifications", - "description": "List of notification settings for this pipeline.", - "is_request_body_field": true, - "entity": { - "pascal_name": "NotificationsList", - "array_value": { - "pascal_name": "Notifications", - "is_object": true - } - } - }, - { - "name": "parameters", - "description": "Key/value map of default parameters to use for pipeline execution.\nMaximum total size: 10k characters (JSON format)", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "photon", - "description": "Whether Photon is enabled for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "restart_window", - "description": "Restart window of this pipeline.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RestartWindow", - "is_object": true - } - }, - { - "name": "root_path", - "description": "Root path for this pipeline.\nThis is used as the root directory when editing the pipeline in the Databricks user interface and it is\nadded to sys.path when executing Python sources during pipeline execution.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "run_as", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RunAs", - "is_object": true - } - }, - { - "name": "schema", - "description": "The default schema (database) where tables are read from or published to.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "serverless", - "description": "Whether serverless compute is enabled for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "serverless_compute_id", - "description": "Serverless compute ID specified by the user for serverless pipelines.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage", - "description": "DBFS root directory for storing checkpoints and tables.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tags", - "description": "A map of tags associated with the pipeline.\nThese are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.\nA maximum of 25 tags can be added to the pipeline.", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "target", - "description": "Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "trigger", - "description": "Which pipeline trigger to use. Deprecated: Use `continuous` instead.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelineTrigger", - "is_object": true - } - }, - { - "name": "usage_policy_id", - "description": "Usage policy of this pipeline.", + "name": "id", + "description": "Webhook ID", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } } ] - }, + } + ] + }, + { + "id": "catalog.ModelVersions", + "name": "ModelVersions", + "description": "Databricks provides a hosted version of MLflow Model Registry in Unity Catalog.\nModels in Unity Catalog provide centralized access control, auditing, lineage, and discovery of\nML models across Databricks workspaces.\n\nThis API reference documents the REST endpoints for managing model versions in Unity Catalog. For\nmore details, see the [registered models API docs](/api/workspace/registeredmodels).", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListModelVersionsRequest" + } + }, + "methods": [ { "name": "Delete", - "description": "Deletes a pipeline. If the pipeline publishes to Unity Catalog, pipeline deletion will cascade to\nall pipeline tables. Please reach out to Databricks support for assistance to undo this action.", - "summary": "Delete a pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}", + "description": "Deletes a model version from the specified registered model. Any aliases assigned to the\nmodel version will also be deleted.\n\nThe caller must be a metastore admin or an owner of the parent registered model.\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.", + "summary": "Delete a Model Version.", + "path": "/api/2.1/unity-catalog/models/{full_name}/versions/{version}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeletePipelineRequest", + "pascal_name": "DeleteModelVersionRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ], "required_in_url_fields": [ { - "name": "pipeline_id", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ] }, "response": { - "pascal_name": "DeletePipelineResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "cascade", - "description": "If false, pipeline deletion will not cascade to its datasets (MVs, STs, Views).\nBy default, this parameter will be true and all tables will be deleted with the pipeline.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "force", - "description": "If true, deletion will proceed even if resource cleanup fails.\nBy default, deletion will fail if resources cleanup is required but fails.", - "is_query": true, + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "pipeline_id", + "name": "version", + "description": "The integer version number of the model version", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int": true } } ], "required_positional_arguments": [ { - "name": "pipeline_id", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ] }, { "name": "Get", - "description": "Get a pipeline.", - "summary": "Get a pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}", + "description": "Get a model version.\n\nThe caller must be a metastore admin or an owner of (or have the **EXECUTE**\nprivilege on) the parent registered model. For the latter case, the caller must also be the owner\nor have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege\non the parent schema.", + "summary": "Get a Model Version.", + "path": "/api/2.1/unity-catalog/models/{full_name}/versions/{version}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPipelineRequest", + "pascal_name": "GetModelVersionRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "pipeline_id", + "name": "version", + "description": "The integer version number of the model version", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int": true } } - ] - }, - "response": { - "pascal_name": "GetPipelineResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "pipeline_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "pipeline_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get pipeline permission levels.", - "path": "/api/2.0/permissions/pipelines/{pipeline_id}/permissionLevels", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetPipelinePermissionLevelsRequest", - "is_object": true, - "required_fields": [ + ], + "required_in_url_fields": [ { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "version", + "description": "The integer version number of the model version", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int": true } } ] }, "response": { - "pascal_name": "GetPipelinePermissionLevelsResponse", + "pascal_name": "ModelVersionInfo", "is_object": true }, "all_fields": [ { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "include_aliases", + "description": "Whether to include aliases associated with the model version in the response", + "is_query": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPermissions", - "description": "Gets the permissions of a pipeline. Pipelines can inherit permissions from their root object.", - "summary": "Get pipeline permissions.", - "path": "/api/2.0/permissions/pipelines/{pipeline_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetPipelinePermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "is_bool": true } - ], - "required_in_url_fields": [ - { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "include_browse", + "description": "Whether to include model versions in the response for which the principal can only access selective metadata for", + "is_query": true, + "entity": { + "is_bool": true } - ] - }, - "response": { - "pascal_name": "PipelinePermissions", - "is_object": true - }, - "all_fields": [ + }, { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "version", + "description": "The integer version number of the model version", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int": true } } ], "required_positional_arguments": [ { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ] }, { - "name": "GetUpdate", - "description": "Gets an update from an active pipeline.", - "summary": "Get a pipeline update.", - "path": "/api/2.0/pipelines/{pipeline_id}/updates/{update_id}", + "name": "GetByAlias", + "description": "Get a model version by alias.\n\nThe caller must be a metastore admin or an owner of (or have the **EXECUTE**\nprivilege on) the registered model. For the latter case, the caller must also be the owner\nor have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege\non the parent schema.", + "summary": "Get Model Version By Alias.", + "path": "/api/2.1/unity-catalog/models/{full_name}/aliases/{alias}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetUpdateRequest", + "pascal_name": "GetByAliasRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", - "description": "The ID of the pipeline.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -158216,8 +157611,8 @@ } }, { - "name": "update_id", - "description": "The ID of the update.", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { @@ -158227,8 +157622,8 @@ ], "required_in_url_fields": [ { - "name": "pipeline_id", - "description": "The ID of the pipeline.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -158236,8 +157631,8 @@ } }, { - "name": "update_id", - "description": "The ID of the update.", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { @@ -158247,13 +157642,13 @@ ] }, "response": { - "pascal_name": "GetUpdateResponse", + "pascal_name": "ModelVersionInfo", "is_object": true }, "all_fields": [ { - "name": "pipeline_id", - "description": "The ID of the pipeline.", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { @@ -158261,19 +157656,27 @@ } }, { - "name": "update_id", - "description": "The ID of the update.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "include_aliases", + "description": "Whether to include aliases associated with the model version in the response", + "is_query": true, + "entity": { + "is_bool": true + } } ], "required_positional_arguments": [ { - "name": "pipeline_id", - "description": "The ID of the pipeline.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -158281,8 +157684,8 @@ } }, { - "name": "update_id", - "description": "The ID of the update.", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { @@ -158292,20 +157695,20 @@ ] }, { - "name": "ListPipelineEvents", - "description": "Retrieves events for a pipeline.", - "summary": "List pipeline events.", - "path": "/api/2.0/pipelines/{pipeline_id}/events", + "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.", + "summary": "List Model Versions.", + "path": "/api/2.1/unity-catalog/models/{full_name}/versions", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListPipelineEventsRequest", + "pascal_name": "ListModelVersionsRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", - "description": "The pipeline to return events for.", + "name": "full_name", + "description": "The full three-level name of the registered model under which to list model versions", "required": true, "is_path": true, "entity": { @@ -158315,8 +157718,8 @@ ], "required_in_url_fields": [ { - "name": "pipeline_id", - "description": "The pipeline to return events for.", + "name": "full_name", + "description": "The full three-level name of the registered model under which to list model versions", "required": true, "is_path": true, "entity": { @@ -158326,59 +157729,48 @@ ] }, "response": { - "pascal_name": "ListPipelineEventsResponse", + "pascal_name": "ListModelVersionsResponse", "is_object": true }, "all_fields": [ { - "name": "filter", - "description": "Criteria to select a subset of results, expressed using a SQL-like syntax.\nThe supported filters are:\n1. level='INFO' (or WARN or ERROR)\n2. level in ('INFO', 'WARN')\n3. id='[event-id]'\n4. timestamp \u003e 'TIMESTAMP' (or \u003e=,\u003c,\u003c=,=)\n\nComposite expressions are supported, for example: level in ('ERROR', 'WARN')\nAND timestamp\u003e '2021-07-22T06:37:33.083Z'", - "is_query": true, + "name": "full_name", + "description": "The full three-level name of the registered model under which to list model versions", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "max_results", - "description": "Max number of entries to return in a single page. The system may return\nfewer than max_results events in a response, even if there are more events\navailable.", + "name": "include_browse", + "description": "Whether to include model versions in the response for which the principal can only access selective metadata for", "is_query": true, "entity": { - "is_int": true + "is_bool": true } }, { - "name": "order_by", - "description": "A string indicating a sort order by timestamp for the results, for example, [\"timestamp asc\"].\nThe sort order can be ascending or descending. By default, events are returned\nin descending order by timestamp.", + "name": "max_results", + "description": "Maximum number of model versions to return.\nIf not set, the page length is set to a server configured value (100, as of 1/3/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value(1000, as of 1/3/2024);\n- when set to 0, the page length is set to a server configured value (100, as of 1/3/2024) (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", "is_query": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int": true } }, { "name": "page_token", - "description": "Page token returned by previous call. This field is mutually\nexclusive with all fields in this request except max_results. An error is\nreturned if any fields other than max_results are set when this field is set.", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } - }, - { - "name": "pipeline_id", - "description": "The pipeline to return events for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "pipeline_id", - "description": "The pipeline to return events for.", + "name": "full_name", + "description": "The full three-level name of the registered model under which to list model versions", "required": true, "is_path": true, "entity": { @@ -158390,73 +157782,7 @@ "token": { "poll_field": { "name": "page_token", - "description": "Page token returned by previous call. This field is mutually\nexclusive with all fields in this request except max_results. An error is\nreturned if any fields other than max_results are set when this field is set.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListPipelines", - "description": "Lists pipelines defined in the Spark Declarative Pipelines system.", - "summary": "List pipelines.", - "path": "/api/2.0/pipelines", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListPipelinesRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListPipelinesResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "filter", - "description": "Select a subset of results based on the specified criteria.\nThe supported filters are:\n\n* `notebook='\u003cpath\u003e'` to select pipelines that reference the provided notebook path.\n* `name LIKE '[pattern]'` to select pipelines with a name that matches pattern.\nWildcards are supported, for example: `name LIKE '%shopping%'`\n\nComposite filters are not supported. This field is optional.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "max_results", - "description": "The maximum number of entries to return in a single page. The system may\nreturn fewer than max_results events in a response, even if there are\nmore events available. This field is optional. The default value is 25.\nThe maximum value is 100. An error is returned if the value of max_results\nis greater than 100.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "order_by", - "description": "A list of strings specifying the order of results.\nSupported order_by fields are id and name. The default is id asc.\nThis field is optional.", - "is_query": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "page_token", - "description": "Page token returned by previous call", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Page token returned by previous call", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true @@ -158466,761 +157792,816 @@ } }, { - "name": "ListUpdates", - "description": "List updates for an active pipeline.", - "summary": "List pipeline updates.", - "path": "/api/2.0/pipelines/{pipeline_id}/updates", + "name": "Update", + "description": "Updates the specified model version.\n\nThe caller must be a metastore admin or an owner of the parent registered model.\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\nCurrently only the comment of the model version can be updated.", + "summary": "Update a Model Version.", + "path": "/api/2.1/unity-catalog/models/{full_name}/versions/{version}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListUpdatesRequest", + "pascal_name": "UpdateModelVersionRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", - "description": "The pipeline to return updates for.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ], "required_in_url_fields": [ { - "name": "pipeline_id", - "description": "The pipeline to return updates for.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ] }, "response": { - "pascal_name": "ListUpdatesResponse", + "pascal_name": "ModelVersionInfo", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Max number of entries to return in a single page.", - "is_query": true, + "name": "aliases", + "description": "List of aliases associated with the model version", + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "RegisteredModelAliasList", + "array_value": { + "pascal_name": "RegisteredModelAlias", + "is_object": true + } } }, { - "name": "page_token", - "description": "Page token returned by previous call", - "is_query": true, + "name": "catalog_name", + "description": "The name of the catalog containing the model version", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "pipeline_id", - "description": "The pipeline to return updates for.", - "required": true, - "is_path": true, + "name": "comment", + "description": "The comment attached to the model version", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "until_update_id", - "description": "If present, returns updates until and including this update_id.", - "is_query": true, + "name": "created_at", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "created_by", + "description": "The identifier of the user who created the model version", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "pipeline_id", - "description": "The pipeline to return updates for.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set pipeline permissions.", - "path": "/api/2.0/permissions/pipelines/{pipeline_id}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "PipelinePermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "PipelinePermissions", - "is_object": true - }, - "all_fields": [ + }, { - "name": "access_control_list", + "name": "id", + "description": "The unique identifier of the model version", "is_request_body_field": true, "entity": { - "pascal_name": "PipelineAccessControlRequestList", - "array_value": { - "pascal_name": "PipelineAccessControlRequest", - "is_object": true - } + "is_string": true } }, { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "metastore_id", + "description": "The unique identifier of the metastore containing the model version", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "model_name", + "description": "The name of the parent registered model of the model version, relative to parent schema", + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "StartUpdate", - "description": "Starts a new update for the pipeline. If there is already an active update for the pipeline, the request will fail and the active update will remain running.", - "summary": "Start a pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}/updates", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "StartUpdate", - "is_object": true, - "required_fields": [ - { - "name": "pipeline_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "pipeline_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "StartUpdateResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "cause", + "name": "model_version_dependencies", + "description": "Model version dependencies, for feature-store packaged models", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "StartUpdateCause", - "enum": [ - { - "content": "API_CALL" - }, - { - "content": "INFRASTRUCTURE_MAINTENANCE" - }, - { - "content": "JOB_TASK" - }, - { - "content": "RETRY_ON_FAILURE" - }, - { - "content": "SCHEMA_CHANGE" - }, - { - "content": "SERVICE_UPGRADE" - }, - { - "content": "USER_ACTION" - } - ] + "pascal_name": "DependencyList", + "is_object": true } }, { - "name": "full_refresh", - "description": "If true, this update will reset all tables before running.", + "name": "run_id", + "description": "MLflow run ID used when creating the model version, if ``source`` was generated by an\nexperiment run stored in an MLflow tracking server", "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "full_refresh_selection", - "description": "A list of tables to update with fullRefresh. If both refresh_selection and\nfull_refresh_selection are empty, this is a full graph update. Full Refresh on a table means\nthat the states of the table will be reset before the refresh.", + "name": "run_workspace_id", + "description": "ID of the Databricks workspace containing the MLflow run that generated this model\nversion, if applicable", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int": true } }, { - "name": "parameters", - "description": "Key/value map of parameters to pass to the pipeline execution", + "name": "schema_name", + "description": "The name of the schema containing the model version, relative to parent catalog", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_string": true } }, { - "name": "pipeline_id", - "required": true, - "is_path": true, + "name": "source", + "description": "URI indicating the location of the source artifacts (files) for the model version", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "refresh_selection", - "description": "A list of tables to update without fullRefresh. If both refresh_selection and\nfull_refresh_selection are empty, this is a full graph update. Full Refresh on a table means\nthat the states of the table will be reset before the refresh.", + "name": "status", + "description": "Current status of the model version. Newly created model versions start in\nPENDING_REGISTRATION status, then move to READY status once the model version files are uploaded and\nthe model version is finalized. Only model versions in READY status can be loaded for inference or\nserved.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "ModelVersionInfoStatus", + "enum": [ + { + "content": "FAILED_REGISTRATION" + }, + { + "content": "MODEL_VERSION_STATUS_UNKNOWN" + }, + { + "content": "PENDING_REGISTRATION" + }, + { + "content": "READY" + } + ] } }, { - "name": "replace_where_overrides", - "description": "A list of predicate overrides for replace_where flows in this update.\nOnly replace_where flows may be specified. Flows not listed use their original predicate.", + "name": "storage_location", + "description": "The storage location on the cloud under which model version data files are stored", "is_request_body_field": true, "entity": { - "pascal_name": "ReplaceWhereOverrideList", - "array_value": { - "pascal_name": "ReplaceWhereOverride", - "is_object": true - } + "is_string": true } }, { - "name": "reset_checkpoint_selection", - "description": "A list of flows for which this update should reset the streaming checkpoint. This selection will not clear\nthe data in the flow's target table. Flows in this list may also appear in refresh_selection and full_refresh_selection.", + "name": "updated_at", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int64": true } }, { - "name": "rewind_spec", - "description": "The information about the requested rewind operation.\nIf specified this is a rewind mode update.", + "name": "updated_by", + "description": "The identifier of the user who updated the model version last time", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "RewindSpec", - "is_object": true + "is_string": true } }, { - "name": "validate_only", - "description": "If true, this update only validates the correctness of pipeline source code but does not materialize or publish any datasets.", - "is_request_body_field": true, + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_int": true } } ], "required_positional_arguments": [ { - "name": "pipeline_id", + "name": "full_name", + "description": "The three-level (fully qualified) name of the model version", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "The integer version number of the model version", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ] - }, + } + ] + }, + { + "id": "settings.NetworkConnectivity", + "name": "NetworkConnectivity", + "description": "These APIs provide configurations for the network connectivity of your workspaces for serverless compute resources. This API provides stable subnets for your workspace so that you can configure your firewalls on your Azure Storage accounts to allow access from Databricks. You can also use the API to provision private endpoints for Databricks to privately connect serverless compute resources to your Azure resources using Azure Private Link. See [configure serverless secure connectivity](https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security).", + "package": { + "name": "settings" + }, + "is_accounts": true, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "Stop", - "description": "Stops the pipeline by canceling the active update. If there is no active update for the pipeline, this request is a no-op.", - "summary": "Stop a pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}/stop", + "name": "CreateNetworkConnectivityConfiguration", + "description": "Creates a network connectivity configuration (NCC), which provides stable Azure service\nsubnets when accessing your Azure Storage accounts. You can also use a network connectivity configuration to create\nDatabricks managed private endpoints so that Databricks serverless compute resources privately access your\nresources.\n\n**IMPORTANT**: After you create the network connectivity configuration, you must assign one or more workspaces to the new network connectivity configuration.\nYou can share one network connectivity configuration with multiple workspaces from the same Azure region within\nthe same Databricks account.\nSee [configure serverless secure connectivity](https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security).", + "summary": "Create a network connectivity configuration.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "StopRequest", + "pascal_name": "CreateNetworkConnectivityConfigRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "pipeline_id", + "name": "network_connectivity_config", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CreateNetworkConnectivityConfiguration", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "pipeline_id", + "name": "network_connectivity_config", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CreateNetworkConnectivityConfiguration", + "is_object": true } } ] }, + "request_body_field": { + "name": "network_connectivity_config", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CreateNetworkConnectivityConfiguration", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "region", + "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "region", + "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, "response": { - "pascal_name": "StopPipelineResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "NetworkConnectivityConfiguration", + "is_object": true }, "all_fields": [ { - "name": "pipeline_id", + "name": "network_connectivity_config", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CreateNetworkConnectivityConfiguration", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "region", + "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "region", + "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + { + "name": "name", + "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "pipeline_id", + "name": "region", + "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "wait": { - "success": [ - { - "content": "IDLE" - } - ], - "timeout": 20, - "poll": { - "response": { - "pascal_name": "GetPipelineResponse" + "required_positional_arguments": [ + { + "name": "name", + "description": "The name of the network connectivity configuration. The name can contain alphanumeric characters, hyphens,\nand underscores. The length must be between 3 and 30 characters. The name must match the regular\nexpression ^[0-9a-zA-Z-_]{3,30}$", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } }, - "status_path": [ - { - "pascal_name": "State" - } - ], - "message_path": [ - { - "pascal_name": "Cause" + { + "name": "region", + "description": "The region for the network connectivity configuration.\nOnly workspaces in the same region can be attached to the network connectivity configuration.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "message_path_head": { - "pascal_name": "Cause" } - } + ] }, { - "name": "Update", - "description": "Updates a pipeline with the supplied configuration.", - "summary": "Edit a pipeline.", - "path": "/api/2.0/pipelines/{pipeline_id}", + "name": "CreatePrivateEndpointRule", + "description": "Create a private endpoint rule for the specified network connectivity config object.\nOnce the object is created, Databricks asynchronously provisions a new Azure private endpoint to your\nspecified Azure resource.\n\n**IMPORTANT**: You must use Azure portal or other Azure tools to approve the private endpoint to complete the\nconnection. To get the information of the private endpoint created, make a `GET` request on the new private\nendpoint rule. See [serverless private link](https://learn.microsoft.com/azure/databricks/security/network/serverless-network-security/serverless-private-link).", + "summary": "Create a private endpoint rule.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "EditPipeline", + "pascal_name": "CreatePrivateEndpointRuleRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "pipeline_id", - "description": "Unique identifier for this pipeline.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "private_endpoint_rule", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CreatePrivateEndpointRule", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "pipeline_id", - "description": "Unique identifier for this pipeline.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "private_endpoint_rule", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CreatePrivateEndpointRule", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "private_endpoint_rule", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CreatePrivateEndpointRule", + "is_object": true + } + }, "response": { - "pascal_name": "EditPipelineResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "NccPrivateEndpointRule", + "is_object": true }, "all_fields": [ { - "name": "allow_duplicate_names", - "description": "If false, deployment will fail if name has changed and conflicts the name of another pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "budget_policy_id", - "description": "Budget policy of this pipeline.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog", - "description": "A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "channel", - "description": "SDP Release Channel that specifies which version to use.", + "name": "private_endpoint_rule", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CreatePrivateEndpointRule", + "is_object": true } }, { - "name": "clusters", - "description": "Cluster settings for this pipeline deployment.", + "name": "domain_names", + "description": "Only used by private endpoints to customer-managed private endpoint services.\n\nDomain names of target private link service.\nWhen updating this field, the full list of target domain_names must be specified.", "is_request_body_field": true, "entity": { - "pascal_name": "PipelineClusterList", + "pascal_name": "List", "array_value": { - "pascal_name": "PipelineCluster", - "is_object": true - } - } - }, - { - "name": "configuration", - "description": "String-String configuration for this pipeline execution.", - "is_request_body_field": true, - "entity": { - "map_value": { "is_string": true } } }, { - "name": "continuous", - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "deployment", - "description": "Deployment type of this pipeline.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelineDeployment", - "is_object": true - } - }, - { - "name": "development", - "description": "Whether the pipeline is in Development mode. Defaults to false.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "edition", - "description": "Pipeline product edition.", + "name": "endpoint_service", + "description": "The full target AWS endpoint service name that connects to the destination resources of the private endpoint.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "environment", - "description": "Environment specification for this pipeline used to install dependencies.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelinesEnvironment", - "is_object": true - } - }, - { - "name": "event_log", - "description": "Event log configuration for this pipeline", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EventLogSpec", - "is_object": true - } - }, - { - "name": "expected_last_modified", - "description": "If present, the last-modified time of the pipeline settings before the edit.\nIf the settings were modified after that time, then the request will fail with\na conflict.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "filters", - "description": "Filters on which Pipeline packages to include in the deployed graph.", + "name": "error_message", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Filters", - "is_object": true + "is_string": true } }, { - "name": "gateway_definition", - "description": "The definition of a gateway pipeline to support change data capture.", + "name": "gcp_endpoint", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "IngestionGatewayPipelineDefinition", + "pascal_name": "GcpEndpoint", "is_object": true } }, { - "name": "id", - "description": "Unique identifier for this pipeline.", + "name": "group_id", + "description": "Not used by customer-managed private endpoint services.\n\nThe sub-resource type (group ID) of the target resource.\nNote that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "ingestion_definition", - "description": "The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.", + "name": "resource_id", + "description": "The Azure resource ID of the target resource.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "IngestionPipelineDefinition", - "is_object": true + "is_string": true } }, { - "name": "libraries", - "description": "Libraries or code needed by this deployment.", + "name": "resource_names", + "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", "is_request_body_field": true, "entity": { - "pascal_name": "PipelineLibraryList", + "pascal_name": "List", "array_value": { - "pascal_name": "PipelineLibrary", - "is_object": true + "is_string": true } } - }, + } + ], + "required_positional_arguments": [ { - "name": "name", - "description": "Friendly identifier for this pipeline.", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "notifications", - "description": "List of notification settings for this pipeline.", - "is_request_body_field": true, - "entity": { - "pascal_name": "NotificationsList", - "array_value": { - "pascal_name": "Notifications", - "is_object": true + } + ] + }, + { + "name": "DeleteNetworkConnectivityConfiguration", + "description": "Deletes a network connectivity configuration.", + "summary": "Delete a network connectivity configuration.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteNetworkConnectivityConfigurationRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - }, - { - "name": "parameters", - "description": "Key/value map of default parameters to use for pipeline execution.\nMaximum total size: 10k characters (JSON format)", - "is_request_body_field": true, - "entity": { - "map_value": { + ], + "required_in_url_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, + "entity": { "is_string": true } } - }, - { - "name": "photon", - "description": "Whether Photon is enabled for this pipeline.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ { - "name": "pipeline_id", - "description": "Unique identifier for this pipeline.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "restart_window", - "description": "Restart window of this pipeline.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RestartWindow", - "is_object": true - } - }, + } + ], + "required_positional_arguments": [ { - "name": "root_path", - "description": "Root path for this pipeline.\nThis is used as the root directory when editing the pipeline in the Databricks user interface and it is\nadded to sys.path when executing Python sources during pipeline execution.", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "run_as", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RunAs", - "is_object": true + } + ] + }, + { + "name": "DeletePrivateEndpointRule", + "description": "Initiates deleting a private endpoint rule. If the connection state is PENDING or EXPIRED,\nthe private endpoint is immediately deleted. Otherwise, the private endpoint is deactivated\nand will be deleted after one day of deactivation. When a private endpoint is deactivated,\nthe `deactivated` field is set to `true` and the private endpoint is not\navailable to your serverless compute resources.", + "summary": "Delete a private endpoint rule.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeletePrivateEndpointRuleRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ], + "required_in_url_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "NccPrivateEndpointRule", + "is_object": true + }, + "all_fields": [ { - "name": "schema", - "description": "The default schema (database) where tables are read from or published to.", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "serverless", - "description": "Whether serverless compute is enabled for this pipeline.", - "is_request_body_field": true, + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "serverless_compute_id", - "description": "Serverless compute ID specified by the user for serverless pipelines.", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "storage", - "description": "DBFS root directory for storing checkpoints and tables.", - "is_request_body_field": true, + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "tags", - "description": "A map of tags associated with the pipeline.\nThese are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.\nA maximum of 25 tags can be added to the pipeline.", - "is_request_body_field": true, - "entity": { - "map_value": { + } + ] + }, + { + "name": "GetNetworkConnectivityConfiguration", + "description": "Gets a network connectivity configuration.", + "summary": "Get a network connectivity configuration.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetNetworkConnectivityConfigurationRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, + "entity": { "is_string": true } } - }, - { - "name": "target", - "description": "Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "trigger", - "description": "Which pipeline trigger to use. Deprecated: Use `continuous` instead.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PipelineTrigger", - "is_object": true + ], + "required_in_url_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "NetworkConnectivityConfiguration", + "is_object": true + }, + "all_fields": [ { - "name": "usage_policy_id", - "description": "Usage policy of this pipeline.", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -159228,8 +158609,8 @@ ], "required_positional_arguments": [ { - "name": "pipeline_id", - "description": "Unique identifier for this pipeline.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectivity Configuration ID.", "required": true, "is_path": true, "entity": { @@ -159239,21 +158620,29 @@ ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a pipeline. Pipelines can inherit permissions from their root object.", - "summary": "Update pipeline permissions.", - "path": "/api/2.0/permissions/pipelines/{pipeline_id}", - "can_use_json": true, + "name": "GetPrivateEndpointRule", + "description": "Gets the private endpoint rule.", + "summary": "Gets a private endpoint rule.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PipelinePermissionsRequest", + "pascal_name": "GetPrivateEndpointRuleRequest", "is_object": true, "required_fields": [ { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", "required": true, "is_path": true, "entity": { @@ -159263,8 +158652,17 @@ ], "required_in_url_fields": [ { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", "required": true, "is_path": true, "entity": { @@ -159274,24 +158672,22 @@ ] }, "response": { - "pascal_name": "PipelinePermissions", + "pascal_name": "NccPrivateEndpointRule", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "PipelineAccessControlRequestList", - "array_value": { - "pascal_name": "PipelineAccessControlRequest", - "is_object": true - } + "is_string": true } }, { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", "required": true, "is_path": true, "entity": { @@ -159301,8 +158697,17 @@ ], "required_positional_arguments": [ { - "name": "pipeline_id", - "description": "The pipeline for which to get or manage permissions.", + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", "required": true, "is_path": true, "entity": { @@ -159310,514 +158715,6948 @@ } } ] - } - ] - }, - { - "id": "catalog.Policies", - "name": "Policies", - "description": "Attribute-Based Access Control (ABAC) provides high leverage governance for enforcing compliance policies in Unity Catalog. With ABAC policies, access is controlled in a hierarchical and scalable manner, based on data attributes rather than specific resources, enabling more flexible and comprehensive access control. ABAC policies in Unity Catalog support conditions on securable properties, governance tags, and environment contexts. Callers must have the `MANAGE` privilege on a securable to view, create, update, or delete ABAC policies.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListPoliciesRequest" - } - }, - "methods": [ + }, { - "name": "CreatePolicy", - "description": "Creates a new policy on a securable.\nThe new policy applies to the securable and all its descendants.", - "summary": "Create an ABAC policy.", - "path": "/api/2.1/unity-catalog/policies", - "can_use_json": true, - "is_crud_create": true, + "name": "ListNetworkConnectivityConfigurations", + "description": "Gets an array of network connectivity configurations.", + "summary": "List network connectivity configurations.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreatePolicyRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "policy_info", - "description": "Required. The policy to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PolicyInfo", - "is_object": true - } + "pascal_name": "ListNetworkConnectivityConfigurationsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListNetworkConnectivityConfigurationsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_token", + "description": "Pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListPrivateEndpointRules", + "description": "Gets an array of private endpoint rules.", + "summary": "List private endpoint rules.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPrivateEndpointRulesRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListPrivateEndpointRulesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "page_token", + "description": "Pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "network_connectivity_config_id", + "description": "Your Network Connectvity Configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "UpdatePrivateEndpointRule", + "description": "Updates a private endpoint rule. Currently only a private endpoint rule to customer-managed resources is allowed to be updated.", + "summary": "Update a private endpoint rule.", + "path": "/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-endpoint-rules/{private_endpoint_rule_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateNccPrivateEndpointRuleRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "network_connectivity_config_id", + "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UpdatePrivateEndpointRule", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "network_connectivity_config_id", + "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } ], "required_request_body_fields": [ { - "name": "policy_info", - "description": "Required. The policy to create.", + "name": "private_endpoint_rule", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyInfo", + "pascal_name": "UpdatePrivateEndpointRule", "is_object": true } } ] }, "request_body_field": { - "name": "policy_info", - "description": "Required. The policy to create.", + "name": "private_endpoint_rule", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - } - ] + "pascal_name": "UpdatePrivateEndpointRule", + "is_object": true } }, "response": { - "pascal_name": "PolicyInfo", + "pascal_name": "NccPrivateEndpointRule", + "is_object": true + }, + "all_fields": [ + { + "name": "network_connectivity_config_id", + "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UpdatePrivateEndpointRule", + "is_object": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "domain_names", + "description": "Only used by private endpoints to customer-managed private endpoint services.\n\nDomain names of target private link service.\nWhen updating this field, the full list of target domain_names must be specified.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "enabled", + "description": "Update this field to activate/deactivate this private endpoint to allow egress access from\nserverless compute resources. Only honored for first-party services on each cloud (e.g. AWS S3).", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "error_message", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "gcp_endpoint", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GcpEndpoint", + "is_object": true + } + }, + { + "name": "resource_names", + "description": "Only used by private endpoints towards AWS S3 service.\n\nThe globally unique S3 bucket names that will be accessed via the VPC endpoint.\nThe bucket names must be in the same region as the NCC/endpoint service.\nWhen updating this field, we perform full update on this field. Please ensure a full list of desired\nresource_names is provided.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_positional_arguments": [ + { + "name": "network_connectivity_config_id", + "description": "The ID of a network connectivity configuration, which is the parent resource of this private endpoint rule object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "private_endpoint_rule_id", + "description": "Your private endpoint rule ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "settings.NetworkPolicies", + "name": "NetworkPolicies", + "description": "These APIs manage network policies for this account. Network policies control which network destinations can be accessed from the Databricks environment. Each Databricks account includes a default policy named 'default-policy'. 'default-policy' is associated with any workspace lacking an explicit network policy assignment, and is automatically associated with each newly created workspace. 'default-policy' is reserved and cannot be deleted, but it can be updated to customize the default network access rules for your account.", + "package": { + "name": "settings" + }, + "is_accounts": true, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "CreateNetworkPolicyRpc", + "description": "Creates a new network policy to manage which network destinations can be accessed from the Databricks\nenvironment.", + "summary": "Create a network policy.", + "path": "/api/2.0/accounts/{account_id}/network-policies", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateNetworkPolicyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "name": "network_policy", + "description": "Network policy configuration details.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "AccountNetworkPolicy", + "is_object": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "for_securable_type", - "description": "Type of securables that the policy should take effect on.\nRequired on create and optional on update.", + "name": "network_policy", + "description": "Network policy configuration details.", "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "pascal_name": "AccountNetworkPolicy", + "is_object": true } - }, + } + ] + }, + "request_body_field": { + "name": "network_policy", + "description": "Network policy configuration details.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + } + }, + "response": { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + }, + "all_fields": [ + { + "name": "network_policy", + "description": "Network policy configuration details.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + } + }, + { + "name": "account_id", + "description": "The associated account ID for this Network Policy object.", + "is_computed": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "egress", + "description": "The network policies applying for egress traffic.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "NetworkPolicyEgress", + "is_object": true + } + }, + { + "name": "ingress", + "description": "The network policies applying for ingress traffic.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CustomerFacingIngressNetworkPolicy", + "is_object": true + } + }, + { + "name": "ingress_dry_run", + "description": "The ingress policy for dry run mode. Dry run will always run even if the request\nis allowed by the ingress policy. When this field is set, the policy will be evaluated\nand emit logs only without blocking requests.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CustomerFacingIngressNetworkPolicy", + "is_object": true + } + }, + { + "name": "network_policy_id", + "description": "The unique identifier for the network policy.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "DeleteNetworkPolicyRpc", + "description": "Deletes a network policy. Cannot be called on 'default-policy'.", + "summary": "Delete a network policy.", + "path": "/api/2.0/accounts/{account_id}/network-policies/{network_policy_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteNetworkPolicyRequest", + "is_object": true, + "required_fields": [ { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "network_policy_id", + "description": "The unique identifier of the network policy to delete.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "name": "network_policy_id", + "description": "The unique identifier of the network policy to delete.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "network_policy_id", + "description": "The unique identifier of the network policy to delete.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "network_policy_id", + "description": "The unique identifier of the network policy to delete.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetNetworkPolicyRpc", + "description": "Gets a network policy.", + "summary": "Get a network policy.", + "path": "/api/2.0/accounts/{account_id}/network-policies/{network_policy_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetNetworkPolicyRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_policy_id", + "description": "The unique identifier of the network policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "network_policy_id", + "description": "The unique identifier of the network policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + }, + "all_fields": [ + { + "name": "network_policy_id", + "description": "The unique identifier of the network policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "network_policy_id", + "description": "The unique identifier of the network policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "ListNetworkPoliciesRpc", + "description": "Gets an array of network policies.", + "summary": "List network policies.", + "path": "/api/2.0/accounts/{account_id}/network-policies", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListNetworkPoliciesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListNetworkPoliciesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_token", + "description": "Pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "UpdateNetworkPolicyRpc", + "description": "Updates a network policy. This allows you to modify the configuration of a network policy.", + "summary": "Update a network policy.", + "path": "/api/2.0/accounts/{account_id}/network-policies/{network_policy_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateNetworkPolicyRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "network_policy_id", + "description": "The unique identifier for the network policy.", + "required": true, + "is_path": true, + "entity": { + "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.", + "name": "network_policy", + "description": "Updated network policy configuration details.", "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "pascal_name": "AccountNetworkPolicy", + "is_object": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "network_policy_id", + "description": "The unique identifier for the network policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "network_policy", + "description": "Updated network policy configuration details.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "pascal_name": "AccountNetworkPolicy", + "is_object": true } } ] }, + "request_body_field": { + "name": "network_policy", + "description": "Updated network policy configuration details.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + } + }, + "response": { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + }, "all_fields": [ { - "name": "policy_info", - "description": "Required. The policy to create.", + "name": "network_policy", + "description": "Updated network policy configuration details.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "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" - }, - { + "pascal_name": "AccountNetworkPolicy", + "is_object": true + } + }, + { + "name": "network_policy_id", + "description": "The unique identifier for the network policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_id", + "description": "The associated account ID for this Network Policy object.", + "is_computed": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "egress", + "description": "The network policies applying for egress traffic.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "NetworkPolicyEgress", + "is_object": true + } + }, + { + "name": "ingress", + "description": "The network policies applying for ingress traffic.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CustomerFacingIngressNetworkPolicy", + "is_object": true + } + }, + { + "name": "ingress_dry_run", + "description": "The ingress policy for dry run mode. Dry run will always run even if the request\nis allowed by the ingress policy. When this field is set, the policy will be evaluated\nand emit logs only without blocking requests.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CustomerFacingIngressNetworkPolicy", + "is_object": true + } + }, + { + "name": "network_policy_id", + "description": "The unique identifier for the network policy.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "network_policy_id", + "description": "The unique identifier for the network policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "provisioning.Networks", + "name": "Networks", + "description": "These APIs manage network configurations for customer-managed VPCs (optional). Its ID is\nused when creating a new workspace if you use customer-managed VPCs.", + "package": { + "name": "provisioning" + }, + "is_accounts": true, + "docs_group": "provisioning", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "Create", + "description": "Creates a Databricks network configuration that represents an VPC and its resources. The VPC will be used for new Databricks clusters. This requires a pre-existing VPC and subnets.", + "summary": "Create network configuration.", + "path": "/api/2.0/accounts/{account_id}/networks", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateNetworkRequest", + "is_object": true + }, + "response": { + "pascal_name": "Network", + "is_object": true + }, + "all_fields": [ + { + "name": "gcp_network_info", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GcpNetworkInfo", + "is_object": true + } + }, + { + "name": "network_name", + "description": "The human-readable name of the network configuration.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "security_group_ids", + "description": "IDs of one to five security groups associated with this network. Security group IDs **cannot** be used in multiple network configurations.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "subnet_ids", + "description": "IDs of at least two subnets associated with this network. Subnet IDs **cannot** be used in multiple network configurations.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "vpc_endpoints", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "NetworkVpcEndpoints", + "is_object": true + } + }, + { + "name": "vpc_id", + "description": "The ID of the VPC associated with this network configuration. VPC IDs can be used in multiple networks.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Delete", + "description": "Deletes a Databricks network configuration, which represents a cloud VPC and its resources. You cannot delete a network that is associated with a workspace.\n\nThis operation is available only if your account is on the E2 version of the platform.", + "summary": "Delete a network configuration.", + "path": "/api/2.0/accounts/{account_id}/networks/{network_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteNetworkRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Network", + "is_object": true + }, + "all_fields": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Gets a Databricks network configuration, which represents a cloud VPC and its resources.", + "summary": "Get a network configuration.", + "path": "/api/2.0/accounts/{account_id}/networks/{network_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetNetworkRequest", + "is_object": true, + "required_fields": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Network", + "is_object": true + }, + "all_fields": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "network_id", + "description": "Databricks Account API network configuration ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "Lists Databricks network configurations for an account.", + "summary": "List network configurations.", + "path": "/api/2.0/accounts/{account_id}/networks", + "is_legacy_empty_request": true, + "is_crud_read": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListNetworksRequest", + "is_object": true + }, + "response": { + "pascal_name": "NetworkList", + "array_value": { + "pascal_name": "Network", + "is_object": true + } + } + } + ] + }, + { + "id": "settings.NotificationDestinations", + "name": "NotificationDestinations", + "description": "The notification destinations API lets you programmatically manage a workspace's notification destinations.\nNotification destinations are used to send notifications for query alerts and jobs to destinations outside of Databricks.\nOnly workspace admins can create, update, and delete notification destinations.", + "package": { + "name": "settings" + }, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListNotificationDestinationsRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a notification destination. Requires workspace admin permissions.", + "summary": "Create a notification destination.", + "path": "/api/2.0/notification-destinations", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateNotificationDestinationRequest", + "is_object": true + }, + "response": { + "pascal_name": "NotificationDestination", + "is_object": true + }, + "all_fields": [ + { + "name": "config", + "description": "The configuration for the notification destination. Must wrap EXACTLY one of the nested configs.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Config", + "is_object": true + } + }, + { + "name": "display_name", + "description": "The display name for the notification destination.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Delete", + "description": "Deletes a notification destination. Requires workspace admin permissions.", + "summary": "Delete a notification destination.", + "path": "/api/2.0/notification-destinations/{id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteNotificationDestinationRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Empty", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Gets a notification destination.", + "summary": "Get a notification destination.", + "path": "/api/2.0/notification-destinations/{id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetNotificationDestinationRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "NotificationDestination", + "is_object": true + }, + "all_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "Lists notification destinations.", + "summary": "List notification destinations.", + "path": "/api/2.0/notification-destinations", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListNotificationDestinationsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListNotificationDestinationsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "Update", + "description": "Updates a notification destination. Requires workspace admin permissions. At least one field is required in the request body.", + "summary": "Update a notification destination.", + "path": "/api/2.0/notification-destinations/{id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateNotificationDestinationRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "description": "UUID identifying notification destination.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "description": "UUID identifying notification destination.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "NotificationDestination", + "is_object": true + }, + "all_fields": [ + { + "name": "config", + "description": "The configuration for the notification destination. Must wrap EXACTLY one of the nested configs.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Config", + "is_object": true + } + }, + { + "name": "display_name", + "description": "The display name for the notification destination.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "id", + "description": "UUID identifying notification destination.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "id", + "description": "UUID identifying notification destination.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "oauth2.OAuthPublishedApps", + "name": "OAuthPublishedApps", + "description": "These APIs enable administrators to view all the available published OAuth applications in Databricks.\nAdministrators can add the published OAuth applications to their account through the OAuth Published App Integration APIs.", + "package": { + "name": "oauth2" + }, + "is_accounts": true, + "docs_group": "oauth2", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListOAuthPublishedAppsRequest" + } + }, + "methods": [ + { + "name": "List", + "description": "Get all the available published OAuth apps in Databricks.", + "summary": "Get all the published OAuth apps.", + "path": "/api/2.0/accounts/{account_id}/oauth2/published-apps", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListOAuthPublishedAppsRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetPublishedAppsOutput", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "The max number of OAuth published apps to return in one page.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A token that can be used to get the next page of results.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A token that can be used to get the next page of results.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + } + ] + }, + { + "id": "catalog.OnlineTables", + "name": "OnlineTables", + "description": "Online tables provide lower latency and higher QPS access to data from Delta tables.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "methods": [ + { + "name": "Create", + "description": "Create a new Online Table.", + "summary": "Create an Online Table.", + "path": "/api/2.0/online-tables", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "CreateOnlineTableRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "table", + "description": "Specification of the online table to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "OnlineTable", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "table", + "description": "Specification of the online table to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "OnlineTable", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "table", + "description": "Specification of the online table to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "OnlineTable", + "is_object": true + } + }, + "response": { + "pascal_name": "OnlineTable", + "is_object": true + }, + "all_fields": [ + { + "name": "table", + "description": "Specification of the online table to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "OnlineTable", + "is_object": true + } + }, + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "Specification of the online table.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "OnlineTableSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "Online Table data synchronization status", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "OnlineTableStatus", + "is_object": true + } + }, + { + "name": "table_serving_url", + "description": "Data serving REST API URL for this table", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "unity_catalog_provisioning_state", + "description": "The provisioning state of the online table entity in Unity Catalog. This is distinct from the\nstate of the data synchronization pipeline (i.e. the table may be in \"ACTIVE\" but the pipeline\nmay be in \"PROVISIONING\" as it runs asynchronously).", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ProvisioningInfoState", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "DEGRADED" + }, + { + "content": "DELETING" + }, + { + "content": "FAILED" + }, + { + "content": "PROVISIONING" + }, + { + "content": "UPDATING" + } + ] + } + } + ], + "wait": { + "success": [ + { + "content": "ACTIVE" + } + ], + "timeout": 20, + "poll": { + "response": { + "pascal_name": "OnlineTable" + } + }, + "status_path": [ + { + "pascal_name": "UnityCatalogProvisioningState" + } + ] + } + }, + { + "name": "Delete", + "description": "Delete an online table.\nWarning: This will delete all the data in the online table. If the source Delta table was\ndeleted or modified since this Online Table was created, this will lose the data forever!", + "summary": "Delete an Online Table.", + "path": "/api/2.0/online-tables/{name}", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "DeleteOnlineTableRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Get information about an existing online table and its status.", + "summary": "Get an Online Table.", + "path": "/api/2.0/online-tables/{name}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetOnlineTableRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "OnlineTable", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Full three-part (catalog, schema, table) name of the table.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "iam.PermissionMigration", + "name": "PermissionMigration", + "description": "APIs for migrating acl permissions, used only by the ucx tool: https://github.com/databrickslabs/ucx", + "package": { + "name": "iam" + }, + "is_hidden_cli": true, + "docs_group": "iam", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "methods": [ + { + "name": "MigratePermissions", + "description": "Migrate Permissions.", + "summary": "Migrate Permissions.", + "path": "/api/2.0/permissionmigration", + "can_use_json": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "MigratePermissionsRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "workspace_id", + "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "from_workspace_group_name", + "description": "The name of the workspace group that permissions will be migrated from.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "to_account_group_name", + "description": "The name of the account group that permissions will be migrated to.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "workspace_id", + "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "from_workspace_group_name", + "description": "The name of the workspace group that permissions will be migrated from.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "to_account_group_name", + "description": "The name of the account group that permissions will be migrated to.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "MigratePermissionsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "from_workspace_group_name", + "description": "The name of the workspace group that permissions will be migrated from.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "size", + "description": "The maximum number of permissions that will be migrated.", + "is_request_body_field": true, + "entity": { + "is_int": true + } + }, + { + "name": "to_account_group_name", + "description": "The name of the account group that permissions will be migrated to.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_id", + "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_positional_arguments": [ + { + "name": "workspace_id", + "description": "WorkspaceId of the associated workspace where the permission migration will occur.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "from_workspace_group_name", + "description": "The name of the workspace group that permissions will be migrated from.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "to_account_group_name", + "description": "The name of the account group that permissions will be migrated to.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "iam.Permissions", + "name": "Permissions", + "description": "Permissions API are used to create read, write, edit, update and manage access for various users on different objects and endpoints.\n* **[Apps permissions](:service:apps)** — Manage which users can manage or use apps.\n* **[Cluster permissions](:service:clusters)** — Manage which users can manage, restart, or attach to clusters.\n* **[Cluster policy permissions](:service:clusterpolicies)** — Manage which users can use cluster policies.\n* **[Spark Declarative Pipelines permissions](:service:pipelines)** — Manage which users can view, manage, run, cancel, or own a Spark Declarative Pipeline.\n* **[Job permissions](:service:jobs)** — Manage which users can view, manage, trigger, cancel, or own a job.\n* **[MLflow experiment permissions](:service:experiments)** — Manage which users can read, edit, or manage MLflow experiments.\n* **[MLflow registered model permissions](:service:modelregistry)** — Manage which users can read, edit, or manage MLflow registered models.\n* **[Instance Pool permissions](:service:instancepools)** — Manage which users can manage or attach to pools.\n* **[Repo permissions](repos)** — Manage which users can read, run, edit, or manage a repo.\n* **[Serving endpoint permissions](:service:servingendpoints)** — Manage which users can view, query, or manage a serving endpoint.\n* **[SQL warehouse permissions](:service:warehouses)** — Manage which users can use or manage SQL warehouses.\n* **[Token permissions](:service:tokenmanagement)** — Manage which users can create or use tokens.\n* **[Workspace object permissions](:service:workspace)** — Manage which users can read, run, edit, or manage alerts, dbsql-dashboards, directories, files, notebooks and queries.\nFor the mapping of the required permissions for specific actions or abilities and other important information, see [Access Control](https://docs.databricks.com/security/auth-authz/access-control/index.html).\nNote that to manage access control on service principals, use **[Account Access Control Proxy](:service:accountaccesscontrolproxy)**.", + "package": { + "name": "iam" + }, + "docs_group": "iam", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "Get", + "description": "Gets the permissions of an object. Objects can inherit permissions from their parent objects or root object.", + "summary": "Get object permissions.", + "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPermissionRequest", + "is_object": true, + "required_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ObjectPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get object permission levels.", + "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}/permissionLevels", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPermissionLevelsRequest", + "is_object": true, + "required_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetPermissionLevelsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "request_object_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Set", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their parent objects or root object.", + "summary": "Set object permissions.", + "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "SetObjectPermissions", + "is_object": true, + "required_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ObjectPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "AccessControlRequestList", + "array_value": { + "pascal_name": "AccessControlRequest", + "is_object": true + } + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Update", + "description": "Updates the permissions on an object. Objects can inherit permissions from their parent objects or root object.", + "summary": "Update object permissions.", + "path": "/api/2.0/permissions/{request_object_type}/{request_object_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateObjectPermissions", + "is_object": true, + "required_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ObjectPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "AccessControlRequestList", + "array_value": { + "pascal_name": "AccessControlRequest", + "is_object": true + } + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "request_object_type", + "description": "The type of the request object. Can be one of the following: alerts, alertsv2, authorization, clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, supervisor-agents, vector-search-endpoints, or warehouses.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_object_id", + "description": "The id of the request object.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "settings.PersonalCompute", + "name": "PersonalCompute", + "description": "The Personal Compute enablement setting lets you control which users can use the Personal Compute default policy to create compute resources.\nBy default all users in all workspaces have access (ON), but you can change the setting to instead let individual workspaces configure access control (DELEGATE).\n\nThere is only one instance of this setting per account.\nSince this setting has a default value, this setting is present on all accounts even though it's never set on a given account.\nDeletion reverts the value of the setting back to the default value.", + "package": { + "name": "settings" + }, + "is_accounts": true, + "has_parent": true, + "is_hidden_cli": true, + "docs_group": "settings", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "parent_service_id": "settings.AccountSettings", + "methods": [ + { + "name": "Delete", + "description": "Reverts back the Personal Compute setting value to default (ON)", + "summary": "Delete Personal Compute setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/dcp_acct_enable/names/default", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "DeletePersonalComputeSettingRequest", + "is_object": true + }, + "response": { + "pascal_name": "DeletePersonalComputeSettingResponse", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "all_fields": [ + { + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Gets the value of the Personal Compute setting.", + "summary": "Get Personal Compute setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/dcp_acct_enable/names/default", + "is_crud_read": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GetPersonalComputeSettingRequest", + "is_object": true + }, + "response": { + "pascal_name": "PersonalComputeSetting", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "personal_compute", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "personal_compute", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeMessage", + "is_object": true + } + } + ] + }, + "all_fields": [ + { + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Update", + "description": "Updates the value of the Personal Compute setting.", + "summary": "Update Personal Compute setting.", + "path": "/api/2.0/accounts/{account_id}/settings/types/dcp_acct_enable/names/default", + "can_use_json": true, + "must_use_json": true, + "is_hidden_cli": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "UpdatePersonalComputeSettingRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeSetting", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeSetting", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PersonalComputeSetting", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "personal_compute", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "personal_compute", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeMessage", + "is_object": true + } + } + ] + }, + "all_fields": [ + { + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalComputeSetting", + "is_object": true + } + } + ] + } + ] + }, + { + "id": "pipelines.Pipelines", + "name": "Pipelines", + "description": "The Lakeflow Spark Declarative Pipelines API allows you to create, edit, delete, start, and view details about pipelines.\n\nSpark Declarative Pipelines is a framework for building reliable, maintainable, and testable data processing pipelines. You define the transformations to perform on your data, and Spark Declarative Pipelines manages task orchestration, cluster management, monitoring, data quality, and error handling.\n\nInstead of defining your data pipelines using a series of separate Apache Spark tasks, Spark Declarative Pipelines manages how your data is transformed based on a target schema you define for each processing step. You can also enforce data quality with Spark Declarative Pipelines expectations. Expectations allow you to define expected data quality and specify how to handle records that fail those expectations.", + "package": { + "name": "pipelines" + }, + "docs_group": "lakeflow", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "PipelineStateInfoNameToPipelineIdMap" + }, + "request": { + "pascal_name": "ListPipelinesRequest" + } + }, + "methods": [ + { + "name": "ApplyEnvironment", + "description": "*\nApplies the current pipeline environment onto the pipeline compute. The environment applied can be used by subsequent\ndev-mode updates.", + "summary": "Apply the latest environment to the pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}/environment/apply", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "ApplyEnvironmentRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ApplyEnvironmentRequestResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Clone", + "description": "Creates a new pipeline using Unity Catalog from a pipeline using Hive Metastore.\nThis method returns the ID of the newly created clone.\nAdditionally, this method starts an update for the newly created pipeline.", + "summary": "Clone a pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}/clone", + "can_use_json": true, + "must_use_json": true, + "is_json_only": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ClonePipelineRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "Source pipeline to clone from", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "Source pipeline to clone from", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ClonePipelineResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "allow_duplicate_names", + "description": "If false, deployment will fail if name conflicts with that of another pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "budget_policy_id", + "description": "Budget policy of this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog", + "description": "A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "channel", + "description": "SDP Release Channel that specifies which version to use.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "clone_mode", + "description": "The type of clone to perform. Currently, only deep copies are supported", + "is_request_body_field": true, + "entity": { + "pascal_name": "CloneMode", + "enum": [ + { + "content": "MIGRATE_TO_UC" + } + ] + } + }, + { + "name": "clusters", + "description": "Cluster settings for this pipeline deployment.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineClusterList", + "array_value": { + "pascal_name": "PipelineCluster", + "is_object": true + } + } + }, + { + "name": "configuration", + "description": "String-String configuration for this pipeline execution.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "continuous", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "deployment", + "description": "Deployment type of this pipeline.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineDeployment", + "is_object": true + } + }, + { + "name": "development", + "description": "Whether the pipeline is in Development mode. Defaults to false.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "edition", + "description": "Pipeline product edition.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "environment", + "description": "Environment specification for this pipeline used to install dependencies.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelinesEnvironment", + "is_object": true + } + }, + { + "name": "event_log", + "description": "Event log configuration for this pipeline", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EventLogSpec", + "is_object": true + } + }, + { + "name": "expected_last_modified", + "description": "If present, the last-modified time of the pipeline settings before the clone.\nIf the settings were modified after that time, then the request will fail with\na conflict.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "filters", + "description": "Filters on which Pipeline packages to include in the deployed graph.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Filters", + "is_object": true + } + }, + { + "name": "gateway_definition", + "description": "The definition of a gateway pipeline to support change data capture.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IngestionGatewayPipelineDefinition", + "is_object": true + } + }, + { + "name": "id", + "description": "Unique identifier for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "ingestion_definition", + "description": "The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IngestionPipelineDefinition", + "is_object": true + } + }, + { + "name": "libraries", + "description": "Libraries or code needed by this deployment.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineLibraryList", + "array_value": { + "pascal_name": "PipelineLibrary", + "is_object": true + } + } + }, + { + "name": "name", + "description": "Friendly identifier for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "notifications", + "description": "List of notification settings for this pipeline.", + "is_request_body_field": true, + "entity": { + "pascal_name": "NotificationsList", + "array_value": { + "pascal_name": "Notifications", + "is_object": true + } + } + }, + { + "name": "photon", + "description": "Whether Photon is enabled for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "pipeline_id", + "description": "Source pipeline to clone from", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "restart_window", + "description": "Restart window of this pipeline.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RestartWindow", + "is_object": true + } + }, + { + "name": "root_path", + "description": "Root path for this pipeline.\nThis is used as the root directory when editing the pipeline in the Databricks user interface and it is\nadded to sys.path when executing Python sources during pipeline execution.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema", + "description": "The default schema (database) where tables are read from or published to.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "serverless", + "description": "Whether serverless compute is enabled for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "serverless_compute_id", + "description": "Serverless compute ID specified by the user for serverless pipelines.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage", + "description": "DBFS root directory for storing checkpoints and tables.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tags", + "description": "A map of tags associated with the pipeline.\nThese are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.\nA maximum of 25 tags can be added to the pipeline.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "target", + "description": "Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "trigger", + "description": "Which pipeline trigger to use. Deprecated: Use `continuous` instead.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineTrigger", + "is_object": true + } + }, + { + "name": "usage_policy_id", + "description": "Usage policy of this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "Source pipeline to clone from", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Create", + "description": "Creates a new data processing pipeline based on the requested configuration. If successful, this method returns\nthe ID of the new pipeline.", + "summary": "Create a pipeline.", + "path": "/api/2.0/pipelines", + "can_use_json": true, + "must_use_json": true, + "is_json_only": true, + "is_crud_create": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreatePipeline", + "is_object": true + }, + "response": { + "pascal_name": "CreatePipelineResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "allow_duplicate_names", + "description": "If false, deployment will fail if name conflicts with that of another pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "budget_policy_id", + "description": "Budget policy of this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog", + "description": "A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "channel", + "description": "SDP Release Channel that specifies which version to use.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "clusters", + "description": "Cluster settings for this pipeline deployment.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineClusterList", + "array_value": { + "pascal_name": "PipelineCluster", + "is_object": true + } + } + }, + { + "name": "configuration", + "description": "String-String configuration for this pipeline execution.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "continuous", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "deployment", + "description": "Deployment type of this pipeline.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineDeployment", + "is_object": true + } + }, + { + "name": "development", + "description": "Whether the pipeline is in Development mode. Defaults to false.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "dry_run", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "edition", + "description": "Pipeline product edition.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "environment", + "description": "Environment specification for this pipeline used to install dependencies.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelinesEnvironment", + "is_object": true + } + }, + { + "name": "event_log", + "description": "Event log configuration for this pipeline", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EventLogSpec", + "is_object": true + } + }, + { + "name": "filters", + "description": "Filters on which Pipeline packages to include in the deployed graph.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Filters", + "is_object": true + } + }, + { + "name": "gateway_definition", + "description": "The definition of a gateway pipeline to support change data capture.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IngestionGatewayPipelineDefinition", + "is_object": true + } + }, + { + "name": "id", + "description": "Unique identifier for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "ingestion_definition", + "description": "The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IngestionPipelineDefinition", + "is_object": true + } + }, + { + "name": "libraries", + "description": "Libraries or code needed by this deployment.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineLibraryList", + "array_value": { + "pascal_name": "PipelineLibrary", + "is_object": true + } + } + }, + { + "name": "name", + "description": "Friendly identifier for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "notifications", + "description": "List of notification settings for this pipeline.", + "is_request_body_field": true, + "entity": { + "pascal_name": "NotificationsList", + "array_value": { + "pascal_name": "Notifications", + "is_object": true + } + } + }, + { + "name": "parameters", + "description": "Key/value map of default parameters to use for pipeline execution.\nMaximum total size: 10k characters (JSON format)", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "photon", + "description": "Whether Photon is enabled for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "restart_window", + "description": "Restart window of this pipeline.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RestartWindow", + "is_object": true + } + }, + { + "name": "root_path", + "description": "Root path for this pipeline.\nThis is used as the root directory when editing the pipeline in the Databricks user interface and it is\nadded to sys.path when executing Python sources during pipeline execution.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "run_as", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RunAs", + "is_object": true + } + }, + { + "name": "schema", + "description": "The default schema (database) where tables are read from or published to.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "serverless", + "description": "Whether serverless compute is enabled for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "serverless_compute_id", + "description": "Serverless compute ID specified by the user for serverless pipelines.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage", + "description": "DBFS root directory for storing checkpoints and tables.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tags", + "description": "A map of tags associated with the pipeline.\nThese are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.\nA maximum of 25 tags can be added to the pipeline.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "target", + "description": "Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "trigger", + "description": "Which pipeline trigger to use. Deprecated: Use `continuous` instead.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineTrigger", + "is_object": true + } + }, + { + "name": "usage_policy_id", + "description": "Usage policy of this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Delete", + "description": "Deletes a pipeline. If the pipeline publishes to Unity Catalog, pipeline deletion will cascade to\nall pipeline tables. Please reach out to Databricks support for assistance to undo this action.", + "summary": "Delete a pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeletePipelineRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DeletePipelineResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ + { + "name": "cascade", + "description": "If false, pipeline deletion will not cascade to its datasets (MVs, STs, Views).\nBy default, this parameter will be true and all tables will be deleted with the pipeline.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "force", + "description": "If true, deletion will proceed even if resource cleanup fails.\nBy default, deletion will fail if resources cleanup is required but fails.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Get a pipeline.", + "summary": "Get a pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPipelineRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetPipelineResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get pipeline permission levels.", + "path": "/api/2.0/permissions/pipelines/{pipeline_id}/permissionLevels", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPipelinePermissionLevelsRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetPipelinePermissionLevelsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetPermissions", + "description": "Gets the permissions of a pipeline. Pipelines can inherit permissions from their root object.", + "summary": "Get pipeline permissions.", + "path": "/api/2.0/permissions/pipelines/{pipeline_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPipelinePermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PipelinePermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetUpdate", + "description": "Gets an update from an active pipeline.", + "summary": "Get a pipeline update.", + "path": "/api/2.0/pipelines/{pipeline_id}/updates/{update_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetUpdateRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The ID of the pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_id", + "description": "The ID of the update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The ID of the pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_id", + "description": "The ID of the update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetUpdateResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "pipeline_id", + "description": "The ID of the pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_id", + "description": "The ID of the update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The ID of the pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_id", + "description": "The ID of the update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "ListPipelineEvents", + "description": "Retrieves events for a pipeline.", + "summary": "List pipeline events.", + "path": "/api/2.0/pipelines/{pipeline_id}/events", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPipelineEventsRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline to return events for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline to return events for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListPipelineEventsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "filter", + "description": "Criteria to select a subset of results, expressed using a SQL-like syntax.\nThe supported filters are:\n1. level='INFO' (or WARN or ERROR)\n2. level in ('INFO', 'WARN')\n3. id='[event-id]'\n4. timestamp \u003e 'TIMESTAMP' (or \u003e=,\u003c,\u003c=,=)\n\nComposite expressions are supported, for example: level in ('ERROR', 'WARN')\nAND timestamp\u003e '2021-07-22T06:37:33.083Z'", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "max_results", + "description": "Max number of entries to return in a single page. The system may return\nfewer than max_results events in a response, even if there are more events\navailable.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "order_by", + "description": "A string indicating a sort order by timestamp for the results, for example, [\"timestamp asc\"].\nThe sort order can be ascending or descending. By default, events are returned\nin descending order by timestamp.", + "is_query": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "page_token", + "description": "Page token returned by previous call. This field is mutually\nexclusive with all fields in this request except max_results. An error is\nreturned if any fields other than max_results are set when this field is set.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "pipeline_id", + "description": "The pipeline to return events for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The pipeline to return events for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Page token returned by previous call. This field is mutually\nexclusive with all fields in this request except max_results. An error is\nreturned if any fields other than max_results are set when this field is set.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListPipelines", + "description": "Lists pipelines defined in the Spark Declarative Pipelines system.", + "summary": "List pipelines.", + "path": "/api/2.0/pipelines", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPipelinesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListPipelinesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "filter", + "description": "Select a subset of results based on the specified criteria.\nThe supported filters are:\n\n* `notebook='\u003cpath\u003e'` to select pipelines that reference the provided notebook path.\n* `name LIKE '[pattern]'` to select pipelines with a name that matches pattern.\nWildcards are supported, for example: `name LIKE '%shopping%'`\n\nComposite filters are not supported. This field is optional.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "max_results", + "description": "The maximum number of entries to return in a single page. The system may\nreturn fewer than max_results events in a response, even if there are\nmore events available. This field is optional. The default value is 25.\nThe maximum value is 100. An error is returned if the value of max_results\nis greater than 100.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "order_by", + "description": "A list of strings specifying the order of results.\nSupported order_by fields are id and name. The default is id asc.\nThis field is optional.", + "is_query": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "page_token", + "description": "Page token returned by previous call", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Page token returned by previous call", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListUpdates", + "description": "List updates for an active pipeline.", + "summary": "List pipeline updates.", + "path": "/api/2.0/pipelines/{pipeline_id}/updates", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListUpdatesRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline to return updates for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline to return updates for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListUpdatesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "max_results", + "description": "Max number of entries to return in a single page.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Page token returned by previous call", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "pipeline_id", + "description": "The pipeline to return updates for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "until_update_id", + "description": "If present, returns updates until and including this update_id.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The pipeline to return updates for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set pipeline permissions.", + "path": "/api/2.0/permissions/pipelines/{pipeline_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "PipelinePermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PipelinePermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineAccessControlRequestList", + "array_value": { + "pascal_name": "PipelineAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "StartUpdate", + "description": "Starts a new update for the pipeline. If there is already an active update for the pipeline, the request will fail and the active update will remain running.", + "summary": "Start a pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}/updates", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "StartUpdate", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "StartUpdateResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "cause", + "is_request_body_field": true, + "entity": { + "pascal_name": "StartUpdateCause", + "enum": [ + { + "content": "API_CALL" + }, + { + "content": "INFRASTRUCTURE_MAINTENANCE" + }, + { + "content": "JOB_TASK" + }, + { + "content": "RETRY_ON_FAILURE" + }, + { + "content": "SCHEMA_CHANGE" + }, + { + "content": "SERVICE_UPGRADE" + }, + { + "content": "USER_ACTION" + } + ] + } + }, + { + "name": "full_refresh", + "description": "If true, this update will reset all tables before running.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "full_refresh_selection", + "description": "A list of tables to update with fullRefresh. If both refresh_selection and\nfull_refresh_selection are empty, this is a full graph update. Full Refresh on a table means\nthat the states of the table will be reset before the refresh.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "parameters", + "description": "Key/value map of parameters to pass to the pipeline execution", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "refresh_selection", + "description": "A list of tables to update without fullRefresh. If both refresh_selection and\nfull_refresh_selection are empty, this is a full graph update. Full Refresh on a table means\nthat the states of the table will be reset before the refresh.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "replace_where_overrides", + "description": "A list of predicate overrides for replace_where flows in this update.\nOnly replace_where flows may be specified. Flows not listed use their original predicate.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ReplaceWhereOverrideList", + "array_value": { + "pascal_name": "ReplaceWhereOverride", + "is_object": true + } + } + }, + { + "name": "reset_checkpoint_selection", + "description": "A list of flows for which this update should reset the streaming checkpoint. This selection will not clear\nthe data in the flow's target table. Flows in this list may also appear in refresh_selection and full_refresh_selection.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "rewind_spec", + "description": "The information about the requested rewind operation.\nIf specified this is a rewind mode update.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RewindSpec", + "is_object": true + } + }, + { + "name": "validate_only", + "description": "If true, this update only validates the correctness of pipeline source code but does not materialize or publish any datasets.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Stop", + "description": "Stops the pipeline by canceling the active update. If there is no active update for the pipeline, this request is a no-op.", + "summary": "Stop a pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}/stop", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "StopRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "StopPipelineResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "wait": { + "success": [ + { + "content": "IDLE" + } + ], + "timeout": 20, + "poll": { + "response": { + "pascal_name": "GetPipelineResponse" + } + }, + "status_path": [ + { + "pascal_name": "State" + } + ], + "message_path": [ + { + "pascal_name": "Cause" + } + ], + "message_path_head": { + "pascal_name": "Cause" + } + } + }, + { + "name": "Update", + "description": "Updates a pipeline with the supplied configuration.", + "summary": "Edit a pipeline.", + "path": "/api/2.0/pipelines/{pipeline_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "EditPipeline", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "Unique identifier for this pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "Unique identifier for this pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "EditPipelineResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ + { + "name": "allow_duplicate_names", + "description": "If false, deployment will fail if name has changed and conflicts the name of another pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "budget_policy_id", + "description": "Budget policy of this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog", + "description": "A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "channel", + "description": "SDP Release Channel that specifies which version to use.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "clusters", + "description": "Cluster settings for this pipeline deployment.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineClusterList", + "array_value": { + "pascal_name": "PipelineCluster", + "is_object": true + } + } + }, + { + "name": "configuration", + "description": "String-String configuration for this pipeline execution.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "continuous", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "deployment", + "description": "Deployment type of this pipeline.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineDeployment", + "is_object": true + } + }, + { + "name": "development", + "description": "Whether the pipeline is in Development mode. Defaults to false.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "edition", + "description": "Pipeline product edition.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "environment", + "description": "Environment specification for this pipeline used to install dependencies.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelinesEnvironment", + "is_object": true + } + }, + { + "name": "event_log", + "description": "Event log configuration for this pipeline", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EventLogSpec", + "is_object": true + } + }, + { + "name": "expected_last_modified", + "description": "If present, the last-modified time of the pipeline settings before the edit.\nIf the settings were modified after that time, then the request will fail with\na conflict.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "filters", + "description": "Filters on which Pipeline packages to include in the deployed graph.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Filters", + "is_object": true + } + }, + { + "name": "gateway_definition", + "description": "The definition of a gateway pipeline to support change data capture.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IngestionGatewayPipelineDefinition", + "is_object": true + } + }, + { + "name": "id", + "description": "Unique identifier for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "ingestion_definition", + "description": "The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IngestionPipelineDefinition", + "is_object": true + } + }, + { + "name": "libraries", + "description": "Libraries or code needed by this deployment.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineLibraryList", + "array_value": { + "pascal_name": "PipelineLibrary", + "is_object": true + } + } + }, + { + "name": "name", + "description": "Friendly identifier for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "notifications", + "description": "List of notification settings for this pipeline.", + "is_request_body_field": true, + "entity": { + "pascal_name": "NotificationsList", + "array_value": { + "pascal_name": "Notifications", + "is_object": true + } + } + }, + { + "name": "parameters", + "description": "Key/value map of default parameters to use for pipeline execution.\nMaximum total size: 10k characters (JSON format)", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "photon", + "description": "Whether Photon is enabled for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "pipeline_id", + "description": "Unique identifier for this pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "restart_window", + "description": "Restart window of this pipeline.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RestartWindow", + "is_object": true + } + }, + { + "name": "root_path", + "description": "Root path for this pipeline.\nThis is used as the root directory when editing the pipeline in the Databricks user interface and it is\nadded to sys.path when executing Python sources during pipeline execution.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "run_as", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RunAs", + "is_object": true + } + }, + { + "name": "schema", + "description": "The default schema (database) where tables are read from or published to.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "serverless", + "description": "Whether serverless compute is enabled for this pipeline.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "serverless_compute_id", + "description": "Serverless compute ID specified by the user for serverless pipelines.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage", + "description": "DBFS root directory for storing checkpoints and tables.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tags", + "description": "A map of tags associated with the pipeline.\nThese are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.\nA maximum of 25 tags can be added to the pipeline.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + }, + { + "name": "target", + "description": "Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "trigger", + "description": "Which pipeline trigger to use. Deprecated: Use `continuous` instead.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PipelineTrigger", + "is_object": true + } + }, + { + "name": "usage_policy_id", + "description": "Usage policy of this pipeline.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "Unique identifier for this pipeline.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "UpdatePermissions", + "description": "Updates the permissions on a pipeline. Pipelines can inherit permissions from their root object.", + "summary": "Update pipeline permissions.", + "path": "/api/2.0/permissions/pipelines/{pipeline_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "PipelinePermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PipelinePermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "PipelineAccessControlRequestList", + "array_value": { + "pascal_name": "PipelineAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "pipeline_id", + "description": "The pipeline for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "catalog.Policies", + "name": "Policies", + "description": "Attribute-Based Access Control (ABAC) provides high leverage governance for enforcing compliance policies in Unity Catalog. With ABAC policies, access is controlled in a hierarchical and scalable manner, based on data attributes rather than specific resources, enabling more flexible and comprehensive access control. ABAC policies in Unity Catalog support conditions on securable properties, governance tags, and environment contexts. Callers must have the `MANAGE` privilege on a securable to view, create, update, or delete ABAC policies.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListPoliciesRequest" + } + }, + "methods": [ + { + "name": "CreatePolicy", + "description": "Creates a new policy on a securable.\nThe new policy applies to the securable and all its descendants.", + "summary": "Create an ABAC policy.", + "path": "/api/2.1/unity-catalog/policies", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreatePolicyRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "policy_info", + "description": "Required. The policy to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "policy_info", + "description": "Required. The policy to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "policy_info", + "description": "Required. The policy to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + } + }, + "response": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + }, + "all_fields": [ + { + "name": "policy_info", + "description": "Required. The policy to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + } + }, + { + "name": "column_mask", + "description": "Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.\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": "ColumnMaskOptions", + "is_object": true + } + }, + { + "name": "comment", + "description": "Optional description of the policy.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "created_at", + "description": "Time at which the policy was created, in epoch milliseconds. Output only.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "created_by", + "description": "Username of the user who created the policy. Output only.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "except_principals", + "description": "Optional list of user or group names that should be excluded from the policy.", + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "content": "SHARE" + }, + { + "content": "STAGING_TABLE" + }, + { + "content": "STORAGE_CREDENTIAL" + }, + { + "content": "TABLE" + }, + { + "content": "VOLUME" + } + ] + } + }, + { + "name": "grant", + "description": "Options for grant policies. Valid only if `policy_type` is `POLICY_TYPE_GRANT`.\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": "GrantOptions", + "is_object": true + } + }, + { + "name": "id", + "description": "Unique identifier of the policy. This field is output only and is generated by the system.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "match_columns", + "description": "Optional list of condition expressions used to match table columns.\nOnly valid when `for_securable_type` is `TABLE`.\nWhen specified, the policy only applies to tables whose columns satisfy all match conditions.", + "is_request_body_field": true, + "entity": { + "pascal_name": "MatchColumnList", + "array_value": { + "pascal_name": "MatchColumn", + "is_object": true + } + } + }, + { + "name": "name", + "description": "Name of the policy. Required on create and optional on update.\nTo rename the policy, set `name` to a different value on update.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Full name of the securable on which the policy is defined.\nRequired on create.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_type", + "description": "Type of the securable on which the policy is defined.\nOnly `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.\nRequired on create.", + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + }, + { + "name": "DeletePolicy", + "description": "Delete an ABAC policy defined on a securable.", + "summary": "Delete an ABAC policy.", + "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeletePolicyRequest", + "is_object": true, + "required_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to delete", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to delete", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DeletePolicyResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The name of the policy to delete", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_type", + "description": "Required. The type of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to delete the policy from.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to delete", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetPolicy", + "description": "Get the policy definition on a securable", + "summary": "Get an ABAC policy.", + "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPolicyRequest", + "is_object": true, + "required_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to retrieve the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to retrieve policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to retrieve the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to retrieve policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The name of the policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to retrieve policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_type", + "description": "Required. The type of the securable to retrieve the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to retrieve the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to retrieve policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to retrieve.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "ListPolicies", + "description": "List all policies defined on a securable.\nOptionally, the list can include inherited policies defined on the securable's parent schema or catalog.\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 ABAC policies.", + "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPoliciesRequest", + "is_object": true, + "required_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListPoliciesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "include_inherited", + "description": "Optional. Whether to include policies defined on parent securables.\nBy default, the inherited policies are not included.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "max_results", + "description": "Optional. Maximum number of policies to return on a single page (page length).\n- When not set or set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_type", + "description": "Required. The type of the securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "page_token", + "description": "Optional. Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of securable to list policies for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Optional. Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "UpdatePolicy", + "description": "Update an ABAC policy on a securable.", + "summary": "Update an ABAC policy.", + "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdatePolicyRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "policy_info", + "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "on_securable_type", + "description": "Required. The type of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "policy_info", + "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "policy_info", + "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + } + }, + "response": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The name of the policy to update.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_type", + "description": "Required. The type of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "policy_info", + "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PolicyInfo", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "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" }, { @@ -159873,526 +165712,3477 @@ ] } } - ], - "required_request_body_fields": [ + ] + } + }, + { + "name": "update_mask", + "description": "Optional. The update mask field for specifying user intentions on which\nfields to update in the request.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "column_mask", + "description": "Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.\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": "ColumnMaskOptions", + "is_object": true + } + }, + { + "name": "comment", + "description": "Optional description of the policy.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "created_at", + "description": "Time at which the policy was created, in epoch milliseconds. Output only.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "created_by", + "description": "Username of the user who created the policy. Output only.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "except_principals", + "description": "Optional list of user or group names that should be excluded from the policy.", + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "content": "SHARE" + }, + { + "content": "STAGING_TABLE" + }, + { + "content": "STORAGE_CREDENTIAL" + }, + { + "content": "TABLE" + }, + { + "content": "VOLUME" + } + ] + } + }, + { + "name": "grant", + "description": "Options for grant policies. Valid only if `policy_type` is `POLICY_TYPE_GRANT`.\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": "GrantOptions", + "is_object": true + } + }, + { + "name": "id", + "description": "Unique identifier of the policy. This field is output only and is generated by the system.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "match_columns", + "description": "Optional list of condition expressions used to match table columns.\nOnly valid when `for_securable_type` is `TABLE`.\nWhen specified, the policy only applies to tables whose columns satisfy all match conditions.", + "is_request_body_field": true, + "entity": { + "pascal_name": "MatchColumnList", + "array_value": { + "pascal_name": "MatchColumn", + "is_object": true + } + } + }, + { + "name": "name", + "description": "Name of the policy. Required on create and optional on update.\nTo rename the policy, set `name` to a different value on update.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Full name of the securable on which the policy is defined.\nRequired on create.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_type", + "description": "Type of the securable on which the policy is defined.\nOnly `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.\nRequired on create.", + "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_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": "on_securable_type", + "description": "Required. The type of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "on_securable_fullname", + "description": "Required. The fully qualified name of the securable to update the policy for.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Required. The name of the policy to update.", + "required": true, + "is_path": true, + "entity": { + "is_string": 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": "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": "METASTORE" + }, + { + "content": "PIPELINE" + }, + { + "content": "PROVIDER" + }, + { + "content": "RECIPIENT" + }, + { + "content": "SCHEMA" + }, + { + "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_GRANT" + }, + { + "content": "POLICY_TYPE_ROW_FILTER" + } + ] + } + } + ] + } + ] + }, + { + "id": "compute.PolicyComplianceForClusters", + "name": "PolicyComplianceForClusters", + "description": "The policy compliance APIs allow you to view and manage the policy compliance status\nof clusters in your workspace.\n\nA cluster is compliant with its policy if its configuration satisfies all its policy rules.\nClusters could be out of compliance if their policy was updated after the cluster was last edited.\n\nThe get and list compliance APIs allow you to view the policy compliance status of a cluster.\nThe enforce compliance API allows you to update a cluster to be compliant with the current version\nof its policy.", + "package": { + "name": "compute" + }, + "docs_group": "compute", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "CancelPendingClusterEnforcement", + "description": "Cancels a pending enforcement on a cluster. After canceling the pending enforcement,\nthe cluster will no longer update on the next termination or restart.\nPending enforcements cannot be canceled when a cluster is in `TERMINATING` state.\nOnly workspace admins can cancel pending enforcements.", + "summary": "Cancel pending policy enforcement for a cluster.", + "path": "/api/2.0/policies/clusters:cancelPendingClusterEnforcement", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CancelPendingClusterEnforcementRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to cancel the pending enforcement for.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to cancel the pending enforcement for.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "CancelPendingClusterEnforcementResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "allow_missing", + "description": "If true and no pending enforcement exists, the request will succeed but no action\nwill be taken.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "cluster_id", + "description": "The ID of the cluster to cancel the pending enforcement for.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to cancel the pending enforcement for.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "EnforceCompliance", + "description": "Updates a cluster to be compliant with the current version of its policy.\n\nIf a cluster is updated while in a `TERMINATED` state, it will remain `TERMINATED`.\nThe next time the cluster is started, the new attributes will take effect.\n\nFor clusters in other states, the behavior depends on the `enforce_mode` used.\n\nClusters created by the Databricks Jobs, SDP, or Models services cannot be enforced by this API.\nInstead, use the \"Enforce job policy compliance\" API to enforce policy compliance on jobs.", + "summary": "Enforce cluster policy compliance.", + "path": "/api/2.0/policies/clusters/enforce-compliance", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "EnforceClusterComplianceRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "EnforceClusterComplianceResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "enforce_mode", + "description": "Determines how changes should be made to clusters that are not in `TERMINATED` state.\n\n- `ENFORCE_IMMEDIATELY`: If the cluster is in a `RUNNING` state, it will be restarted so\nthat the new attributes can take effect. For other states aside from `TERMINATED` state,\nthe request will be rejected.\n- `WAIT_FOR_TERMINATION`: The cluster is not immediately edited. Instead, a pending enforcement\nis scheduled to update the cluster when it terminates or restarts. When this occurs,\n`enforce_result` will contain `DEFERRED`. Only workspace admins can use this mode.\n\nRegardless of the enforce mode, clusters in `TERMINATED` state are immediately edited.", + "is_request_body_field": true, + "entity": { + "pascal_name": "EnforcePolicyComplianceForClusterEnforceMode", + "enum": [ + { + "content": "ENFORCE_IMMEDIATELY" + }, + { + "content": "WAIT_FOR_TERMINATION" + } + ] + } + }, + { + "name": "validate_only", + "description": "If set, previews the changes that would be made to a cluster\nto enforce compliance but does not update the cluster.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + } + ], + "required_positional_arguments": [ + { + "name": "cluster_id", + "description": "The ID of the cluster you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetCompliance", + "description": "Returns the policy compliance status of a cluster. Clusters could be out\nof compliance if their policy was updated after the cluster was last edited.", + "summary": "Get cluster policy compliance.", + "path": "/api/2.0/policies/clusters/get-compliance", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetClusterComplianceRequest", + "is_object": true, + "required_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to get the compliance status", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to get the compliance status", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GetClusterComplianceResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to get the compliance status", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "cluster_id", + "description": "The ID of the cluster to get the compliance status", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "ListCompliance", + "description": "Returns the policy compliance status of all clusters that use a\ngiven policy. Clusters could be out of compliance if their policy was\nupdated after the cluster was last edited.", + "summary": "List cluster policy compliance.", + "path": "/api/2.0/policies/clusters/list-compliance", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListClusterCompliancesRequest", + "is_object": true, + "required_fields": [ + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListClusterCompliancesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "Use this field to specify the maximum number of results to be returned by the server.\nThe server may further constrain the maximum number of results returned in a\nsingle page.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + } + ] + }, + { + "id": "jobs.PolicyComplianceForJobs", + "name": "PolicyComplianceForJobs", + "description": "The compliance APIs allow you to view and manage the policy compliance status of jobs\nin your workspace. This API currently only supports compliance controls for cluster policies.\n\nA job is in compliance if its cluster configurations satisfy the rules of all their respective\ncluster policies. A job could be out of compliance if a cluster policy it uses was updated after\nthe job was last edited. The job is considered out of compliance if any of its clusters no longer\ncomply with their updated policies.\n\nThe get and list compliance APIs allow you to view the policy compliance status of a job.\nThe enforce compliance API allows you to update a job so that it becomes compliant with all of its policies.", + "package": { + "name": "jobs" + }, + "docs_group": "lakeflow", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "EnforceCompliance", + "description": "Updates a job so the job clusters that are created when running\nthe job (specified in `new_cluster`) are compliant with the\ncurrent versions of their respective cluster policies.\nAll-purpose clusters used in the job will not be updated.", + "summary": "Enforce job policy compliance.", + "path": "/api/2.0/policies/jobs/enforce-compliance", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "EnforcePolicyComplianceRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "job_id", + "description": "The ID of the job you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "job_id", + "description": "The ID of the job you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + }, + "response": { + "pascal_name": "EnforcePolicyComplianceResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "job_id", + "description": "The ID of the job you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "validate_only", + "description": "If set, previews changes made to the job to comply with its policy, but\ndoes not update the job.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + } + ], + "required_positional_arguments": [ + { + "name": "job_id", + "description": "The ID of the job you want to enforce policy compliance on.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + }, + { + "name": "GetCompliance", + "description": "Returns the policy compliance status of a job. Jobs could be out of\ncompliance if a cluster policy they use was updated after the job was\nlast edited and some of its job clusters no longer comply with\ntheir updated policies.", + "summary": "Get job policy compliance.", + "path": "/api/2.0/policies/jobs/get-compliance", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPolicyComplianceRequest", + "is_object": true, + "required_fields": [ + { + "name": "job_id", + "description": "The ID of the job whose compliance status you are requesting.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } + } + ], + "required_in_url_fields": [ + { + "name": "job_id", + "description": "The ID of the job whose compliance status you are requesting.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } + } + ] + }, + "response": { + "pascal_name": "GetPolicyComplianceResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "job_id", + "description": "The ID of the job whose compliance status you are requesting.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } + } + ], + "required_positional_arguments": [ + { + "name": "job_id", + "description": "The ID of the job whose compliance status you are requesting.", + "required": true, + "is_query": true, + "entity": { + "is_int64": true + } + } + ] + }, + { + "name": "ListCompliance", + "description": "Returns the policy compliance status of all jobs that use a\ngiven policy. Jobs could be out of compliance if a cluster policy they\nuse was updated after the job was last edited and its job\nclusters no longer comply with the updated policy.", + "summary": "List job policy compliance.", + "path": "/api/2.0/policies/jobs/list-compliance", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListJobComplianceRequest", + "is_object": true, + "required_fields": [ + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListJobComplianceForPolicyResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "Use this field to specify the maximum number of results to be returned by the server.\nThe server may further constrain the maximum number of results returned in a\nsingle page.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "policy_id", + "description": "Canonical unique identifier for the cluster policy.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + } + ] + }, + { + "id": "compute.PolicyFamilies", + "name": "PolicyFamilies", + "description": "View available policy families. A policy family contains a policy definition providing best\npractices for configuring clusters for a particular use case.\n\nDatabricks manages and provides policy families for several common cluster use cases. You\ncannot create, edit, or delete policy families.\n\nPolicy families cannot be used directly to create clusters. Instead, you create cluster\npolicies using a policy family. Cluster policies created using a policy family inherit the\npolicy family's policy definition.", + "package": { + "name": "compute" + }, + "docs_group": "compute", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListPolicyFamiliesRequest" + } + }, + "methods": [ + { + "name": "Get", + "description": "Retrieve the information for an policy family based on its identifier and version", + "summary": "Get policy family information.", + "path": "/api/2.0/policy-families/{policy_family_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPolicyFamilyRequest", + "is_object": true, + "required_fields": [ + { + "name": "policy_family_id", + "description": "The family ID about which to retrieve information.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "policy_family_id", + "description": "The family ID about which to retrieve information.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PolicyFamily", + "is_object": true + }, + "all_fields": [ + { + "name": "policy_family_id", + "description": "The family ID about which to retrieve information.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "version", + "description": "The version number for the family to fetch. Defaults to the latest version.", + "is_query": true, + "entity": { + "is_int64": true + } + } + ], + "required_positional_arguments": [ + { + "name": "policy_family_id", + "description": "The family ID about which to retrieve information.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "Returns the list of policy definition types available to use at their latest version. This API is paginated.", + "summary": "List policy families.", + "path": "/api/2.0/policy-families", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPolicyFamiliesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListPolicyFamiliesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "max_results", + "description": "Maximum number of policy families to return.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "page_token", + "description": "A token that can be used to get the next page of results.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A token that can be used to get the next page of results.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + } + ] + }, + { + "id": "postgres.Postgres", + "name": "Postgres", + "description": "Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles.\n\nThis API manages database infrastructure only. To query or modify data, use the Data API or direct SQL connections.\n\n**About resource IDs and names**\n\nResources are identified by hierarchical resource names like `projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}`. The `name` field on each resource contains this full path and is output-only. Note that `name` refers to this resource path, not the user-visible `display_name`.", + "package": { + "name": "postgres" + }, + "docs_group": "postgres", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListBranchesRequest" + } + }, + "methods": [ + { + "name": "CreateBranch", + "description": "Creates a new database branch in the project.", + "summary": "Create a Branch.", + "path": "/api/2.0/postgres/{parent=projects/*}/branches", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateBranchRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "branch", + "description": "The Branch to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Branch", + "is_object": true + } + }, + { + "name": "branch_id", + "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "branch_id", + "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "branch", + "description": "The Branch to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Branch", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "branch", + "description": "The Branch to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Branch", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "branch", + "description": "The Branch to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Branch", + "is_object": true + } + }, + { + "name": "branch_id", + "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "replace_existing", + "description": "If true, update the branch if it already exists instead of returning an error.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "branch_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the branch was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "name", + "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The project containing this branch (API resource hierarchy).\nFormat: projects/{project_id}\n\nNote: This field indicates where the branch exists in the resource hierarchy.\nFor point-in-time branching from another branch, see `status.source_branch`.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "The spec contains the branch configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "BranchSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "The current status of a Branch.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "BranchStatus", + "is_object": true + } + }, + { + "name": "uid", + "description": "System-generated unique ID for the branch.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the branch was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "branch_id", + "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateCatalog", + "description": "Register a Postgres database in the Unity Catalog.", + "summary": "Register a Database in UC.", + "path": "/api/2.0/postgres/catalogs", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateCatalogRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "catalog", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Catalog", + "is_object": true + } + }, + { + "name": "catalog_id", + "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "catalog_id", + "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "catalog", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Catalog", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "catalog", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Catalog", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "catalog", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Catalog", + "is_object": true + } + }, + { + "name": "catalog_id", + "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the catalog was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "name", + "description": "Output only. The full resource path of the catalog.\n\nFormat: \"catalogs/{catalog_id}\".", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "The desired state of the Catalog.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CatalogCatalogSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "The observed state of the Catalog.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CatalogCatalogStatus", + "is_object": true + } + }, + { + "name": "uid", + "description": "System-generated unique identifier for the catalog.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the catalog was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "catalog_id", + "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateCdfConfig", + "description": "Create a CDF configuration that materializes the change data feed for all\ntables in a Postgres schema as open-format Delta tables in Unity Catalog.\nOnce created, each table's change history is continuously written to its\ncorresponding Lakehouse table.", + "summary": "Create a change data feed configuration.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*}/cdf-configs", + "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": "CreateCdfConfigRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "cdf_config", + "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CdfConfig", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "cdf_config", + "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CdfConfig", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "cdf_config", + "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CdfConfig", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "cdf_config", + "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CdfConfig", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "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.", + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_request_body_field": true, + "entity": { + "is_string": true } }, { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] } }, { - "name": "column_mask", - "description": "Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.\nRequired on create and optional on update. When specified on update,\nthe new options will replace the existing options as a whole.", + "name": "cdf_config_id", + "description": "The user-specified id for the CdfConfig, forming the final segment of its\nresource name. Must match the pattern `[a-z][a-z0-9_]{0,62}`. Defaults to\nthe Postgres schema name when omitted.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "cdf_config_id", + "description": "The user-specified id; equals the final segment of `name`. Defaults to the\nPostgres schema name for configs without an explicit id.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "When the CdfConfig was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "name", + "description": "Output only. The full resource name of the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateDataApi", + "description": "Enable Data API for a database.", + "summary": "Enable Data API for a database.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*}/data-api", + "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", + "request": { + "pascal_name": "CreateDataApiRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "data_api", + "description": "The Data API configuration to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DataApi", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "data_api", + "description": "The Data API configuration to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DataApi", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "data_api", + "description": "The Data API configuration to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DataApi", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "data_api", + "description": "The Data API configuration to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DataApi", + "is_object": true + } + }, + { + "name": "parent", + "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the Data API was first enabled.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The database containing this Data API configuration.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "The desired Data API configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DataApiDataApiSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "The observed Data API state (read-only).", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DataApiDataApiStatus", + "is_object": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the Data API configuration was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateDatabase", + "description": "Create a Database.\n\nCreates a database in the specified branch. A branch can have multiple databases.", + "summary": "Create a Database.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/databases", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateDatabaseRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "database", + "description": "The desired specification of a Database.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Database", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "database", + "description": "The desired specification of a Database.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Database", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "database", + "description": "The desired specification of a Database.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Database", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "database", + "description": "The desired specification of a Database.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Database", + "is_object": true + } + }, + { + "name": "database_id", + "description": "The ID to use for the Database, which will become the final component of\nthe database's resource name.\nThis ID becomes the database name in postgres.\n\nThis value should be 4-63 characters, and only use characters available in DNS names,\nas defined by RFC-1123\n\nIf database_id is not specified in the request, it is generated automatically.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "replace_existing", + "description": "If true, update the database if it already exists instead of returning an\nerror.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the database was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "database_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The branch containing this database.\nFormat: projects/{project_id}/branches/{branch_id}", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "The desired state of the Database.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DatabaseDatabaseSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "The observed state of the Database.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DatabaseDatabaseStatus", + "is_object": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the database was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateEndpoint", + "description": "Creates a new compute endpoint in the branch.", + "summary": "Create an Endpoint.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/endpoints", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateEndpointRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "endpoint", + "description": "The Endpoint to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Endpoint", + "is_object": true + } + }, + { + "name": "endpoint_id", + "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "endpoint_id", + "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "endpoint", + "description": "The Endpoint to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Endpoint", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "endpoint", + "description": "The Endpoint to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Endpoint", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "endpoint", + "description": "The Endpoint to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Endpoint", + "is_object": true + } + }, + { + "name": "endpoint_id", + "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "replace_existing", + "description": "If true, update the endpoint if it already exists instead of returning an error.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the compute endpoint was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "endpoint_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The branch containing this endpoint (API resource hierarchy).\nFormat: projects/{project_id}/branches/{branch_id}", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "The spec contains the compute endpoint configuration, including autoscaling limits, suspend timeout, and disabled state.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EndpointSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "Current operational status of the compute endpoint.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EndpointStatus", + "is_object": true + } + }, + { + "name": "uid", + "description": "System-generated unique ID for the endpoint.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the compute endpoint was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "endpoint_id", + "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateProject", + "description": "Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints.", + "summary": "Create a Project.", + "path": "/api/2.0/postgres/projects", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateProjectRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "project", + "description": "The Project to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Project", + "is_object": true + } + }, + { + "name": "project_id", + "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "project_id", + "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "project", + "description": "The Project to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Project", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "project", + "description": "The Project to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Project", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "project", + "description": "The Project to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Project", + "is_object": true + } + }, + { + "name": "project_id", + "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "A timestamp indicating when the project was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "delete_time", + "description": "A timestamp indicating when the project was soft-deleted.\nEmpty if the project is not deleted, otherwise set to a timestamp in the past.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "initial_branch_spec", + "description": "Configuration for the initial default branch created as part of project creation.\nAllows overriding branch protection. These settings only apply at creation time\nand do not affect resources created after project creation.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "InitialBranchSpec", + "is_object": true + } + }, + { + "name": "initial_endpoint_spec", + "description": "Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly\ncreated project. If omitted, the initial endpoint created will have default settings, without high availability\nconfigured. This field does not apply to any endpoints created after project creation. Use\nspec.default_endpoint_settings to configure default settings for endpoints created after project creation.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "InitialEndpointSpec", + "is_object": true + } + }, + { + "name": "name", + "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "project_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "purge_time", + "description": "A timestamp indicating when the project is scheduled for permanent deletion.\nEmpty if the project is not deleted, otherwise set to a timestamp in the future.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "spec", + "description": "The spec contains the project configuration, including display_name, pg_version (Postgres version), history_retention_duration, and default_endpoint_settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "ProjectSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "The current status of a Project.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "ProjectStatus", + "is_object": true + } + }, + { + "name": "uid", + "description": "System-generated unique ID for the project.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "A timestamp indicating when the project was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "project_id", + "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateRole", + "description": "Creates a new Postgres role in the branch.", + "summary": "Create a Postgres Role for a Branch.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/roles", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateRoleRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "role", + "description": "The desired specification of a Role.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Role", + "is_object": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "role", + "description": "The desired specification of a Role.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Role", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "role", + "description": "The desired specification of a Role.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Role", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "parent", + "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "replace_existing", + "description": "If true, update the role if it already exists instead of returning an\nerror.\n\nWhen the role already exists, the provided `role` spec fully replaces the\nexisting one: `membership_roles` is overwritten, not merged. Leaving\n`membership_roles` empty clears all of the role's existing memberships,\nincluding `DATABRICKS_SUPERUSER`. Always send the complete desired list of\nmemberships when using this field.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "role", + "description": "The desired specification of a Role.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "ColumnMaskOptions", + "pascal_name": "Role", "is_object": true } }, { - "name": "comment", - "description": "Optional description of the policy.", - "is_request_body_field": true, + "name": "role_id", + "description": "The ID to use for the Role, which will become the final component of\nthe role's resource name.\nThis ID becomes the role in Postgres.\n\nThis value should be 4-63 characters, and valid characters\nare lowercase letters, numbers, and hyphens, as defined by RFC 1123.\n\nIf role_id is not specified in the request, it is generated automatically.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "created_at", - "description": "Time at which the policy was created, in epoch milliseconds. Output only.", - "is_computed": true, + "name": "create_time", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int64": true + "is_timestamp": true } }, { - "name": "created_by", - "description": "Username of the user who created the policy. Output only.", - "is_computed": true, - "is_output_only": true, + "name": "name", + "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "except_principals", - "description": "Optional list of user or group names that should be excluded from the policy.", + "name": "parent", + "description": "The Branch where this Role exists.\nFormat: projects/{project_id}/branches/{branch_id}", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "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, + "name": "role_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": 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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_string": true } }, { - "name": "grant", - "description": "Options for grant policies. Valid only if `policy_type` is `POLICY_TYPE_GRANT`.\nRequired on create and optional on update. When specified on update,\nthe new options will replace the existing options as a whole.", + "name": "spec", + "description": "The spec contains the role configuration, including identity type, authentication method, and role attributes.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "GrantOptions", + "pascal_name": "RoleRoleSpec", "is_object": true } }, { - "name": "id", - "description": "Unique identifier of the policy. This field is output only and is generated by the system.", - "is_computed": true, + "name": "status", + "description": "Current status of the role, including its identity type, authentication method, and role attributes.", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "RoleRoleStatus", + "is_object": true } }, { - "name": "match_columns", - "description": "Optional list of condition expressions used to match table columns.\nOnly valid when `for_securable_type` is `TABLE`.\nWhen specified, the policy only applies to tables whose columns satisfy all match conditions.", + "name": "update_time", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "MatchColumnList", - "array_value": { - "pascal_name": "MatchColumn", + "is_timestamp": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": {} + } + }, + { + "name": "CreateSyncedTable", + "description": "Create a Synced Table.", + "summary": "Create a Synced Database Table.", + "path": "/api/2.0/postgres/synced_tables", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateSyncedTableRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "synced_table", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SyncedTable", "is_object": true } + }, + { + "name": "synced_table_id", + "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } - }, + ], + "required_in_url_fields": [ + { + "name": "synced_table_id", + "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "synced_table", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SyncedTable", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "synced_table", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SyncedTable", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ { - "name": "name", - "description": "Name of the policy. Required on create and optional on update.\nTo rename the policy, set `name` to a different value on update.", + "name": "synced_table", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "SyncedTable", + "is_object": true } }, { - "name": "on_securable_fullname", - "description": "Full name of the securable on which the policy is defined.\nRequired on create.", - "is_request_body_field": true, + "name": "synced_table_id", + "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "required": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "on_securable_type", - "description": "Type of the securable on which the policy is defined.\nOnly `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.\nRequired on create.", + "name": "create_time", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "SecurableType", - "enum": [ - { - "content": "CATALOG" - }, - { - "content": "CLEAN_ROOM" - }, - { - "content": "CONNECTION" - }, - { - "content": "CREDENTIAL" - }, - { - "content": "EXTERNAL_LOCATION" - }, - { - "content": "EXTERNAL_METADATA" - }, - { - "content": "FUNCTION" - }, - { - "content": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_timestamp": true } }, { - "name": "policy_type", - "description": "Type of the policy. Required on create.", - "required": true, + "name": "name", + "description": "Output only. The Full resource name of the synced table in Postgres\nwhere (catalog, schema, table) are the UC entity names.\n\nFormat \"synced_tables/{catalog}.{schema}.{table}\"\n\nFor the corresponding source table in the Unity catalog look for the \"source_table_full_name\" attribute.", "is_request_body_field": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } }, { - "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.", + "name": "spec", + "description": "Configuration details of the synced table, such as the source table, scheduling policy, etc.\nThis attribute is specified at creation time and most fields are returned as is on subsequent queries.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "RowFilterOptions", + "pascal_name": "SyncedTableSyncedTableSpec", "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, + "name": "status", + "description": "Synced Table data synchronization status.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "SyncedTableSyncedTableStatus", + "is_object": true } }, { - "name": "updated_at", - "description": "Time at which the policy was last modified, in epoch milliseconds. Output only.", - "is_computed": true, + "name": "synced_table_id", + "description": "The part of the name, chosen by the user when the resource was created.", "is_output_only": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "updated_by", - "description": "Username of the user who last modified the policy. Output only.", - "is_computed": true, + "name": "uid", + "description": "The Unity Catalog table ID for this synced table.", "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } + } + ], + "required_positional_arguments": [ + { + "name": "synced_table_id", + "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } }, + "response_type": {} + } + }, + { + "name": "DeleteBranch", + "description": "Deletes the specified database branch.", + "summary": "Delete a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteBranchRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ { - "name": "when_condition", - "description": "Optional condition when the policy should take effect.", - "is_request_body_field": true, + "name": "name", + "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "purge", + "description": "If true, permanently delete the branch; if false, soft delete.", + "is_query": true, + "entity": { + "is_bool": 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.", + "name": "name", + "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "DeleteCatalog", + "description": "Delete a Database Catalog.", + "summary": "Delete a Database Catalog.", + "path": "/api/2.0/postgres/{name=catalogs/*}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteCatalogRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "DeleteCdfConfig", + "description": "Delete a CDF configuration and stop materializing the change data feed. When\nforce=true, also drops the Delta tables in Unity Catalog. When force=false\n(default), the existing tables are preserved at their last state.", + "summary": "Delete a change data feed configuration.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/cdf-configs/*}", + "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": "DeleteCdfConfigRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "required": true, + "is_path": true, + "entity": { "is_string": true } } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "force", + "description": "When true, also drops the replicated Delta tables in Unity Catalog. When\nfalse (the default), the replicated tables are preserved at their last\nsynced state.", + "is_query": true, + "entity": { + "is_bool": true + } }, { - "name": "for_securable_type", - "description": "Type of securables that the policy should take effect on.\nRequired on create and optional on update.", + "name": "name", + "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "SecurableType", - "enum": [ - { - "content": "CATALOG" - }, - { - "content": "CLEAN_ROOM" - }, - { - "content": "CONNECTION" - }, - { - "content": "CREDENTIAL" - }, - { - "content": "EXTERNAL_LOCATION" - }, - { - "content": "EXTERNAL_METADATA" - }, - { - "content": "FUNCTION" - }, - { - "content": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" } }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "DeleteDataApi", + "description": "Disable Data API for a database.", + "summary": "Disable Data API for a database.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/data-api}", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "DeleteDataApiRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } - ] + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } }, { - "name": "DeletePolicy", - "description": "Delete an ABAC policy defined on a securable.", - "summary": "Delete an ABAC policy.", - "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name}", + "name": "DeleteDatabase", + "description": "Delete a Database.", + "summary": "Delete a Database.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeletePolicyRequest", + "pascal_name": "DeleteDatabaseRequest", "is_object": true, "required_fields": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to delete the policy from.", + "name": "name", + "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to delete the policy from.", + "name": "name", + "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "DeleteEndpoint", + "description": "Deletes the specified compute endpoint.", + "summary": "Delete an Endpoint.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteEndpointRequest", + "is_object": true, + "required_fields": [ { "name": "name", - "description": "Required. The name of the policy to delete", + "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_path": true, "entity": { @@ -160402,26 +169192,162 @@ ], "required_in_url_fields": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to delete the policy from.", + "name": "name", + "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "DeleteProject", + "description": "Deletes the specified database project.", + "summary": "Delete a Project.", + "path": "/api/2.0/postgres/{name=projects/*}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteProjectRequest", + "is_object": true, + "required_fields": [ { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to delete the policy from.", + "name": "name", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "purge", + "description": "If true, permanently deletes the project (hard delete).\nIf false or unset, performs a soft delete.", + "is_query": true, + "entity": { + "is_bool": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "DeleteRole", + "description": "Deletes the specified Postgres role.", + "summary": "Delete a Postgres Role from a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/roles/*}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteRoleRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ { "name": "name", - "description": "Required. The name of the policy to delete", + "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { @@ -160431,22 +169357,13 @@ ] }, "response": { - "pascal_name": "DeletePolicyResponse", + "pascal_name": "Operation", "is_object": true }, "all_fields": [ { "name": "name", - "description": "Required. The name of the policy to delete", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to delete the policy from.", + "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { @@ -160454,10 +169371,9 @@ } }, { - "name": "on_securable_type", - "description": "Required. The type of the securable to delete the policy from.", - "required": true, - "is_path": true, + "name": "reassign_owned_to", + "description": "Reassign objects. If this is set, all objects owned by the role are\nreassigned to the role specified in this parameter.\n\nNOTE: setting this requires spinning up a compute to succeed, since it involves running\nSQL queries.", + "is_query": true, "entity": { "is_string": true } @@ -160465,68 +169381,43 @@ ], "required_positional_arguments": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to delete the policy from.", + "name": "name", + "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to delete the policy from.", - "required": true, - "is_path": true, - "entity": { - "is_string": true + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" } }, - { - "name": "name", - "description": "Required. The name of the policy to delete", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "response_type": { + "is_empty_response": true } - ] + } }, { - "name": "GetPolicy", - "description": "Get the policy definition on a securable", - "summary": "Get an ABAC policy.", - "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name}", - "is_crud_read": true, + "name": "DeleteSyncedTable", + "description": "Delete a Synced Table.", + "summary": "Delete a Synced Database Table.", + "path": "/api/2.0/postgres/{name=synced_tables/*}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPolicyRequest", + "pascal_name": "DeleteSyncedTableRequest", "is_object": true, "required_fields": [ - { - "name": "on_securable_type", - "description": "Required. The type of the securable to retrieve the policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to retrieve policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, { "name": "name", - "description": "Required. The name of the policy to retrieve.", + "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", "required": true, "is_path": true, "entity": { @@ -160535,27 +169426,9 @@ } ], "required_in_url_fields": [ - { - "name": "on_securable_type", - "description": "Required. The type of the securable to retrieve the policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to retrieve policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, { "name": "name", - "description": "Required. The name of the policy to retrieve.", + "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", "required": true, "is_path": true, "entity": { @@ -160565,255 +169438,132 @@ ] }, "response": { - "pascal_name": "PolicyInfo", + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } + }, + { + "name": "GenerateDatabaseCredential", + "description": "Generate OAuth credentials for a Postgres database.", + "summary": "Generate OAuth credentials for a Postgres database.", + "path": "/api/2.0/postgres/credentials", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GenerateDatabaseCredentialRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] - } - }, - { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "endpoint", + "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } ], "required_request_body_fields": [ { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] - } - }, - { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "endpoint", + "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } ] }, + "response": { + "pascal_name": "DatabaseCredential", + "is_object": true + }, "all_fields": [ { - "name": "name", - "description": "Required. The name of the policy to retrieve.", - "required": true, - "is_path": true, + "name": "claims", + "description": "The returned token will be scoped to UC tables with the specified permissions.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "RequestedClaimsList", + "array_value": { + "pascal_name": "RequestedClaims", + "is_object": true + } } }, { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to retrieve policy for.", + "name": "endpoint", + "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "on_securable_type", - "description": "Required. The type of the securable to retrieve the policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "on_securable_type", - "description": "Required. The type of the securable to retrieve the policy for.", - "required": true, - "is_path": true, + "name": "expire_time", + "description": "Timestamp in UTC of when this credential should expire.\nMust be at least 300 seconds (5 minutes) and at most 1 hour from the current time.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to retrieve policy for.", - "required": true, - "is_path": true, + "name": "ttl", + "description": "The requested time-to-live for the generated credential token.\nMust be at least 300 seconds (5 minutes) and at most 3600 seconds (1 hour).", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_duration": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "name", - "description": "Required. The name of the policy to retrieve.", + "name": "endpoint", + "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -160821,29 +169571,21 @@ ] }, { - "name": "ListPolicies", - "description": "List all policies defined on a securable.\nOptionally, the list can include inherited policies defined on the securable's parent schema or catalog.\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 ABAC policies.", - "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}", + "name": "GetBranch", + "description": "Retrieves information about the specified database branch.", + "summary": "Get a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListPoliciesRequest", + "pascal_name": "GetBranchRequest", "is_object": true, "required_fields": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to list policies for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to list policies for.", + "name": "name", + "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -160853,17 +169595,8 @@ ], "required_in_url_fields": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to list policies for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to list policies for.", + "name": "name", + "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -160873,160 +169606,112 @@ ] }, "response": { - "pascal_name": "ListPoliciesResponse", + "pascal_name": "Branch", "is_object": true }, "all_fields": [ { - "name": "include_inherited", - "description": "Optional. Whether to include policies defined on parent securables.\nBy default, the inherited policies are not included.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Optional. Maximum number of policies to return on a single page (page length).\n- When not set or set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to list policies for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_type", - "description": "Required. The type of the securable to list policies for.", + "name": "name", + "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "page_token", - "description": "Optional. Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to list policies for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of securable to list policies for.", + "name": "name", + "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Optional. Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "UpdatePolicy", - "description": "Update an ABAC policy on a securable.", - "summary": "Update an ABAC policy.", - "path": "/api/2.1/unity-catalog/policies/{on_securable_type}/{on_securable_fullname}/{name}", - "can_use_json": true, + "name": "GetCatalog", + "description": "Get a Database Catalog.", + "summary": "Get a Database Catalog.", + "path": "/api/2.0/postgres/{name=catalogs/*}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdatePolicyRequest", + "pascal_name": "GetCatalogRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ - { - "name": "on_securable_type", - "description": "Required. The type of the securable to update the policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to update the policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, { "name": "name", - "description": "Required. The name of the policy to update.", + "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "policy_info", - "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PolicyInfo", - "is_object": true - } } ], "required_in_url_fields": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to update the policy for.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to update the policy for.", + "name": "name", + "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + "response": { + "pascal_name": "Catalog", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetCdfConfig", + "description": "Get a single Lakebase CDF configuration, including the source Postgres\nschema, target Unity Catalog schema, and the identity under which writes are\nauthorized.", + "summary": "Get a change data feed configuration.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/cdf-configs/*}", + "is_crud_read": 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": "GetCdfConfigRequest", + "is_object": true, + "required_fields": [ { "name": "name", - "description": "Required. The name of the policy to update.", + "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", "required": true, "is_path": true, "entity": { @@ -161034,944 +169719,462 @@ } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "policy_info", - "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", + "name": "name", + "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "PolicyInfo", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "policy_info", - "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PolicyInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - } - ] - } - }, "response": { - "pascal_name": "PolicyInfo", + "pascal_name": "CdfConfig", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "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.", + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_string": true } }, { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } ], "required_request_body_fields": [ { - "name": "to_principals", - "description": "List of user or group names that the policy applies to.\nRequired on create and optional on update.", + "name": "catalog", + "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "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.", + "name": "schema", + "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_string": true + } + }, + { + "name": "postgres_schema", + "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "all_fields": [ + { + "name": "name", + "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetCdfStatus", + "description": "Get the CDF status of a single table within a Lakebase CDF configuration,\nincluding its current state and the last committed position in the feed.", + "summary": "Get a change data feed status.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/cdf-configs/*/cdf-statuses/*}", + "is_crud_read": 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": "GetCdfStatusRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", + "required": true, + "is_path": true, + "entity": { + "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "name", + "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } ] }, + "response": { + "pascal_name": "CdfStatus", + "is_object": true + }, "all_fields": [ { "name": "name", - "description": "Required. The name of the policy to update.", + "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to update the policy for.", + "name": "name", + "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "GetDataApi", + "description": "Get Data API configuration for a database.", + "summary": "Get Data API configuration.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/data-api}", + "is_crud_read": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GetDataApiRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DataApi", + "is_object": true + }, + "all_fields": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to update the policy for.", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "policy_info", - "description": "Optional fields to update. This is the request body for updating a policy.\nUse `update_mask` field to specify which fields in the request is to be updated.\n- If `update_mask` is empty or \"*\", all specified fields will be updated.\n- If `update_mask` is specified, only the fields specified in the `update_mask` will be updated.\nIf a field is specified in `update_mask` and not set in the request, the field will be cleared.\nUsers can use the update mask to explicitly unset optional fields such as\n`exception_principals` and `when_condition`.", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PolicyInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - } - ], - "required_request_body_fields": [ - { - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] - } - } - ] - } - }, - { - "name": "update_mask", - "description": "Optional. The update mask field for specifying user intentions on which\nfields to update in the request.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "column_mask", - "description": "Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.\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": "ColumnMaskOptions", - "is_object": true - } - }, - { - "name": "comment", - "description": "Optional description of the policy.", - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "created_at", - "description": "Time at which the policy was created, in epoch milliseconds. Output only.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "created_by", - "description": "Username of the user who created the policy. Output only.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true + } + ] + }, + { + "name": "GetDatabase", + "description": "Get a Database.", + "summary": "Get a Database.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetDatabaseRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, - { - "name": "except_principals", - "description": "Optional list of user or group names that should be excluded from the policy.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, + "entity": { "is_string": true } } - }, + ] + }, + "response": { + "pascal_name": "Database", + "is_object": true + }, + "all_fields": [ { - "name": "for_securable_type", - "description": "Type of securables that the policy should take effect on.\nRequired on create and optional on update.", + "name": "name", + "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] - } - }, - { - "name": "grant", - "description": "Options for grant policies. Valid only if `policy_type` is `POLICY_TYPE_GRANT`.\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, + "is_path": true, "entity": { - "pascal_name": "GrantOptions", - "is_object": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "id", - "description": "Unique identifier of the policy. This field is output only and is generated by the system.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, + "name": "name", + "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "match_columns", - "description": "Optional list of condition expressions used to match table columns.\nOnly valid when `for_securable_type` is `TABLE`.\nWhen specified, the policy only applies to tables whose columns satisfy all match conditions.", - "is_request_body_field": true, - "entity": { - "pascal_name": "MatchColumnList", - "array_value": { - "pascal_name": "MatchColumn", - "is_object": true + } + ] + }, + { + "name": "GetEndpoint", + "description": "Retrieves information about the specified compute endpoint, including its connection details and operational state.", + "summary": "Get an Endpoint.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetEndpointRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - }, + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Endpoint", + "is_object": true + }, + "all_fields": [ { "name": "name", - "description": "Name of the policy. Required on create and optional on update.\nTo rename the policy, set `name` to a different value on update.", - "is_request_body_field": true, + "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "on_securable_fullname", - "description": "Full name of the securable on which the policy is defined.\nRequired on create.", - "is_request_body_field": true, + "name": "name", + "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "on_securable_type", - "description": "Type of the securable on which the policy is defined.\nOnly `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.\nRequired on create.", - "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": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + } + ] + }, + { + "name": "GetOperation", + "description": "Retrieves the status of a long-running operation.", + "summary": "Get an Operation.", + "path": "/api/2.0/postgres/{name=projects/*/operations/*}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetOperationRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the operation resource.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, - { - "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_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The name of the operation resource.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ { - "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, + "name": "name", + "description": "The name of the operation resource.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RowFilterOptions", - "is_object": true + "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.", + "name": "name", + "description": "The name of the operation resource.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { + "is_string": true + } + } + ] + }, + { + "name": "GetProject", + "description": "Retrieves information about the specified database project.", + "summary": "Get a Project.", + "path": "/api/2.0/postgres/{name=projects/*}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetProjectRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { "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 + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "Project", + "is_object": true + }, + "all_fields": [ { - "name": "when_condition", - "description": "Optional condition when the policy should take effect.", - "is_request_body_field": true, + "name": "name", + "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -161979,171 +170182,168 @@ ], "required_positional_arguments": [ { - "name": "on_securable_type", - "description": "Required. The type of the securable to update the policy for.", + "name": "name", + "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "GetRole", + "description": "Retrieves information about the specified Postgres role, including its authentication method and permissions.", + "summary": "Get a Postgres Role for a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/roles/*}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetRoleRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Role", + "is_object": true + }, + "all_fields": [ { - "name": "on_securable_fullname", - "description": "Required. The fully qualified name of the securable to update the policy for.", + "name": "name", + "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { "name": "name", - "description": "Required. The name of the policy to update.", + "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { "is_string": 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": { + } + ] + }, + { + "name": "GetSyncedTable", + "description": "Get a Synced Table.", + "summary": "Get a Synced Database Table.", + "path": "/api/2.0/postgres/{name=synced_tables/*}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetSyncedTableRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", + "required": true, + "is_path": true, + "entity": { "is_string": true } } - }, + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "SyncedTable", + "is_object": true + }, + "all_fields": [ { - "name": "for_securable_type", - "description": "Type of securables that the policy should take effect on.\nRequired on create and optional on update.", + "name": "name", + "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "SecurableType", - "enum": [ - { - "content": "CATALOG" - }, - { - "content": "CLEAN_ROOM" - }, - { - "content": "CONNECTION" - }, - { - "content": "CREDENTIAL" - }, - { - "content": "EXTERNAL_LOCATION" - }, - { - "content": "EXTERNAL_METADATA" - }, - { - "content": "FUNCTION" - }, - { - "content": "METASTORE" - }, - { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" - }, - { - "content": "TABLE" - }, - { - "content": "VOLUME" - } - ] + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "policy_type", - "description": "Type of the policy. Required on create.", + "name": "name", + "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "PolicyType", - "enum": [ - { - "content": "POLICY_TYPE_COLUMN_MASK" - }, - { - "content": "POLICY_TYPE_GRANT" - }, - { - "content": "POLICY_TYPE_ROW_FILTER" - } - ] + "is_string": true } } ] - } - ] - }, - { - "id": "compute.PolicyComplianceForClusters", - "name": "PolicyComplianceForClusters", - "description": "The policy compliance APIs allow you to view and manage the policy compliance status\nof clusters in your workspace.\n\nA cluster is compliant with its policy if its configuration satisfies all its policy rules.\nClusters could be out of compliance if their policy was updated after the cluster was last edited.\n\nThe get and list compliance APIs allow you to view the policy compliance status of a cluster.\nThe enforce compliance API allows you to update a cluster to be compliant with the current version\nof its policy.", - "package": { - "name": "compute" - }, - "docs_group": "compute", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "CancelPendingClusterEnforcement", - "description": "Cancels a pending enforcement on a cluster. After canceling the pending enforcement,\nthe cluster will no longer update on the next termination or restart.\nPending enforcements cannot be canceled when a cluster is in `TERMINATING` state.\nOnly workspace admins can cancel pending enforcements.", - "summary": "Cancel pending policy enforcement for a cluster.", - "path": "/api/2.0/policies/clusters:cancelPendingClusterEnforcement", - "can_use_json": true, + "name": "ListBranches", + "description": "Returns a paginated list of database branches in the project.", + "summary": "List Branches.", + "path": "/api/2.0/postgres/{parent=projects/*}/branches", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CancelPendingClusterEnforcementRequest", + "pascal_name": "ListBranchesRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster to cancel the pending enforcement for.", + "name": "parent", + "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster to cancel the pending enforcement for.", + "name": "parent", + "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -162151,70 +170351,98 @@ ] }, "response": { - "pascal_name": "CancelPendingClusterEnforcementResponse", + "pascal_name": "ListBranchesResponse", "is_object": true }, "all_fields": [ { - "name": "allow_missing", - "description": "If true and no pending enforcement exists, the request will succeed but no action\nwill be taken.", - "is_request_body_field": true, + "name": "page_size", + "description": "Upper bound for items returned. Cannot be negative.", + "is_query": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "cluster_id", - "description": "The ID of the cluster to cancel the pending enforcement for.", + "name": "page_token", + "description": "Page token from a previous response. If not provided, returns the first page.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", "required": true, - "is_request_body_field": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "show_deleted", + "description": "Whether to include soft-deleted branches in the response.\nWhen true, deleted branches are included alongside active branches.\nPurged branches are never returned.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } } ], "required_positional_arguments": [ { - "name": "cluster_id", - "description": "The ID of the cluster to cancel the pending enforcement for.", + "name": "parent", + "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Page token from a previous response. If not provided, returns the first page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "EnforceCompliance", - "description": "Updates a cluster to be compliant with the current version of its policy.\n\nIf a cluster is updated while in a `TERMINATED` state, it will remain `TERMINATED`.\nThe next time the cluster is started, the new attributes will take effect.\n\nFor clusters in other states, the behavior depends on the `enforce_mode` used.\n\nClusters created by the Databricks Jobs, SDP, or Models services cannot be enforced by this API.\nInstead, use the \"Enforce job policy compliance\" API to enforce policy compliance on jobs.", - "summary": "Enforce cluster policy compliance.", - "path": "/api/2.0/policies/clusters/enforce-compliance", - "can_use_json": true, + "name": "ListCdfConfigs", + "description": "List all CDF configurations for a Lakebase database. Each configuration maps\na Postgres schema to a Unity Catalog schema where the change data feed is\nmaterialized.", + "summary": "List change data feed configurations.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*}/cdf-configs", "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": "EnforceClusterComplianceRequest", + "pascal_name": "ListCdfConfigsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster you want to enforce policy compliance on.", + "name": "parent", + "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster you want to enforce policy compliance on.", + "name": "parent", + "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -162222,73 +170450,79 @@ ] }, "response": { - "pascal_name": "EnforceClusterComplianceResponse", + "pascal_name": "ListCdfConfigsResponse", "is_object": true }, "all_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster you want to enforce policy compliance on.", - "required": true, - "is_request_body_field": true, + "name": "page_size", + "description": "Maximum number of CdfConfigs to return.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "enforce_mode", - "description": "Determines how changes should be made to clusters that are not in `TERMINATED` state.\n\n- `ENFORCE_IMMEDIATELY`: If the cluster is in a `RUNNING` state, it will be restarted so\nthat the new attributes can take effect. For other states aside from `TERMINATED` state,\nthe request will be rejected.\n- `WAIT_FOR_TERMINATION`: The cluster is not immediately edited. Instead, a pending enforcement\nis scheduled to update the cluster when it terminates or restarts. When this occurs,\n`enforce_result` will contain `DEFERRED`. Only workspace admins can use this mode.\n\nRegardless of the enforce mode, clusters in `TERMINATED` state are immediately edited.", - "is_request_body_field": true, + "name": "page_token", + "description": "Pagination token returned by a previous ListCdfConfigs call. Empty on the\nfirst page.", + "is_query": true, "entity": { - "pascal_name": "EnforcePolicyComplianceForClusterEnforceMode", - "enum": [ - { - "content": "ENFORCE_IMMEDIATELY" - }, - { - "content": "WAIT_FOR_TERMINATION" - } - ] + "is_string": true } }, { - "name": "validate_only", - "description": "If set, previews the changes that would be made to a cluster\nto enforce compliance but does not update the cluster.", - "is_request_body_field": true, + "name": "parent", + "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "cluster_id", - "description": "The ID of the cluster you want to enforce policy compliance on.", + "name": "parent", + "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token returned by a previous ListCdfConfigs call. Empty on the\nfirst page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "GetCompliance", - "description": "Returns the policy compliance status of a cluster. Clusters could be out\nof compliance if their policy was updated after the cluster was last edited.", - "summary": "Get cluster policy compliance.", - "path": "/api/2.0/policies/clusters/get-compliance", + "name": "ListCdfStatuses", + "description": "List the per-table CDF statuses within a Lakebase CDF configuration. Each\nstatus shows whether a table's change data feed is snapshotting, streaming,\nor skipped.", + "summary": "List change data feed statuses.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*/cdf-configs/*}/cdf-statuses", "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": "GetClusterComplianceRequest", + "pascal_name": "ListCdfStatusesRequest", "is_object": true, "required_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster to get the compliance status", + "name": "parent", + "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162296,10 +170530,10 @@ ], "required_in_url_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster to get the compliance status", + "name": "parent", + "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162307,49 +170541,77 @@ ] }, "response": { - "pascal_name": "GetClusterComplianceResponse", + "pascal_name": "ListCdfStatusesResponse", "is_object": true }, "all_fields": [ { - "name": "cluster_id", - "description": "The ID of the cluster to get the compliance status", - "required": true, + "name": "page_size", + "description": "Maximum number of CdfStatuses to return.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Pagination token returned by a previous ListCdfStatuses call. Empty on the\nfirst page.", "is_query": true, "entity": { "is_string": true } + }, + { + "name": "parent", + "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { - "name": "cluster_id", - "description": "The ID of the cluster to get the compliance status", + "name": "parent", + "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token returned by a previous ListCdfStatuses call. Empty on the\nfirst page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "ListCompliance", - "description": "Returns the policy compliance status of all clusters that use a\ngiven policy. Clusters could be out of compliance if their policy was\nupdated after the cluster was last edited.", - "summary": "List cluster policy compliance.", - "path": "/api/2.0/policies/clusters/list-compliance", + "name": "ListDatabases", + "description": "List Databases.", + "summary": "List postgres databases in a branch.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/databases", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListClusterCompliancesRequest", + "pascal_name": "ListDatabasesRequest", "is_object": true, "required_fields": [ { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162357,10 +170619,10 @@ ], "required_in_url_fields": [ { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162368,13 +170630,13 @@ ] }, "response": { - "pascal_name": "ListClusterCompliancesResponse", + "pascal_name": "ListDatabasesResponse", "is_object": true }, "all_fields": [ { "name": "page_size", - "description": "Use this field to specify the maximum number of results to be returned by the server.\nThe server may further constrain the maximum number of results returned in a\nsingle page.", + "description": "Upper bound for items returned.", "is_query": true, "entity": { "is_int": true @@ -162382,17 +170644,17 @@ }, { "name": "page_token", - "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "description": "Pagination token to go to the next page of Databases. Requests first page if absent.", "is_query": true, "entity": { "is_string": true } }, { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162400,10 +170662,10 @@ ], "required_positional_arguments": [ { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162413,7 +170675,7 @@ "token": { "poll_field": { "name": "page_token", - "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "description": "Pagination token to go to the next page of Databases. Requests first page if absent.", "is_query": true, "entity": { "is_string": true @@ -162421,169 +170683,168 @@ } } } - } - ] - }, - { - "id": "jobs.PolicyComplianceForJobs", - "name": "PolicyComplianceForJobs", - "description": "The compliance APIs allow you to view and manage the policy compliance status of jobs\nin your workspace. This API currently only supports compliance controls for cluster policies.\n\nA job is in compliance if its cluster configurations satisfy the rules of all their respective\ncluster policies. A job could be out of compliance if a cluster policy it uses was updated after\nthe job was last edited. The job is considered out of compliance if any of its clusters no longer\ncomply with their updated policies.\n\nThe get and list compliance APIs allow you to view the policy compliance status of a job.\nThe enforce compliance API allows you to update a job so that it becomes compliant with all of its policies.", - "package": { - "name": "jobs" - }, - "docs_group": "lakeflow", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "EnforceCompliance", - "description": "Updates a job so the job clusters that are created when running\nthe job (specified in `new_cluster`) are compliant with the\ncurrent versions of their respective cluster policies.\nAll-purpose clusters used in the job will not be updated.", - "summary": "Enforce job policy compliance.", - "path": "/api/2.0/policies/jobs/enforce-compliance", - "can_use_json": true, + "name": "ListEndpoints", + "description": "Returns a paginated list of compute endpoints in the branch.", + "summary": "List Endpoints.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/endpoints", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "EnforcePolicyComplianceRequest", + "pascal_name": "ListEndpointsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "job_id", - "description": "The ID of the job you want to enforce policy compliance on.", + "name": "parent", + "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "job_id", - "description": "The ID of the job you want to enforce policy compliance on.", + "name": "parent", + "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ] }, "response": { - "pascal_name": "EnforcePolicyComplianceResponse", + "pascal_name": "ListEndpointsResponse", "is_object": true }, "all_fields": [ { - "name": "job_id", - "description": "The ID of the job you want to enforce policy compliance on.", - "required": true, - "is_request_body_field": true, + "name": "page_size", + "description": "Upper bound for items returned. Cannot be negative.", + "is_query": true, "entity": { - "is_int64": true + "is_int": true } }, { - "name": "validate_only", - "description": "If set, previews changes made to the job to comply with its policy, but\ndoes not update the job.", - "is_request_body_field": true, + "name": "page_token", + "description": "Page token from a previous response. If not provided, returns the first page.", + "is_query": true, "entity": { - "is_bool": true + "is_string": true + } + }, + { + "name": "parent", + "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "job_id", - "description": "The ID of the job you want to enforce policy compliance on.", + "name": "parent", + "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Page token from a previous response. If not provided, returns the first page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "GetCompliance", - "description": "Returns the policy compliance status of a job. Jobs could be out of\ncompliance if a cluster policy they use was updated after the job was\nlast edited and some of its job clusters no longer comply with\ntheir updated policies.", - "summary": "Get job policy compliance.", - "path": "/api/2.0/policies/jobs/get-compliance", + "name": "ListProjects", + "description": "Returns a paginated list of database projects in the workspace that the user has permission to access.", + "summary": "List Projects.", + "path": "/api/2.0/postgres/projects", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPolicyComplianceRequest", - "is_object": true, - "required_fields": [ - { - "name": "job_id", - "description": "The ID of the job whose compliance status you are requesting.", - "required": true, - "is_query": true, - "entity": { - "is_int64": true - } - } - ], - "required_in_url_fields": [ - { - "name": "job_id", - "description": "The ID of the job whose compliance status you are requesting.", - "required": true, - "is_query": true, - "entity": { - "is_int64": true - } - } - ] + "pascal_name": "ListProjectsRequest", + "is_object": true }, "response": { - "pascal_name": "GetPolicyComplianceResponse", + "pascal_name": "ListProjectsResponse", "is_object": true }, "all_fields": [ { - "name": "job_id", - "description": "The ID of the job whose compliance status you are requesting.", - "required": true, + "name": "page_size", + "description": "Upper bound for items returned. Cannot be negative. The maximum value is 100.", "is_query": true, "entity": { - "is_int64": true + "is_int": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "job_id", - "description": "The ID of the job whose compliance status you are requesting.", - "required": true, + "name": "page_token", + "description": "Page token from a previous response. If not provided, returns the first page.", "is_query": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "show_deleted", + "description": "Whether to include soft-deleted projects in the response.\nWhen true, soft-deleted projects are included alongside active projects.\nHard-deleted and already-purged projects are never returned.", + "is_query": true, + "entity": { + "is_bool": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Page token from a previous response. If not provided, returns the first page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "ListCompliance", - "description": "Returns the policy compliance status of all jobs that use a\ngiven policy. Jobs could be out of compliance if a cluster policy they\nuse was updated after the job was last edited and its job\nclusters no longer comply with the updated policy.", - "summary": "List job policy compliance.", - "path": "/api/2.0/policies/jobs/list-compliance", + "name": "ListRoles", + "description": "Returns a paginated list of Postgres roles in the branch.", + "summary": "List Postgres Roles for a Branch.", + "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/roles", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListJobComplianceRequest", + "pascal_name": "ListRolesRequest", "is_object": true, "required_fields": [ { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162591,10 +170852,10 @@ ], "required_in_url_fields": [ { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162602,13 +170863,13 @@ ] }, "response": { - "pascal_name": "ListJobComplianceForPolicyResponse", + "pascal_name": "ListRolesResponse", "is_object": true }, "all_fields": [ { "name": "page_size", - "description": "Use this field to specify the maximum number of results to be returned by the server.\nThe server may further constrain the maximum number of results returned in a\nsingle page.", + "description": "Upper bound for items returned. Cannot be negative.", "is_query": true, "entity": { "is_int": true @@ -162616,17 +170877,17 @@ }, { "name": "page_token", - "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "description": "Page token from a previous response. If not provided, returns the first page.", "is_query": true, "entity": { "is_string": true } }, { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162634,10 +170895,10 @@ ], "required_positional_arguments": [ { - "name": "policy_id", - "description": "Canonical unique identifier for the cluster policy.", + "name": "parent", + "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -162647,7 +170908,7 @@ "token": { "poll_field": { "name": "page_token", - "description": "A page token that can be used to navigate to the next page or previous page as\nreturned by `next_page_token` or `prev_page_token`.", + "description": "Page token from a previous response. If not provided, returns the first page.", "is_query": true, "entity": { "is_string": true @@ -162655,41 +170916,23 @@ } } } - } - ] - }, - { - "id": "compute.PolicyFamilies", - "name": "PolicyFamilies", - "description": "View available policy families. A policy family contains a policy definition providing best\npractices for configuring clusters for a particular use case.\n\nDatabricks manages and provides policy families for several common cluster use cases. You\ncannot create, edit, or delete policy families.\n\nPolicy families cannot be used directly to create clusters. Instead, you create cluster\npolicies using a policy family. Cluster policies created using a policy family inherit the\npolicy family's policy definition.", - "package": { - "name": "compute" - }, - "docs_group": "compute", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListPolicyFamiliesRequest" - } - }, - "methods": [ + }, { - "name": "Get", - "description": "Retrieve the information for an policy family based on its identifier and version", - "summary": "Get policy family information.", - "path": "/api/2.0/policy-families/{policy_family_id}", - "is_crud_read": true, + "name": "UndeleteBranch", + "description": "Undeletes the specified database branch.", + "summary": "Undelete a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*}/undelete", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetPolicyFamilyRequest", + "pascal_name": "UndeleteBranchRequest", "is_object": true, "required_fields": [ { - "name": "policy_family_id", - "description": "The family ID about which to retrieve information.", + "name": "name", + "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -162699,8 +170942,8 @@ ], "required_in_url_fields": [ { - "name": "policy_family_id", - "description": "The family ID about which to retrieve information.", + "name": "name", + "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -162710,127 +170953,137 @@ ] }, "response": { - "pascal_name": "PolicyFamily", + "pascal_name": "Operation", "is_object": true }, "all_fields": [ { - "name": "policy_family_id", - "description": "The family ID about which to retrieve information.", + "name": "name", + "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "The version number for the family to fetch. Defaults to the latest version.", - "is_query": true, - "entity": { - "is_int64": true - } } ], "required_positional_arguments": [ { - "name": "policy_family_id", - "description": "The family ID about which to retrieve information.", + "name": "name", + "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ] + ], + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "response_type": { + "is_empty_response": true + } + } }, { - "name": "List", - "description": "Returns the list of policy definition types available to use at their latest version. This API is paginated.", - "summary": "List policy families.", - "path": "/api/2.0/policy-families", + "name": "UndeleteProject", + "description": "Undeletes a soft-deleted project.", + "summary": "Undelete a Project.", + "path": "/api/2.0/postgres/{name=projects/*}/undelete", "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": "ListPolicyFamiliesRequest", - "is_object": true + "pascal_name": "UndeleteProjectRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListPolicyFamiliesResponse", + "pascal_name": "Operation", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Maximum number of policy families to return.", - "is_query": true, + "name": "name", + "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_token", - "description": "A token that can be used to get the next page of results.", - "is_query": true, + "name": "name", + "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A token that can be used to get the next page of results.", - "is_query": true, - "entity": { - "is_string": true - } + "long_running_operation": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" } + }, + "response_type": { + "is_empty_response": true } } - } - ] - }, - { - "id": "postgres.Postgres", - "name": "Postgres", - "description": "Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles.\n\nThis API manages database infrastructure only. To query or modify data, use the Data API or direct SQL connections.\n\n**About resource IDs and names**\n\nResources are identified by hierarchical resource names like `projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}`. The `name` field on each resource contains this full path and is output-only. Note that `name` refers to this resource path, not the user-visible `display_name`.", - "package": { - "name": "postgres" - }, - "docs_group": "postgres", - "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", - "list": { - "request": { - "pascal_name": "ListBranchesRequest" - } - }, - "methods": [ + }, { - "name": "CreateBranch", - "description": "Creates a new database branch in the project.", - "summary": "Create a Branch.", - "path": "/api/2.0/postgres/{parent=projects/*}/branches", + "name": "UpdateBranch", + "description": "Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it.", + "summary": "Update a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateBranchRequest", + "pascal_name": "UpdateBranchRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "name": "name", + "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -162839,7 +171092,7 @@ }, { "name": "branch", - "description": "The Branch to create.", + "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_request_body_field": true, "entity": { @@ -162848,19 +171101,19 @@ } }, { - "name": "branch_id", - "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "parent", - "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "name": "name", + "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -162868,19 +171121,19 @@ } }, { - "name": "branch_id", - "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_request_body_fields": [ { "name": "branch", - "description": "The Branch to create.", + "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_request_body_field": true, "entity": { @@ -162892,7 +171145,7 @@ }, "request_body_field": { "name": "branch", - "description": "The Branch to create.", + "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_request_body_field": true, "entity": { @@ -162907,7 +171160,7 @@ "all_fields": [ { "name": "branch", - "description": "The Branch to create.", + "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_request_body_field": true, "entity": { @@ -162916,17 +171169,8 @@ } }, { - "name": "branch_id", - "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "name": "name", + "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -162934,11 +171178,12 @@ } }, { - "name": "replace_existing", - "description": "If true, update the branch if it already exists instead of returning an error.", + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, "is_query": true, "entity": { - "is_bool": true + "is_field_mask": true } }, { @@ -163020,8 +171265,8 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "The Project where this Branch will be created.\nFormat: projects/{project_id}", + "name": "name", + "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", "required": true, "is_path": true, "entity": { @@ -163029,12 +171274,12 @@ } }, { - "name": "branch_id", - "description": "The ID to use for the Branch. This becomes the final component of the branch's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `development` becomes `projects/my-app/branches/development`.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], @@ -163050,70 +171295,90 @@ } }, { - "name": "CreateCatalog", - "description": "Register a Postgres database in the Unity Catalog.", - "summary": "Register a Database in UC.", - "path": "/api/2.0/postgres/catalogs", + "name": "UpdateDataApi", + "description": "Update Data API configuration for a database.", + "summary": "Update Data API configuration.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/data-api}", "can_use_json": true, - "is_crud_create": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "CreateCatalogRequest", + "pascal_name": "UpdateDataApiRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "catalog", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "data_api", + "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Catalog", + "pascal_name": "DataApi", "is_object": true } }, { - "name": "catalog_id", - "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "catalog_id", - "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_request_body_fields": [ { - "name": "catalog", + "name": "data_api", + "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Catalog", + "pascal_name": "DataApi", "is_object": true } } ] }, "request_body_field": { - "name": "catalog", + "name": "data_api", + "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Catalog", + "pascal_name": "DataApi", "is_object": true } }, @@ -163123,35 +171388,36 @@ }, "all_fields": [ { - "name": "catalog", + "name": "data_api", + "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Catalog", + "pascal_name": "DataApi", "is_object": true } }, { - "name": "catalog_id", - "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "catalog_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } }, { "name": "create_time", - "description": "A timestamp indicating when the catalog was created.", + "description": "A timestamp indicating when the Data API was first enabled.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -163161,45 +171427,45 @@ }, { "name": "name", - "description": "Output only. The full resource path of the catalog.\n\nFormat: \"catalogs/{catalog_id}\".", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "spec", - "description": "The desired state of the Catalog.", + "name": "parent", + "description": "The database containing this Data API configuration.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "is_output_only": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "CatalogCatalogSpec", - "is_object": true + "is_string": true } }, { - "name": "status", - "description": "The observed state of the Catalog.", - "is_output_only": true, + "name": "spec", + "description": "The desired Data API configuration.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "CatalogCatalogStatus", + "pascal_name": "DataApiDataApiSpec", "is_object": true } }, { - "name": "uid", - "description": "System-generated unique identifier for the catalog.", + "name": "status", + "description": "The observed Data API state (read-only).", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "DataApiDataApiStatus", + "is_object": true } }, { "name": "update_time", - "description": "A timestamp indicating when the catalog was last updated.", + "description": "A timestamp indicating when the Data API configuration was last updated.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -163210,13 +171476,22 @@ ], "required_positional_arguments": [ { - "name": "catalog_id", - "description": "The ID in the Unity Catalog.\nIt becomes the full resource name, for example \"my_catalog\" becomes \"catalogs/my_catalog\".", + "name": "name", + "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "long_running_operation": { @@ -163231,25 +171506,23 @@ } }, { - "name": "CreateCdfConfig", - "description": "Create a CDF configuration that materializes the change data feed for all\ntables in a Postgres schema as open-format Delta tables in Unity Catalog.\nOnce created, each table's change history is continuously written to its\ncorresponding Lakehouse table.", - "summary": "Create a change data feed configuration.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*}/cdf-configs", + "name": "UpdateDatabase", + "description": "Update a Database.", + "summary": "Update a Database.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateCdfConfigRequest", + "pascal_name": "UpdateDatabaseRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "name": "name", + "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_path": true, "entity": { @@ -163257,107 +171530,66 @@ } }, { - "name": "cdf_config", - "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "name": "database", + "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CdfConfig", + "pascal_name": "Database", "is_object": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_in_url_fields": [ { - "name": "parent", - "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "name": "name", + "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_request_body_fields": [ { - "name": "cdf_config", - "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "name": "database", + "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CdfConfig", + "pascal_name": "Database", "is_object": true } } ] }, "request_body_field": { - "name": "cdf_config", - "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "name": "database", + "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CdfConfig", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "Database", + "is_object": true } }, "response": { @@ -163366,85 +171598,18 @@ }, "all_fields": [ { - "name": "cdf_config", - "description": "The CdfConfig to create. The catalog, schema, and postgres_schema fields are\nrequired; all other fields are output only and ignored on input.", + "name": "database", + "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "CdfConfig", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "cdf_config_id", - "description": "The user-specified id for the CdfConfig, forming the final segment of its\nresource name. Must match the pattern `[a-z][a-z0-9_]{0,62}`. Defaults to\nthe Postgres schema name when omitted.", - "is_query": true, - "entity": { - "is_string": true + "pascal_name": "Database", + "is_object": true } }, - { - "name": "parent", - "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + { + "name": "name", + "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, "is_path": true, "entity": { @@ -163452,95 +171617,99 @@ } }, { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } }, { - "name": "cdf_config_id", - "description": "The user-specified id; equals the final segment of `name`. Defaults to the\nPostgres schema name for configs without an explicit id.", + "name": "create_time", + "description": "A timestamp indicating when the database was created.", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "create_time", - "description": "When the CdfConfig was created.", + "name": "database_id", + "description": "The part of the name, chosen by the user when the resource was created.", "is_output_only": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "is_string": true } }, { "name": "name", - "description": "Output only. The full resource name of the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", - "required": true, + "name": "parent", + "description": "The branch containing this database.\nFormat: projects/{project_id}/branches/{branch_id}", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, + "name": "spec", + "description": "The desired state of the Database.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "DatabaseDatabaseSpec", + "is_object": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "parent", - "description": "The parent database under which to create the CdfConfig.\nFormat: projects/{project}/branches/{branch}/databases/{database}", - "required": true, - "is_path": true, + "name": "status", + "description": "The observed state of the Database.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "DatabaseDatabaseStatus", + "is_object": true } }, { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, + "name": "update_time", + "description": "A timestamp indicating when the database was last updated.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "name": "name", + "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], @@ -163556,24 +171725,23 @@ } }, { - "name": "CreateDataApi", - "description": "Enable Data API for a database.", - "summary": "Enable Data API for a database.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*}/data-api", + "name": "UpdateEndpoint", + "description": "Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint.", + "summary": "Update an Endpoint.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", "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": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateDataApiRequest", + "pascal_name": "UpdateEndpointRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "name", + "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_path": true, "entity": { @@ -163581,47 +171749,65 @@ } }, { - "name": "data_api", - "description": "The Data API configuration to create.", + "name": "endpoint", + "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DataApi", + "pascal_name": "Endpoint", "is_object": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_in_url_fields": [ { - "name": "parent", - "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "name", + "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_request_body_fields": [ { - "name": "data_api", - "description": "The Data API configuration to create.", + "name": "endpoint", + "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DataApi", + "pascal_name": "Endpoint", "is_object": true } } ] }, "request_body_field": { - "name": "data_api", - "description": "The Data API configuration to create.", + "name": "endpoint", + "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DataApi", + "pascal_name": "Endpoint", "is_object": true } }, @@ -163631,27 +171817,36 @@ }, "all_fields": [ { - "name": "data_api", - "description": "The Data API configuration to create.", + "name": "endpoint", + "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DataApi", + "pascal_name": "Endpoint", "is_object": true } }, { - "name": "parent", - "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "name", + "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_path": true, "entity": { "is_string": true } }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, { "name": "create_time", - "description": "A timestamp indicating when the Data API was first enabled.", + "description": "A timestamp indicating when the compute endpoint was created.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -163659,9 +171854,18 @@ "is_timestamp": true } }, + { + "name": "endpoint_id", + "description": "The part of the name, chosen by the user when the resource was created.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "is_request_body_field": true, "entity": { "is_string": true @@ -163669,7 +171873,7 @@ }, { "name": "parent", - "description": "The database containing this Data API configuration.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "description": "The branch containing this endpoint (API resource hierarchy).\nFormat: projects/{project_id}/branches/{branch_id}", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -163678,28 +171882,37 @@ }, { "name": "spec", - "description": "The desired Data API configuration.", + "description": "The spec contains the compute endpoint configuration, including autoscaling limits, suspend timeout, and disabled state.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "DataApiDataApiSpec", + "pascal_name": "EndpointSpec", "is_object": true } }, { "name": "status", - "description": "The observed Data API state (read-only).", + "description": "Current operational status of the compute endpoint.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "DataApiDataApiStatus", + "pascal_name": "EndpointStatus", "is_object": true } }, + { + "name": "uid", + "description": "System-generated unique ID for the endpoint.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "update_time", - "description": "A timestamp indicating when the Data API configuration was last updated.", + "description": "A timestamp indicating when the compute endpoint was last updated.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -163710,13 +171923,22 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "name", + "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "long_running_operation": { @@ -163731,25 +171953,23 @@ } }, { - "name": "CreateDatabase", - "description": "Create a Database.\n\nCreates a database in the specified branch. A branch can have multiple databases.", - "summary": "Create a Database.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/databases", + "name": "UpdateProject", + "description": "Updates the specified database project.", + "summary": "Update a Project.", + "path": "/api/2.0/postgres/{name=projects/*}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateDatabaseRequest", + "pascal_name": "UpdateProjectRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { @@ -163757,47 +171977,65 @@ } }, { - "name": "database", - "description": "The desired specification of a Database.", + "name": "project", + "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Database", + "pascal_name": "Project", "is_object": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_in_url_fields": [ { - "name": "parent", - "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_request_body_fields": [ { - "name": "database", - "description": "The desired specification of a Database.", + "name": "project", + "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Database", + "pascal_name": "Project", "is_object": true } } ] }, "request_body_field": { - "name": "database", - "description": "The desired specification of a Database.", + "name": "project", + "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Database", + "pascal_name": "Project", "is_object": true } }, @@ -163807,43 +172045,36 @@ }, "all_fields": [ { - "name": "database", - "description": "The desired specification of a Database.", + "name": "name", + "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Database", - "is_object": true - } - }, - { - "name": "database_id", - "description": "The ID to use for the Database, which will become the final component of\nthe database's resource name.\nThis ID becomes the database name in postgres.\n\nThis value should be 4-63 characters, and only use characters available in DNS names,\nas defined by RFC-1123\n\nIf database_id is not specified in the request, it is generated automatically.", - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "project", + "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Project", + "is_object": true } }, { - "name": "replace_existing", - "description": "If true, update the database if it already exists instead of returning an\nerror.", + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, "is_query": true, "entity": { - "is_bool": true + "is_field_mask": true } }, { "name": "create_time", - "description": "A timestamp indicating when the database was created.", + "description": "A timestamp indicating when the project was created.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -163852,55 +172083,95 @@ } }, { - "name": "database_id", - "description": "The part of the name, chosen by the user when the resource was created.", + "name": "delete_time", + "description": "A timestamp indicating when the project was soft-deleted.\nEmpty if the project is not deleted, otherwise set to a timestamp in the past.", "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true + } + }, + { + "name": "initial_branch_spec", + "description": "Configuration for the initial default branch created as part of project creation.\nAllows overriding branch protection. These settings only apply at creation time\nand do not affect resources created after project creation.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "InitialBranchSpec", + "is_object": true + } + }, + { + "name": "initial_endpoint_spec", + "description": "Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly\ncreated project. If omitted, the initial endpoint created will have default settings, without high availability\nconfigured. This field does not apply to any endpoints created after project creation. Use\nspec.default_endpoint_settings to configure default settings for endpoints created after project creation.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "InitialEndpointSpec", + "is_object": true } }, { "name": "name", - "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The branch containing this database.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "project_id", + "description": "The part of the name, chosen by the user when the resource was created.", "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, + { + "name": "purge_time", + "description": "A timestamp indicating when the project is scheduled for permanent deletion.\nEmpty if the project is not deleted, otherwise set to a timestamp in the future.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, { "name": "spec", - "description": "The desired state of the Database.", + "description": "The spec contains the project configuration, including display_name, pg_version (Postgres version), history_retention_duration, and default_endpoint_settings.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "DatabaseDatabaseSpec", + "pascal_name": "ProjectSpec", "is_object": true } }, { "name": "status", - "description": "The observed state of the Database.", + "description": "The current status of a Project.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "DatabaseDatabaseStatus", + "pascal_name": "ProjectStatus", "is_object": true } }, + { + "name": "uid", + "description": "System-generated unique ID for the project.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "update_time", - "description": "A timestamp indicating when the database was last updated.", + "description": "A timestamp indicating when the project was last updated.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -163911,13 +172182,22 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "The Branch where this Database will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "long_running_operation": { @@ -163932,25 +172212,23 @@ } }, { - "name": "CreateEndpoint", - "description": "Creates a new compute endpoint in the branch.", - "summary": "Create an Endpoint.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/endpoints", + "name": "UpdateRole", + "description": "Update a role for a branch.", + "summary": "Update a Postgres Role for a Branch.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/roles/*}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateEndpointRequest", + "pascal_name": "UpdateRoleRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { @@ -163958,29 +172236,29 @@ } }, { - "name": "endpoint", - "description": "The Endpoint to create.", + "name": "role", + "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Endpoint", + "pascal_name": "Role", "is_object": true } }, { - "name": "endpoint_id", - "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_in_url_fields": [ { - "name": "parent", - "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { @@ -163988,35 +172266,35 @@ } }, { - "name": "endpoint_id", - "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_request_body_fields": [ { - "name": "endpoint", - "description": "The Endpoint to create.", + "name": "role", + "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Endpoint", + "pascal_name": "Role", "is_object": true } } ] }, "request_body_field": { - "name": "endpoint", - "description": "The Endpoint to create.", + "name": "role", + "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Endpoint", + "pascal_name": "Role", "is_object": true } }, @@ -164026,44 +172304,35 @@ }, "all_fields": [ { - "name": "endpoint", - "description": "The Endpoint to create.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Endpoint", - "is_object": true - } - }, - { - "name": "endpoint_id", - "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "name": "name", + "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "role", + "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Role", + "is_object": true } }, { - "name": "replace_existing", - "description": "If true, update the endpoint if it already exists instead of returning an error.", + "name": "update_mask", + "description": "The list of fields to update.", + "required": true, "is_query": true, "entity": { - "is_bool": true + "is_field_mask": true } }, { "name": "create_time", - "description": "A timestamp indicating when the compute endpoint was created.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -164072,25 +172341,25 @@ } }, { - "name": "endpoint_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, + "name": "name", + "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "parent", + "description": "The Branch where this Role exists.\nFormat: projects/{project_id}/branches/{branch_id}", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The branch containing this endpoint (API resource hierarchy).\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "role_id", + "description": "The part of the name, chosen by the user when the resource was created.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -164099,37 +172368,27 @@ }, { "name": "spec", - "description": "The spec contains the compute endpoint configuration, including autoscaling limits, suspend timeout, and disabled state.", + "description": "The spec contains the role configuration, including identity type, authentication method, and role attributes.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "EndpointSpec", + "pascal_name": "RoleRoleSpec", "is_object": true } }, { "name": "status", - "description": "Current operational status of the compute endpoint.", + "description": "Current status of the role, including its identity type, authentication method, and role attributes.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "EndpointStatus", + "pascal_name": "RoleRoleStatus", "is_object": true } }, - { - "name": "uid", - "description": "System-generated unique ID for the endpoint.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "update_time", - "description": "A timestamp indicating when the compute endpoint was last updated.", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, @@ -164140,8 +172399,8 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "The Branch where this Endpoint will be created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", "required": true, "is_path": true, "entity": { @@ -164149,12 +172408,12 @@ } }, { - "name": "endpoint_id", - "description": "The ID to use for the Endpoint. This becomes the final component of the endpoint's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `primary` becomes `projects/my-app/branches/development/endpoints/primary`.", + "name": "update_mask", + "description": "The list of fields to update.", "required": true, "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], @@ -164168,50 +172427,271 @@ }, "response_type": {} } - }, + } + ] + }, + { + "id": "provisioning.PrivateAccess", + "name": "PrivateAccess", + "description": "These APIs manage private access settings for this account.", + "package": { + "name": "provisioning" + }, + "is_accounts": true, + "docs_group": "provisioning", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "CreateProject", - "description": "Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints.", - "summary": "Create a Project.", - "path": "/api/2.0/postgres/projects", + "name": "Create", + "description": "Creates a private access settings configuration, which represents\nnetwork access restrictions for workspace resources. Private access\nsettings configure whether workspaces can be accessed from the public\ninternet or only from private endpoints.", + "summary": "Create private access settings.", + "path": "/api/2.0/accounts/{account_id}/private-access-settings", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateProjectRequest", + "pascal_name": "CreatePrivateAccessSettingsRequest", + "is_object": true + }, + "response": { + "pascal_name": "PrivateAccessSettings", + "is_object": true + }, + "all_fields": [ + { + "name": "allowed_vpc_endpoint_ids", + "description": "An array of Databricks VPC endpoint IDs. This is the Databricks ID returned when registering the VPC endpoint configuration in your Databricks account. This is not the ID of the VPC endpoint in AWS.\nOnly used when private_access_level is set to ENDPOINT. This is an allow list of VPC endpoints registered in your Databricks account that can connect to your workspace over AWS PrivateLink.\nNote: If hybrid access to your workspace is enabled by setting public_access_enabled to true, this control only works for PrivateLink connections. To control how your workspace is accessed via public internet, see IP access lists.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "private_access_level", + "description": "The private access level controls which VPC endpoints can connect to the UI or API of any workspace that attaches this private access settings object.\n`ACCOUNT` level access (the default) allows only VPC endpoints that are registered in your Databricks account connect to your workspace.\n`ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details, see allowed_vpc_endpoint_ids.", + "is_request_body_field": true, + "entity": { + "pascal_name": "PrivateAccessLevel", + "enum": [ + { + "content": "ACCOUNT" + }, + { + "content": "ENDPOINT" + } + ] + } + }, + { + "name": "private_access_settings_name", + "description": "The human-readable name of the private access settings object.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "public_access_enabled", + "description": "Determines if the workspace can be accessed over public internet. For fully private workspaces, you can optionally specify false, but only if you implement both the front-end and the back-end PrivateLink connections. Otherwise, specify true, which means that public access is enabled.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "region", + "description": "The AWS region for workspaces attached to this private access settings object.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Delete", + "description": "Deletes a Databricks private access settings configuration, both specified by ID.", + "summary": "Delete private access settings.", + "path": "/api/2.0/accounts/{account_id}/private-access-settings/{private_access_settings_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeletePrivateAccesRequest", + "is_object": true, + "required_fields": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PrivateAccessSettings", + "is_object": true + }, + "all_fields": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Gets a Databricks private access settings configuration, both specified by ID.", + "summary": "Get private access settings.", + "path": "/api/2.0/accounts/{account_id}/private-access-settings/{private_access_settings_id}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetPrivateAccesRequest", + "is_object": true, + "required_fields": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "PrivateAccessSettings", + "is_object": true + }, + "all_fields": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "private_access_settings_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "Lists Databricks private access settings for an account.", + "summary": "List private access settings.", + "path": "/api/2.0/accounts/{account_id}/private-access-settings", + "is_legacy_empty_request": true, + "is_crud_read": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPrivateAccessRequest", + "is_object": true + }, + "response": { + "pascal_name": "PrivateAccessSettingsList", + "array_value": { + "pascal_name": "PrivateAccessSettings", + "is_object": true + } + } + }, + { + "name": "Replace", + "description": "Updates an existing private access settings object, which specifies how your workspace is accessed over AWS PrivateLink. To use AWS PrivateLink, a workspace must have a private access settings object referenced by ID in the workspace's private_access_settings_id property.\nThis operation completely overwrites your existing private access settings object attached to your workspaces. All workspaces attached to the private access settings are affected by any change. If public_access_enabled, private_access_level, or allowed_vpc_endpoint_ids are updated, effects of these changes might take several minutes to propagate to the workspace API.\nYou can share one private access settings object with multiple workspaces in a single account. However, private access settings are specific to AWS regions, so only workspaces in the same AWS region can use a given private access settings object.\nBefore configuring PrivateLink, read the Databricks article about PrivateLink.", + "summary": "Update private access settings.", + "path": "/api/2.0/accounts/{account_id}/private-access-settings/{private_access_settings_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ReplacePrivateAccessSettingsRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "project", - "description": "The Project to create.", + "name": "private_access_settings_id", + "description": "Databricks private access settings ID.", "required": true, - "is_request_body_field": true, + "is_path": true, + "is_output_only": true, "entity": { - "pascal_name": "Project", - "is_object": true + "is_string": true } }, { - "name": "project_id", - "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "name": "customer_facing_private_access_settings", + "description": "Properties of the new private access settings object.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PrivateAccessSettings", + "is_object": true } } ], "required_in_url_fields": [ { - "name": "project_id", - "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "name": "private_access_settings_id", + "description": "Databricks private access settings ID.", "required": true, - "is_query": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } @@ -164219,163 +172699,338 @@ ], "required_request_body_fields": [ { - "name": "project", - "description": "The Project to create.", + "name": "customer_facing_private_access_settings", + "description": "Properties of the new private access settings object.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Project", + "pascal_name": "PrivateAccessSettings", "is_object": true } } ] }, "request_body_field": { - "name": "project", - "description": "The Project to create.", + "name": "customer_facing_private_access_settings", + "description": "Properties of the new private access settings object.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Project", + "pascal_name": "PrivateAccessSettings", "is_object": true } }, "response": { - "pascal_name": "Operation", + "pascal_name": "PrivateAccessSettings", "is_object": true }, "all_fields": [ { - "name": "project", - "description": "The Project to create.", + "name": "customer_facing_private_access_settings", + "description": "Properties of the new private access settings object.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Project", + "pascal_name": "PrivateAccessSettings", "is_object": true } }, { - "name": "project_id", - "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "name": "private_access_settings_id", + "description": "Databricks private access settings ID.", "required": true, - "is_query": true, + "is_path": true, + "is_output_only": true, "entity": { "is_string": true } }, { - "name": "create_time", - "description": "A timestamp indicating when the project was created.", + "name": "account_id", + "description": "The Databricks account ID that hosts the private access settings.", "is_output_only": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "is_string": true } }, { - "name": "delete_time", - "description": "A timestamp indicating when the project was soft-deleted.\nEmpty if the project is not deleted, otherwise set to a timestamp in the past.", - "is_output_only": true, + "name": "allowed_vpc_endpoint_ids", + "description": "An array of Databricks VPC endpoint IDs. This is the Databricks ID that is returned when registering the VPC endpoint configuration in your Databricks account. This is not the ID of the VPC endpoint in AWS.\nOnly used when private_access_level is set to ENDPOINT. This is an allow list of VPC endpoints that in your account that can connect to your workspace over AWS PrivateLink.\nIf hybrid access to your workspace is enabled by setting public_access_enabled to true, this control only works for PrivateLink connections. To control how your workspace is accessed via public internet, see IP access lists.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "initial_branch_spec", - "description": "Configuration for the initial default branch created as part of project creation.\nAllows overriding branch protection. These settings only apply at creation time\nand do not affect resources created after project creation.", + "name": "private_access_level", + "description": "The private access level controls which VPC endpoints can connect to the UI or API of any workspace that attaches this private access settings object.\n`ACCOUNT` level access (the default) allows only VPC endpoints that are registered in your Databricks account connect to your workspace.\n`ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details, see allowed_vpc_endpoint_ids.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "InitialBranchSpec", - "is_object": true + "pascal_name": "PrivateAccessLevel", + "enum": [ + { + "content": "ACCOUNT" + }, + { + "content": "ENDPOINT" + } + ] } }, { - "name": "initial_endpoint_spec", - "description": "Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly\ncreated project. If omitted, the initial endpoint created will have default settings, without high availability\nconfigured. This field does not apply to any endpoints created after project creation. Use\nspec.default_endpoint_settings to configure default settings for endpoints created after project creation.", + "name": "private_access_settings_id", + "description": "Databricks private access settings ID.", + "is_output_only": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "InitialEndpointSpec", - "is_object": true + "is_string": true } }, { - "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "name": "private_access_settings_name", + "description": "The human-readable name of the private access settings object.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "project_id", - "description": "The part of the name, chosen by the user when the resource was created.", + "name": "public_access_enabled", + "description": "Determines if the workspace can be accessed over public internet. For fully private workspaces, you can optionally specify false, but only if you implement both the front-end and the back-end PrivateLink connections. Otherwise, specify true, which means that public access is enabled.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "region", + "description": "The AWS region for workspaces attached to this private access settings object.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "private_access_settings_id", + "description": "Databricks private access settings ID.", + "required": true, + "is_path": true, "is_output_only": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "marketplace.ProviderExchangeFilters", + "name": "ProviderExchangeFilters", + "description": "Marketplace exchanges filters curate which groups can access an exchange.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "named_id_map": { + "pascal_name": "ExchangeFilterNameToIdMap" + }, + "request": { + "pascal_name": "ListExchangeFiltersRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Add an exchange filter.", + "summary": "Create a new exchange filter.", + "path": "/api/2.0/marketplace-exchange/filters", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "CreateExchangeFilterRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "filter", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ExchangeFilter", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "filter", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ExchangeFilter", + "is_object": true + } + } + ] + }, + "response": { + "pascal_name": "CreateExchangeFilterResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "filter", + "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "ExchangeFilter", + "is_object": true + } + } + ] + }, + { + "name": "Delete", + "description": "Delete an exchange filter", + "summary": "Delete an exchange filter.", + "path": "/api/2.0/marketplace-exchange/filters/{id}", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "DeleteExchangeFilterRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DeleteExchangeFilterResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "id", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "purge_time", - "description": "A timestamp indicating when the project is scheduled for permanent deletion.\nEmpty if the project is not deleted, otherwise set to a timestamp in the future.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true + } + ] + }, + { + "name": "List", + "description": "List exchange filter", + "summary": "List exchange filters.", + "path": "/api/2.0/marketplace-exchange/filters", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "ListExchangeFiltersRequest", + "is_object": true, + "required_fields": [ + { + "name": "exchange_id", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "exchange_id", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "ListExchangeFiltersResponse", + "is_object": true + }, + "all_fields": [ { - "name": "spec", - "description": "The spec contains the project configuration, including display_name, pg_version (Postgres version), history_retention_duration, and default_endpoint_settings.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "exchange_id", + "required": true, + "is_query": true, "entity": { - "pascal_name": "ProjectSpec", - "is_object": true + "is_string": true } }, { - "name": "status", - "description": "The current status of a Project.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, + "name": "page_size", + "is_query": true, "entity": { - "pascal_name": "ProjectStatus", - "is_object": true + "is_int": true } }, { - "name": "uid", - "description": "System-generated unique ID for the project.", - "is_output_only": true, - "is_request_body_field": true, + "name": "page_token", + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "update_time", - "description": "A timestamp indicating when the project was last updated.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } } ], "required_positional_arguments": [ { - "name": "project_id", - "description": "The ID to use for the Project. This becomes the final component of the project's resource name.\nThe ID is required and must be 1-63 characters long, start with a lowercase letter, and contain only lowercase letters, numbers, and hyphens.\nFor example, `my-app` becomes `projects/my-app`.", + "name": "exchange_id", "required": true, "is_query": true, "entity": { @@ -164383,37 +173038,37 @@ } } ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } - }, - "response_type": {} + } } }, { - "name": "CreateRole", - "description": "Creates a new Postgres role in the branch.", - "summary": "Create a Postgres Role for a Branch.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/roles", + "name": "Update", + "description": "Update an exchange filter.", + "summary": "Update exchange filter.", + "path": "/api/2.0/marketplace-exchange/filters/{id}", "can_use_json": true, - "is_crud_create": true, + "must_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateRoleRequest", + "pascal_name": "UpdateExchangeFilterRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -164421,20 +173076,18 @@ } }, { - "name": "role", - "description": "The desired specification of a Role.", + "name": "filter", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "ExchangeFilter", "is_object": true } } ], "required_in_url_fields": [ { - "name": "parent", - "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -164444,298 +173097,326 @@ ], "required_request_body_fields": [ { - "name": "role", - "description": "The desired specification of a Role.", + "name": "filter", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "ExchangeFilter", "is_object": true } } ] }, - "request_body_field": { - "name": "role", - "description": "The desired specification of a Role.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Role", - "is_object": true - } - }, "response": { - "pascal_name": "Operation", + "pascal_name": "UpdateExchangeFilterResponse", "is_object": true }, "all_fields": [ { - "name": "parent", - "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "replace_existing", - "description": "If true, update the role if it already exists instead of returning an\nerror.\n\nWhen the role already exists, the provided `role` spec fully replaces the\nexisting one: `membership_roles` is overwritten, not merged. Leaving\n`membership_roles` empty clears all of the role's existing memberships,\nincluding `DATABRICKS_SUPERUSER`. Always send the complete desired list of\nmemberships when using this field.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "role", - "description": "The desired specification of a Role.", + "name": "filter", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "ExchangeFilter", "is_object": true } }, { - "name": "role_id", - "description": "The ID to use for the Role, which will become the final component of\nthe role's resource name.\nThis ID becomes the role in Postgres.\n\nThis value should be 4-63 characters, and valid characters\nare lowercase letters, numbers, and hyphens, as defined by RFC 1123.\n\nIf role_id is not specified in the request, it is generated automatically.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The Branch where this Role exists.\nFormat: projects/{project_id}/branches/{branch_id}", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "role_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, + "name": "id", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "spec", - "description": "The spec contains the role configuration, including identity type, authentication method, and role attributes.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RoleRoleSpec", - "is_object": true - } - }, - { - "name": "status", - "description": "Current status of the role, including its identity type, authentication method, and role attributes.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RoleRoleStatus", - "is_object": true - } - }, - { - "name": "update_time", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "The Branch where this Role is created.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": {} - } + ] + } + ] + }, + { + "id": "marketplace.ProviderExchanges", + "name": "ProviderExchanges", + "description": "Marketplace exchanges allow providers to share their listings with a curated set of customers.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "named_id_map": { + "pascal_name": "ExchangeNameToIdMap" }, + "request": { + "pascal_name": "ListExchangesRequest" + } + }, + "methods": [ { - "name": "CreateSyncedTable", - "description": "Create a Synced Table.", - "summary": "Create a Synced Database Table.", - "path": "/api/2.0/postgres/synced_tables", + "name": "AddListingToExchange", + "description": "Associate an exchange with a listing", + "summary": "Add an exchange for listing.", + "path": "/api/2.0/marketplace-exchange/exchanges-for-listing", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateSyncedTableRequest", + "pascal_name": "AddExchangeForListingRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "synced_table", + "name": "listing_id", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SyncedTable", - "is_object": true + "is_string": true } }, { - "name": "synced_table_id", - "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "name": "exchange_id", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "synced_table_id", - "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "name": "listing_id", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "synced_table", + "name": "exchange_id", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SyncedTable", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "synced_table", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "SyncedTable", - "is_object": true - } - }, "response": { - "pascal_name": "Operation", + "pascal_name": "AddExchangeForListingResponse", "is_object": true }, "all_fields": [ { - "name": "synced_table", + "name": "exchange_id", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SyncedTable", - "is_object": true + "is_string": true } }, { - "name": "synced_table_id", - "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "name": "listing_id", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "create_time", - "is_output_only": true, + "name": "listing_id", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "is_string": true } }, { - "name": "name", - "description": "Output only. The Full resource name of the synced table in Postgres\nwhere (catalog, schema, table) are the UC entity names.\n\nFormat \"synced_tables/{catalog}.{schema}.{table}\"\n\nFor the corresponding source table in the Unity catalog look for the \"source_table_full_name\" attribute.", + "name": "exchange_id", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "Create", + "description": "Create an exchange", + "summary": "Create an exchange.", + "path": "/api/2.0/marketplace-exchange/exchanges", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "CreateExchangeRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "exchange", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Exchange", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "exchange", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Exchange", + "is_object": true + } + } + ] + }, + "response": { + "pascal_name": "CreateExchangeResponse", + "is_object": true + }, + "all_fields": [ { - "name": "spec", - "description": "Configuration details of the synced table, such as the source table, scheduling policy, etc.\nThis attribute is specified at creation time and most fields are returned as is on subsequent queries.", + "name": "exchange", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "SyncedTableSyncedTableSpec", + "pascal_name": "Exchange", "is_object": true } - }, + } + ] + }, + { + "name": "Delete", + "description": "This removes a listing from marketplace.", + "summary": "Delete an exchange.", + "path": "/api/2.0/marketplace-exchange/exchanges/{id}", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "DeleteExchangeRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DeleteExchangeResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ { - "name": "status", - "description": "Synced Table data synchronization status.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, + "name": "id", + "required": true, + "is_path": true, "entity": { - "pascal_name": "SyncedTableSyncedTableStatus", - "is_object": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "synced_table_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, + "name": "id", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "DeleteListingFromExchange", + "description": "Disassociate an exchange with a listing", + "summary": "Remove an exchange for listing.", + "path": "/api/2.0/marketplace-exchange/exchanges-for-listing/{id}", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "RemoveExchangeForListingRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "RemoveExchangeForListingResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ { - "name": "uid", - "description": "The Unity Catalog table ID for this synced table.", - "is_output_only": true, - "is_request_body_field": true, + "name": "id", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -164743,43 +173424,32 @@ ], "required_positional_arguments": [ { - "name": "synced_table_id", - "description": "The ID to use for the Synced Table. This becomes the final component of the SyncedTable's resource name.\nID is required and is the synced table name, containing (catalog, schema, table) tuple.\nElements of the tuple are the UC entity names.\n\nExample: \"{catalog}.{schema}.{table}\"\n\nsynced_table_id represents both of the following:\n\n1. An online VIEW virtual table in the Unity Catalog accessible via the Lakehouse Federation.\n2. Postgres table named \"{table}\" in schema \"{schema}\" in the connected Postgres database", + "name": "id", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": {} - } + ] }, { - "name": "DeleteBranch", - "description": "Deletes the specified database branch.", - "summary": "Delete a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*}", + "name": "Get", + "description": "Get an exchange.", + "summary": "Get an exchange.", + "path": "/api/2.0/marketplace-exchange/exchanges/{id}", + "is_crud_read": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteBranchRequest", + "pascal_name": "GetExchangeRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -164789,8 +173459,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -164800,71 +173469,94 @@ ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "GetExchangeResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "purge", - "description": "If true, permanently delete the branch; if false, soft delete.", - "is_query": true, - "entity": { - "is_bool": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the branch to delete.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + ] + }, + { + "name": "List", + "description": "List exchanges visible to provider", + "summary": "List exchanges.", + "path": "/api/2.0/marketplace-exchange/exchanges", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "ListExchangesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListExchangesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true } }, - "response_type": { - "is_empty_response": true + { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } } } }, { - "name": "DeleteCatalog", - "description": "Delete a Database Catalog.", - "summary": "Delete a Database Catalog.", - "path": "/api/2.0/postgres/{name=catalogs/*}", + "name": "ListExchangesForListing", + "description": "List exchanges associated with a listing", + "summary": "List exchanges for listing.", + "path": "/api/2.0/marketplace-exchange/exchanges-for-listing", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteCatalogRequest", + "pascal_name": "ListExchangesForListingRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -164872,10 +173564,9 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -164883,15 +173574,28 @@ ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "ListExchangesForListingResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "is_query": true, "entity": { "is_string": true } @@ -164899,47 +173603,44 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the catalog to delete.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } - }, - "response_type": { - "is_empty_response": true } } }, { - "name": "DeleteCdfConfig", - "description": "Delete a CDF configuration and stop materializing the change data feed. When\nforce=true, also drops the Delta tables in Unity Catalog. When force=false\n(default), the existing tables are preserved at their last state.", - "summary": "Delete a change data feed configuration.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/cdf-configs/*}", + "name": "ListListingsForExchange", + "description": "List listings associated with an exchange", + "summary": "List listings for exchange.", + "path": "/api/2.0/marketplace-exchange/listings-for-exchange", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteCdfConfigRequest", + "pascal_name": "ListListingsForExchangeRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "exchange_id", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -164947,10 +173648,9 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "exchange_id", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -164958,23 +173658,28 @@ ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "ListListingsForExchangeResponse", "is_object": true }, "all_fields": [ { - "name": "force", - "description": "When true, also drops the replicated Delta tables in Unity Catalog. When\nfalse (the default), the replicated tables are preserved at their last\nsynced state.", + "name": "exchange_id", + "required": true, "is_query": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "name", - "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", - "required": true, - "is_path": true, + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "is_query": true, "entity": { "is_string": true } @@ -164982,71 +173687,99 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the CdfConfig to delete.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "exchange_id", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } - }, - "response_type": { - "is_empty_response": true } } }, { - "name": "DeleteDataApi", - "description": "Disable Data API for a database.", - "summary": "Disable Data API for a database.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/data-api}", - "is_hidden_cli": true, + "name": "Update", + "description": "Update an exchange", + "summary": "Update exchange.", + "path": "/api/2.0/marketplace-exchange/exchanges/{id}", + "can_use_json": true, + "must_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteDataApiRequest", + "pascal_name": "UpdateExchangeRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "exchange", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Exchange", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "exchange", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Exchange", + "is_object": true + } + } ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "UpdateExchangeResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "exchange", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Exchange", + "is_object": true + } + }, + { + "name": "id", "required": true, "is_path": true, "entity": { @@ -165056,45 +173789,197 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + ] + } + ] + }, + { + "id": "marketplace.ProviderFiles", + "name": "ProviderFiles", + "description": "Marketplace offers a set of file APIs for various purposes such as preview notebooks and provider icons.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "named_id_map": { + "pascal_name": "FileInfoDisplayNameToIdMap" + }, + "request": { + "pascal_name": "ListFilesRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Create a file. Currently, only provider icons and attached notebooks are supported.", + "summary": "Create a file.", + "path": "/api/2.0/marketplace-provider/files", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "CreateFileRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "file_parent", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FileParent", + "is_object": true + } + }, + { + "name": "marketplace_file_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MarketplaceFileType", + "enum": [ + { + "content": "APP" + }, + { + "content": "EMBEDDED_NOTEBOOK" + }, + { + "content": "PROVIDER_ICON" + } + ] + } + }, + { + "name": "mime_type", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "file_parent", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FileParent", + "is_object": true + } + }, + { + "name": "marketplace_file_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MarketplaceFileType", + "enum": [ + { + "content": "APP" + }, + { + "content": "EMBEDDED_NOTEBOOK" + }, + { + "content": "PROVIDER_ICON" + } + ] + } + }, + { + "name": "mime_type", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "CreateFileResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "display_name", + "is_request_body_field": true, + "entity": { + "is_string": true } }, - "response_type": { - "is_empty_response": true + { + "name": "file_parent", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FileParent", + "is_object": true + } + }, + { + "name": "marketplace_file_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MarketplaceFileType", + "enum": [ + { + "content": "APP" + }, + { + "content": "EMBEDDED_NOTEBOOK" + }, + { + "content": "PROVIDER_ICON" + } + ] + } + }, + { + "name": "mime_type", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } - } + ] }, { - "name": "DeleteDatabase", - "description": "Delete a Database.", - "summary": "Delete a Database.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", + "name": "Delete", + "description": "Delete a file", + "summary": "Delete a file.", + "path": "/api/2.0/marketplace-provider/files/{file_id}", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteDatabaseRequest", + "pascal_name": "DeleteFileRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { @@ -165104,8 +173989,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { @@ -165115,13 +173999,13 @@ ] }, "response": { - "pascal_name": "Operation", - "is_object": true + "pascal_name": "DeleteFileResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { @@ -165131,45 +174015,32 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": { - "is_empty_response": true - } - } + ] }, { - "name": "DeleteEndpoint", - "description": "Deletes the specified compute endpoint.", - "summary": "Delete an Endpoint.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", + "name": "Get", + "description": "Get a file", + "summary": "Get a file.", + "path": "/api/2.0/marketplace-provider/files/{file_id}", + "is_crud_read": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteEndpointRequest", + "pascal_name": "GetFileRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { @@ -165179,8 +174050,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { @@ -165190,13 +174060,12 @@ ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "GetFileResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { @@ -165206,211 +174075,187 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "file_id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": { - "is_empty_response": true - } - } + ] }, { - "name": "DeleteProject", - "description": "Deletes the specified database project.", - "summary": "Delete a Project.", - "path": "/api/2.0/postgres/{name=projects/*}", - "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", + "name": "List", + "description": "List files attached to a parent entity.", + "summary": "List files.", + "path": "/api/2.0/marketplace-provider/files", + "can_use_json": true, + "must_use_json": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteProjectRequest", + "pascal_name": "ListFilesRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "name": "file_parent", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "pascal_name": "FileParent", + "is_object": true } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "name": "file_parent", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "pascal_name": "FileParent", + "is_object": true } } ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "ListFilesResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "name": "file_parent", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "pascal_name": "FileParent", + "is_object": true } }, { - "name": "purge", - "description": "If true, permanently deletes the project (hard delete).\nIf false or unset, performs a soft delete.", + "name": "page_size", "is_query": true, "entity": { - "is_bool": true + "is_int": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", - "required": true, - "is_path": true, + "name": "page_token", + "is_query": true, "entity": { "is_string": true } } ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } - }, - "response_type": { - "is_empty_response": true } } + } + ] + }, + { + "id": "marketplace.ProviderListings", + "name": "ProviderListings", + "description": "Listings are the core entities in the Marketplace. They represent the products that are available for consumption.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "named_id_map": { + "pascal_name": "ListingSummaryNameToIdMap" }, + "request": { + "pascal_name": "GetListingsRequest" + } + }, + "methods": [ { - "name": "DeleteRole", - "description": "Deletes the specified Postgres role.", - "summary": "Delete a Postgres Role from a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/roles/*}", - "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", + "name": "Create", + "description": "Create a new listing", + "summary": "Create a listing.", + "path": "/api/2.0/marketplace-provider/listing", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteRoleRequest", + "pascal_name": "CreateListingRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "listing", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Listing", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "listing", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Listing", + "is_object": true } } ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "CreateListingResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "reassign_owned_to", - "description": "Reassign objects. If this is set, all objects owned by the role are\nreassigned to the role specified in this parameter.\n\nNOTE: setting this requires spinning up a compute to succeed, since it involves running\nSQL queries.", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "listing", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pascal_name": "Listing", + "is_object": true } - }, - "response_type": { - "is_empty_response": true } - } + ] }, { - "name": "DeleteSyncedTable", - "description": "Delete a Synced Table.", - "summary": "Delete a Synced Database Table.", - "path": "/api/2.0/postgres/{name=synced_tables/*}", + "name": "Delete", + "description": "Delete a listing", + "summary": "Delete a listing.", + "path": "/api/2.0/marketplace-provider/listings/{id}", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteSyncedTableRequest", + "pascal_name": "DeleteListingRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -165420,8 +174265,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -165431,13 +174275,13 @@ ] }, "response": { - "pascal_name": "Operation", - "is_object": true + "pascal_name": "DeleteListingResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -165447,61 +174291,44 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The Full resource name of the synced table, of the format \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the UC entity names.", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": { - "is_empty_response": true - } - } + ] }, { - "name": "GenerateDatabaseCredential", - "description": "Generate OAuth credentials for a Postgres database.", - "summary": "Generate OAuth credentials for a Postgres database.", - "path": "/api/2.0/postgres/credentials", - "can_use_json": true, - "is_crud_create": true, + "name": "Get", + "description": "Get a listing", + "summary": "Get a listing.", + "path": "/api/2.0/marketplace-provider/listings/{id}", + "is_crud_read": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GenerateDatabaseCredentialRequest", + "pascal_name": "GetListingRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "endpoint", - "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "endpoint", - "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -165509,118 +174336,159 @@ ] }, "response": { - "pascal_name": "DatabaseCredential", + "pascal_name": "GetListingResponse", "is_object": true }, "all_fields": [ { - "name": "claims", - "description": "The returned token will be scoped to UC tables with the specified permissions.", - "is_request_body_field": true, + "name": "id", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RequestedClaimsList", - "array_value": { - "pascal_name": "RequestedClaims", - "is_object": true - } + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "endpoint", - "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "List", + "description": "List listings owned by this provider", + "summary": "List listings.", + "path": "/api/2.0/marketplace-provider/listings", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetListingsRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetListingsResponse", + "is_object": true + }, + "all_fields": [ { - "name": "expire_time", - "description": "Timestamp in UTC of when this credential should expire.\nMust be at least 300 seconds (5 minutes) and at most 1 hour from the current time.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "page_size", + "is_query": true, "entity": { - "is_timestamp": true + "is_int": true } }, { - "name": "ttl", - "description": "The requested time-to-live for the generated credential token.\nMust be at least 300 seconds (5 minutes) and at most 3600 seconds (1 hour).", - "is_request_body_field": true, - "is_optional_object": true, + "name": "page_token", + "is_query": true, "entity": { - "is_duration": true + "is_string": true } } ], - "required_positional_arguments": [ - { - "name": "endpoint", - "description": "The endpoint resource name for which this credential will be generated.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } } - ] + } }, { - "name": "GetBranch", - "description": "Retrieves information about the specified database branch.", - "summary": "Get a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*}", - "is_crud_read": true, + "name": "Update", + "description": "Update a listing", + "summary": "Update listing.", + "path": "/api/2.0/marketplace-provider/listings/{id}", + "can_use_json": true, + "must_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetBranchRequest", + "pascal_name": "UpdateListingRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "listing", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Listing", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "listing", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Listing", + "is_object": true + } + } ] }, "response": { - "pascal_name": "Branch", + "pascal_name": "UpdateListingResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "listing", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Listing", + "is_object": true + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the branch to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -165628,125 +174496,350 @@ } } ] + } + ] + }, + { + "id": "marketplace.ProviderPersonalizationRequests", + "name": "ProviderPersonalizationRequests", + "description": "Personalization requests are an alternate to instantly available listings. Control the lifecycle of personalized solutions.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "request": { + "pascal_name": "ListAllPersonalizationRequestsRequest" + } + }, + "methods": [ + { + "name": "List", + "description": "List personalization requests to this provider.\nThis will return all personalization requests, regardless of which listing they are for.", + "summary": "All personalization requests across all listings.", + "path": "/api/2.0/marketplace-provider/personalization-requests", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "ListAllPersonalizationRequestsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListAllPersonalizationRequestsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "GetCatalog", - "description": "Get a Database Catalog.", - "summary": "Get a Database Catalog.", - "path": "/api/2.0/postgres/{name=catalogs/*}", - "is_crud_read": true, + "name": "Update", + "description": "Update personalization request. This method only permits updating the status of the request.", + "summary": "Update personalization request status.", + "path": "/api/2.0/marketplace-provider/listings/{listing_id}/personalization-requests/{request_id}/request-status", + "can_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetCatalogRequest", + "pascal_name": "UpdatePersonalizationRequestRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "request_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "status", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalizationRequestStatus", + "enum": [ + { + "content": "DENIED" + }, + { + "content": "FULFILLED" + }, + { + "content": "NEW" + }, + { + "content": "REQUEST_PENDING" + } + ] + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_id", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "status", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalizationRequestStatus", + "enum": [ + { + "content": "DENIED" + }, + { + "content": "FULFILLED" + }, + { + "content": "NEW" + }, + { + "content": "REQUEST_PENDING" + } + ] + } + } ] }, "response": { - "pascal_name": "Catalog", + "pascal_name": "UpdatePersonalizationRequestResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "reason", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "share", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "ShareInfo", + "is_object": true + } + }, + { + "name": "status", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalizationRequestStatus", + "enum": [ + { + "content": "DENIED" + }, + { + "content": "FULFILLED" + }, + { + "content": "NEW" + }, + { + "content": "REQUEST_PENDING" + } + ] + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the catalog to retrieve.\n\nFormat: \"catalogs/{catalog_id}\".", + "name": "listing_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "request_id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "status", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PersonalizationRequestStatus", + "enum": [ + { + "content": "DENIED" + }, + { + "content": "FULFILLED" + }, + { + "content": "NEW" + }, + { + "content": "REQUEST_PENDING" + } + ] + } } ] - }, + } + ] + }, + { + "id": "marketplace.ProviderProviderAnalyticsDashboards", + "name": "ProviderProviderAnalyticsDashboards", + "description": "Manage templated analytics solution for providers.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "methods": [ { - "name": "GetCdfConfig", - "description": "Get a single Lakebase CDF configuration, including the source Postgres\nschema, target Unity Catalog schema, and the identity under which writes are\nauthorized.", - "summary": "Get a change data feed configuration.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/cdf-configs/*}", - "is_crud_read": 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", + "name": "Create", + "description": "Create provider analytics dashboard. Returns Marketplace specific `id`. Not to be confused with the Lakeview dashboard id.", + "summary": "Create provider analytics dashboard.", + "path": "/api/2.0/marketplace-provider/analytics_dashboard", + "is_legacy_empty_request": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetCdfConfigRequest", + "pascal_name": "CreateProviderAnalyticsDashboardRequest", + "is_object": true + }, + "response": { + "pascal_name": "ProviderAnalyticsDashboard", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "id", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "id", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] + } + }, + { + "name": "Get", + "description": "Get provider analytics dashboard.", + "summary": "Get provider analytics dashboard.", + "path": "/api/2.0/marketplace-provider/analytics_dashboard", + "is_legacy_empty_request": true, + "is_crud_read": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "ListProviderAnalyticsDashboardRequest", + "is_object": true }, "response": { - "pascal_name": "CdfConfig", + "pascal_name": "ListProviderAnalyticsDashboardResponse", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "name": "id", "required": true, "is_request_body_field": true, "entity": { @@ -165754,8 +174847,8 @@ } }, { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "name": "dashboard_id", + "description": "dashboard_id will be used to open Lakeview dashboard.", "required": true, "is_request_body_field": true, "entity": { @@ -165765,17 +174858,7 @@ ], "required_request_body_fields": [ { - "name": "catalog", - "description": "The Unity Catalog catalog that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema", - "description": "The Unity Catalog schema that replicated tables are written into.\nSet at creation; the CdfConfig is immutable.", + "name": "id", "required": true, "is_request_body_field": true, "entity": { @@ -165783,8 +174866,8 @@ } }, { - "name": "postgres_schema", - "description": "The Postgres schema this CdfConfig replicates from. Unique within the\nparent database. Set at creation; the CdfConfig is immutable.", + "name": "dashboard_id", + "description": "dashboard_id will be used to open Lakeview dashboard.", "required": true, "is_request_body_field": true, "entity": { @@ -165792,48 +174875,46 @@ } } ] - }, - "all_fields": [ - { - "name": "name", - "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The resource name of the CdfConfig to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + } }, { - "name": "GetCdfStatus", - "description": "Get the CDF status of a single table within a Lakebase CDF configuration,\nincluding its current state and the last committed position in the feed.", - "summary": "Get a change data feed status.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/cdf-configs/*/cdf-statuses/*}", + "name": "GetLatestVersion", + "description": "Get latest version of provider analytics dashboard.", + "summary": "Get latest version of provider analytics dashboard.", + "path": "/api/2.0/marketplace-provider/analytics_dashboard/latest", + "is_legacy_empty_request": true, "is_crud_read": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetLatestVersionProviderAnalyticsDashboardRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetLatestVersionProviderAnalyticsDashboardResponse", + "is_object": true + } + }, + { + "name": "Update", + "description": "Update provider analytics dashboard.", + "summary": "Update provider analytics dashboard.", + "path": "/api/2.0/marketplace-provider/analytics_dashboard/{id}", + "can_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetCdfStatusRequest", + "pascal_name": "UpdateProviderAnalyticsDashboardRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", + "name": "id", + "description": "id is immutable property and can't be updated.", "required": true, "is_path": true, "entity": { @@ -165843,8 +174924,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", + "name": "id", + "description": "id is immutable property and can't be updated.", "required": true, "is_path": true, "entity": { @@ -165854,151 +174935,73 @@ ] }, "response": { - "pascal_name": "CdfStatus", - "is_object": true - }, - "all_fields": [ - { - "name": "name", - "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The resource name of the CdfStatus to retrieve.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}/cdf-statuses/{cdf_status}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetDataApi", - "description": "Get Data API configuration for a database.", - "summary": "Get Data API configuration.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/data-api}", - "is_crud_read": true, - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "GetDataApiRequest", + "pascal_name": "UpdateProviderAnalyticsDashboardResponse", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "id", + "description": "id \u0026 version should be the same as the request", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "dashboard_id", + "description": "this is newly created Lakeview dashboard for the user", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "DataApi", - "is_object": true - }, - "all_fields": [ - { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetDatabase", - "description": "Get a Database.", - "summary": "Get a Database.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", - "is_crud_read": 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": "GetDatabaseRequest", - "is_object": true, - "required_fields": [ + ], + "required_request_body_fields": [ { - "name": "name", - "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "id", + "description": "id \u0026 version should be the same as the request", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "dashboard_id", + "description": "this is newly created Lakeview dashboard for the user", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "Database", - "is_object": true - }, "all_fields": [ { - "name": "name", - "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "id", + "description": "id is immutable property and can't be updated.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "version", + "description": "this is the version of the dashboard template we want to update our user to\ncurrent expectation is that it should be equal to latest version of the dashboard template", + "is_request_body_field": true, + "entity": { + "is_int64": true + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the Database to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "id", + "description": "id is immutable property and can't be updated.", "required": true, "is_path": true, "entity": { @@ -166006,89 +175009,101 @@ } } ] + } + ] + }, + { + "id": "marketplace.ProviderProviders", + "name": "ProviderProviders", + "description": "Providers are entities that manage assets in Marketplace.", + "package": { + "name": "marketplace" + }, + "docs_group": "marketplace", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "named_id_map": { + "pascal_name": "ProviderInfoNameToIdMap" }, + "request": { + "pascal_name": "ListProvidersRequest" + } + }, + "methods": [ { - "name": "GetEndpoint", - "description": "Retrieves information about the specified compute endpoint, including its connection details and operational state.", - "summary": "Get an Endpoint.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", - "is_crud_read": 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", + "name": "Create", + "description": "Create a provider", + "summary": "Create a provider.", + "path": "/api/2.0/marketplace-provider/provider", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetEndpointRequest", + "pascal_name": "CreateProviderRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "provider", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ProviderInfo", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "provider", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ProviderInfo", + "is_object": true } } ] }, "response": { - "pascal_name": "Endpoint", + "pascal_name": "CreateProviderResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The full resource path of the endpoint to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "provider", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ProviderInfo", + "is_object": true } } ] }, { - "name": "GetOperation", - "description": "Retrieves the status of a long-running operation.", - "summary": "Get an Operation.", - "path": "/api/2.0/postgres/{name=projects/*/operations/*}", - "is_crud_read": true, + "name": "Delete", + "description": "Delete provider", + "summary": "Delete provider.", + "path": "/api/2.0/marketplace-provider/providers/{id}", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetOperationRequest", + "pascal_name": "DeleteProviderRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the operation resource.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166098,8 +175113,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the operation resource.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166109,13 +175123,13 @@ ] }, "response": { - "pascal_name": "Operation", - "is_object": true + "pascal_name": "DeleteProviderResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "The name of the operation resource.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166125,8 +175139,7 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the operation resource.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166136,23 +175149,22 @@ ] }, { - "name": "GetProject", - "description": "Retrieves information about the specified database project.", - "summary": "Get a Project.", - "path": "/api/2.0/postgres/{name=projects/*}", + "name": "Get", + "description": "Get provider profile", + "summary": "Get provider.", + "path": "/api/2.0/marketplace-provider/providers/{id}", "is_crud_read": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetProjectRequest", + "pascal_name": "GetProviderRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166162,8 +175174,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166173,13 +175184,12 @@ ] }, "response": { - "pascal_name": "Project", + "pascal_name": "GetProviderResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166189,8 +175199,7 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the project to retrieve.\nFormat: projects/{project_id}", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166200,125 +175209,134 @@ ] }, { - "name": "GetRole", - "description": "Retrieves information about the specified Postgres role, including its authentication method and permissions.", - "summary": "Get a Postgres Role for a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/roles/*}", - "is_crud_read": true, + "name": "List", + "description": "List provider profiles for account.", + "summary": "List providers.", + "path": "/api/2.0/marketplace-provider/providers", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetRoleRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListProvidersRequest", + "is_object": true }, "response": { - "pascal_name": "Role", + "pascal_name": "ListProvidersResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "required": true, - "is_path": true, + "name": "page_size", + "is_query": true, "entity": { - "is_string": true + "is_int": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The full resource path of the role to retrieve.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", - "required": true, - "is_path": true, + "name": "page_token", + "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "GetSyncedTable", - "description": "Get a Synced Table.", - "summary": "Get a Synced Database Table.", - "path": "/api/2.0/postgres/{name=synced_tables/*}", - "is_crud_read": true, + "name": "Update", + "description": "Update provider profile", + "summary": "Update provider.", + "path": "/api/2.0/marketplace-provider/providers/{id}", + "can_use_json": true, + "must_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetSyncedTableRequest", + "pascal_name": "UpdateProviderRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "provider", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ProviderInfo", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "provider", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ProviderInfo", + "is_object": true + } + } ] }, "response": { - "pascal_name": "SyncedTable", + "pascal_name": "UpdateProviderResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", + "name": "id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "provider", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ProviderInfo", + "is_object": true + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The Full resource name of the synced table.\nFormat: \"synced_tables/{catalog}.{schema}.{table}\",\nwhere (catalog, schema, table) are the entity names in the Unity Catalog.", + "name": "id", "required": true, "is_path": true, "entity": { @@ -166326,123 +175344,211 @@ } } ] + } + ] + }, + { + "id": "sharing.Providers", + "name": "Providers", + "description": "A data provider is an object representing the organization in the real world who shares the\ndata. A provider contains shares which further contain the shared data.", + "package": { + "name": "sharing" + }, + "docs_group": "sharing", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "ProviderInfoNameToMetastoreIdMap" }, + "request": { + "pascal_name": "ListProvidersRequest" + } + }, + "methods": [ { - "name": "ListBranches", - "description": "Returns a paginated list of database branches in the project.", - "summary": "List Branches.", - "path": "/api/2.0/postgres/{parent=projects/*}/branches", + "name": "Create", + "description": "Creates a new authentication provider minimally based on a name and authentication type.\nThe caller must be an admin on the metastore.", + "summary": "Create an auth provider.", + "path": "/api/2.1/unity-catalog/providers", + "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListBranchesRequest", + "pascal_name": "CreateProvider", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", + "name": "name", + "description": "The name of the Provider.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "authentication_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] + } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "parent", - "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", + "name": "name", + "description": "The name of the Provider.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "authentication_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] + } } ] }, "response": { - "pascal_name": "ListBranchesResponse", + "pascal_name": "ProviderInfo", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "Upper bound for items returned. Cannot be negative.", - "is_query": true, + "name": "authentication_type", + "required": true, + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] } }, { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", - "is_query": true, + "name": "comment", + "description": "Description about the provider.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", + "name": "name", + "description": "The name of the Provider.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "show_deleted", - "description": "Whether to include soft-deleted branches in the response.\nWhen true, deleted branches are included alongside active branches.\nPurged branches are never returned.", - "is_query": true, + "name": "recipient_profile_str", + "description": "This field is required when the __authentication_type__ is **TOKEN**, **OAUTH_CLIENT_CREDENTIALS** or not provided.", + "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "The Project that owns this collection of branches.\nFormat: projects/{project_id}", + "name": "name", + "description": "The name of the Provider.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "authentication_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] } } - } + ] }, { - "name": "ListCdfConfigs", - "description": "List all CDF configurations for a Lakebase database. Each configuration maps\na Postgres schema to a Unity Catalog schema where the change data feed is\nmaterialized.", - "summary": "List change data feed configurations.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*}/cdf-configs", + "name": "Delete", + "description": "Deletes an authentication provider, if the caller is a metastore admin or is the owner of the provider.", + "summary": "Delete a provider.", + "path": "/api/2.1/unity-catalog/providers/{name}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListCdfConfigsRequest", + "pascal_name": "DeleteProviderRequest", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166452,8 +175558,8 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166463,29 +175569,12 @@ ] }, "response": { - "pascal_name": "ListCdfConfigsResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "page_size", - "description": "Maximum number of CdfConfigs to return.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "Pagination token returned by a previous ListCdfConfigs call. Empty on the\nfirst page.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166495,45 +175584,32 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "The parent database to list CdfConfigs for.\nFormat: projects/{project}/branches/{branch}/databases/{database}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token returned by a previous ListCdfConfigs call. Empty on the\nfirst page.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "ListCdfStatuses", - "description": "List the per-table CDF statuses within a Lakebase CDF configuration. Each\nstatus shows whether a table's change data feed is snapshotting, streaming,\nor skipped.", - "summary": "List change data feed statuses.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*/databases/*/cdf-configs/*}/cdf-statuses", + "name": "Get", + "description": "Gets a specific authentication provider.\nThe caller must supply the name of the provider, and must either be a metastore admin or the owner of the provider.", + "summary": "Get a provider.", + "path": "/api/2.1/unity-catalog/providers/{name}", + "is_crud_read": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListCdfStatusesRequest", + "pascal_name": "GetProviderRequest", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166543,8 +175619,8 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166554,29 +175630,13 @@ ] }, "response": { - "pascal_name": "ListCdfStatusesResponse", + "pascal_name": "ProviderInfo", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "Maximum number of CdfStatuses to return.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "Pagination token returned by a previous ListCdfStatuses call. Empty on the\nfirst page.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166586,101 +175646,53 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "The parent CdfConfig to list CdfStatuses for.\nFormat: projects/{project}/branches/{branch}/databases/{database}/cdf-configs/{cdf_config}", + "name": "name", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token returned by a previous ListCdfStatuses call. Empty on the\nfirst page.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "ListDatabases", - "description": "List Databases.", - "summary": "List postgres databases in a branch.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/databases", + "name": "List", + "description": "Gets an array of available authentication providers.\nThe caller must either be a metastore admin, have the **USE_PROVIDER** privilege on the providers,\nor be the owner of the providers. Providers not owned by the caller and for which the caller does\nnot have the **USE_PROVIDER** privilege are not included in the response.\nThere is no guarantee of a specific ordering of the elements in the array.", + "summary": "List providers.", + "path": "/api/2.1/unity-catalog/providers", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListDatabasesRequest", - "is_object": true, - "required_fields": [ - { - "name": "parent", - "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "parent", - "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListProvidersRequest", + "is_object": true }, "response": { - "pascal_name": "ListDatabasesResponse", + "pascal_name": "ListProvidersResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "Upper bound for items returned.", + "name": "data_provider_global_metastore_id", + "description": "If not provided, all providers will be returned.\nIf no providers exist with this ID, no results will be returned.", "is_query": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "description": "Pagination token to go to the next page of Databases. Requests first page if absent.", + "name": "max_results", + "description": "Maximum number of providers to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid providers are returned (not recommended).\n- Note: The number of returned providers might be less than the specified max_results size, even zero.\nThe only definitive indication that no further providers can be fetched is when the next_page_token is unset from the response.", "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "parent", - "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "parent", - "description": "The Branch that owns this collection of databases.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_path": true, + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { "is_string": true } @@ -166690,32 +175702,47 @@ "token": { "poll_field": { "name": "page_token", - "description": "Pagination token to go to the next page of Databases. Requests first page if absent.", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of providers to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid providers are returned (not recommended).\n- Note: The number of returned providers might be less than the specified max_results size, even zero.\nThe only definitive indication that no further providers can be fetched is when the next_page_token is unset from the response.", + "is_query": true, + "entity": { + "is_int": true + } } } }, { - "name": "ListEndpoints", - "description": "Returns a paginated list of compute endpoints in the branch.", - "summary": "List Endpoints.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/endpoints", + "name": "ListProviderShareAssets", + "description": "Get arrays of assets associated with a specified provider's share.\nThe caller is the recipient of the share.", + "summary": "List assets by provider share.", + "path": "/api/2.1/data-sharing/providers/{provider_name}/shares/{share_name}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListEndpointsRequest", + "pascal_name": "ListProviderShareAssetsRequest", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "provider_name", + "description": "The name of the provider who owns the share.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "share_name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -166725,8 +175752,17 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "provider_name", + "description": "The name of the provider who owns the share.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "share_name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -166736,134 +175772,97 @@ ] }, "response": { - "pascal_name": "ListEndpointsResponse", + "pascal_name": "ListProviderShareAssetsResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "Upper bound for items returned. Cannot be negative.", + "name": "function_max_results", + "description": "Maximum number of functions to return.", "is_query": true, "entity": { "is_int": true } }, { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", + "name": "notebook_max_results", + "description": "Maximum number of notebooks to return.", "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "parent", - "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "provider_name", + "description": "The name of the provider who owns the share.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "parent", - "description": "The Branch that owns this collection of endpoints.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "share_name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListProjects", - "description": "Returns a paginated list of database projects in the workspace that the user has permission to access.", - "summary": "List Projects.", - "path": "/api/2.0/postgres/projects", - "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": "ListProjectsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListProjectsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "page_size", - "description": "Upper bound for items returned. Cannot be negative. The maximum value is 100.", + "name": "table_max_results", + "description": "Maximum number of tables to return.", "is_query": true, "entity": { "is_int": true } }, { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", + "name": "volume_max_results", + "description": "Maximum number of volumes to return.", "is_query": true, + "entity": { + "is_int": true + } + } + ], + "required_positional_arguments": [ + { + "name": "provider_name", + "description": "The name of the provider who owns the share.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "show_deleted", - "description": "Whether to include soft-deleted projects in the response.\nWhen true, soft-deleted projects are included alongside active projects.\nHard-deleted and already-purged projects are never returned.", - "is_query": true, + "name": "share_name", + "description": "The name of the share.", + "required": true, + "is_path": true, "entity": { - "is_bool": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", - "is_query": true, - "entity": { - "is_string": true - } + "is_string": true } } - } + ] }, { - "name": "ListRoles", - "description": "Returns a paginated list of Postgres roles in the branch.", - "summary": "List Postgres Roles for a Branch.", - "path": "/api/2.0/postgres/{parent=projects/*/branches/*}/roles", + "name": "ListShares", + "description": "Gets an array of a specified provider's shares within the metastore where:\n\n* the caller is a metastore admin, or\n* the caller is the owner.", + "summary": "List shares by Provider.", + "path": "/api/2.1/unity-catalog/providers/{name}/shares", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListRolesRequest", + "pascal_name": "ListSharesRequest", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Name of the provider in which to list shares.", "required": true, "is_path": true, "entity": { @@ -166873,8 +175872,8 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Name of the provider in which to list shares.", "required": true, "is_path": true, "entity": { @@ -166884,31 +175883,31 @@ ] }, "response": { - "pascal_name": "ListRolesResponse", + "pascal_name": "ListProviderSharesResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "Upper bound for items returned. Cannot be negative.", + "name": "max_results", + "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", "is_query": true, "entity": { "is_int": true } }, { - "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", - "is_query": true, + "name": "name", + "description": "Name of the provider in which to list shares.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_path": true, + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { "is_string": true } @@ -166916,8 +175915,8 @@ ], "required_positional_arguments": [ { - "name": "parent", - "description": "The Branch that owns this collection of roles.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "name", + "description": "Name of the provider in which to list shares.", "required": true, "is_path": true, "entity": { @@ -166929,31 +175928,39 @@ "token": { "poll_field": { "name": "page_token", - "description": "Page token from a previous response. If not provided, returns the first page.", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", + "is_query": true, + "entity": { + "is_int": true + } } } }, { - "name": "UndeleteBranch", - "description": "Undeletes the specified database branch.", - "summary": "Undelete a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*}/undelete", - "is_hidden_cli": true, + "name": "Update", + "description": "Updates the information for an authentication provider, if the caller is a metastore admin or is the owner of the provider.\nIf the update changes the provider name, the caller must be both a metastore admin and the owner of the provider.", + "summary": "Update a provider.", + "path": "/api/2.1/unity-catalog/providers/{name}", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UndeleteBranchRequest", + "pascal_name": "UpdateProvider", "is_object": true, "required_fields": [ { "name": "name", - "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166964,7 +175971,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { @@ -166974,61 +175981,136 @@ ] }, "response": { - "pascal_name": "Operation", + "pascal_name": "ProviderInfo", "is_object": true }, "all_fields": [ + { + "name": "comment", + "description": "Description about the provider.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "name", - "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "new_name", + "description": "New name for the provider.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "owner", + "description": "Username of Provider owner.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "recipient_profile_str", + "description": "This field is required when the __authentication_type__ is **TOKEN**, **OAUTH_CLIENT_CREDENTIALS** or not provided.", + "is_request_body_field": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { "name": "name", - "description": "The full resource path of the branch to undelete.\nFormat: projects/{project_id}/branches/{branch_id}", + "description": "Name of the provider.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + ] + } + ] + }, + { + "id": "oauth2.PublishedAppIntegration", + "name": "PublishedAppIntegration", + "description": "These APIs enable administrators to manage published OAuth app integrations, which is required for\nadding/using Published OAuth App Integration like Tableau Desktop for Databricks in AWS cloud.", + "package": { + "name": "oauth2" + }, + "is_accounts": true, + "docs_group": "oauth2", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListPublishedAppIntegrationsRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Create Published OAuth App Integration.\n\nYou can retrieve the published OAuth app integration via [PublishedAppIntegration/get](https://docs.databricks.com/api/account/publishedappintegration/get).", + "summary": "Create Published OAuth App Integration.", + "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreatePublishedAppIntegration", + "is_object": true + }, + "response": { + "pascal_name": "CreatePublishedAppIntegrationOutput", + "is_object": true + }, + "all_fields": [ + { + "name": "app_id", + "description": "App id of the OAuth published app integration.\nFor example power-bi, tableau-deskop", + "is_request_body_field": true, + "entity": { + "is_string": true } }, - "response_type": { - "is_empty_response": true + { + "name": "token_access_policy", + "description": "Token access policy", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "TokenAccessPolicy", + "is_object": true + } } - } + ] }, { - "name": "UndeleteProject", - "description": "Undeletes a soft-deleted project.", - "summary": "Undelete a Project.", - "path": "/api/2.0/postgres/{name=projects/*}/undelete", + "name": "Delete", + "description": "Delete an existing Published OAuth App Integration.\nYou can retrieve the published OAuth app integration via [PublishedAppIntegration/get](https://docs.databricks.com/api/account/publishedappintegration/get).", + "summary": "Delete Published OAuth App Integration.", + "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations/{integration_id}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UndeleteProjectRequest", + "pascal_name": "DeletePublishedAppIntegrationRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { @@ -167038,8 +176120,7 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { @@ -167049,13 +176130,13 @@ ] }, "response": { - "pascal_name": "Operation", - "is_object": true + "pascal_name": "DeletePublishedAppIntegrationOutput", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { @@ -167065,364 +176146,158 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The full resource path of the project to undelete.\nFormat: projects/{project_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": { - "is_empty_response": true - } - } + ] }, { - "name": "UpdateBranch", - "description": "Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it.", - "summary": "Update a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*}", - "can_use_json": true, + "name": "Get", + "description": "Gets the Published OAuth App Integration for the given integration id.", + "summary": "Get OAuth Published App Integration.", + "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations/{integration_id}", + "is_crud_read": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateBranchRequest", + "pascal_name": "GetPublishedAppIntegrationRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "branch", - "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Branch", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "branch", - "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Branch", - "is_object": true - } } ] }, - "request_body_field": { - "name": "branch", - "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Branch", - "is_object": true - } - }, "response": { - "pascal_name": "Operation", + "pascal_name": "GetPublishedAppIntegrationOutput", "is_object": true }, "all_fields": [ { - "name": "branch", - "description": "The Branch to update.\n\nThe branch's `name` field is used to identify the branch to update.\nFormat: projects/{project_id}/branches/{branch_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Branch", - "is_object": true - } - }, - { - "name": "name", - "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "branch_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "description": "A timestamp indicating when the branch was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "name", - "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The project containing this branch (API resource hierarchy).\nFormat: projects/{project_id}\n\nNote: This field indicates where the branch exists in the resource hierarchy.\nFor point-in-time branching from another branch, see `status.source_branch`.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "spec", - "description": "The spec contains the branch configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "BranchSpec", - "is_object": true - } - }, - { - "name": "status", - "description": "The current status of a Branch.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "BranchStatus", - "is_object": true - } - }, - { - "name": "uid", - "description": "System-generated unique ID for the branch.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_time", - "description": "A timestamp indicating when the branch was last updated.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Output only. The full resource path of the branch.\nFormat: projects/{project_id}/branches/{branch_id}", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } + } + ] + }, + { + "name": "List", + "description": "Get the list of published OAuth app integrations for the specified Databricks account", + "summary": "Get published oauth app integrations.", + "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListPublishedAppIntegrationsRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetPublishedAppIntegrationsOutput", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true + } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, + "name": "page_token", "is_query": true, "entity": { - "is_field_mask": true + "is_string": true } } ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } - }, - "response_type": {} + } } }, { - "name": "UpdateDataApi", - "description": "Update Data API configuration for a database.", - "summary": "Update Data API configuration.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*/data-api}", + "name": "Update", + "description": "Updates an existing published OAuth App Integration.\nYou can retrieve the published OAuth app integration via [PublishedAppIntegration/get](https://docs.databricks.com/api/account/publishedappintegration/get).", + "summary": "Updates Published OAuth App Integration.", + "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations/{integration_id}", "can_use_json": true, - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateDataApiRequest", + "pascal_name": "UpdatePublishedAppIntegration", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "data_api", - "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataApi", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "data_api", - "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataApi", - "is_object": true - } } ] }, - "request_body_field": { - "name": "data_api", - "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataApi", - "is_object": true - } - }, "response": { - "pascal_name": "Operation", - "is_object": true + "pascal_name": "UpdatePublishedAppIntegrationOutput", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "data_api", - "description": "The Data API configuration to update.\nThe data_api's `name` field identifies the resource.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataApi", - "is_object": true - } - }, - { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "integration_id", "required": true, "is_path": true, "entity": { @@ -167430,345 +176305,311 @@ } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "create_time", - "description": "A timestamp indicating when the Data API was first enabled.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The database containing this Data API configuration.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "spec", - "description": "The desired Data API configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DataApiDataApiSpec", - "is_object": true - } - }, - { - "name": "status", - "description": "The observed Data API state (read-only).", - "is_output_only": true, + "name": "token_access_policy", + "description": "Token access policy to be updated in the published OAuth app integration", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "DataApiDataApiStatus", + "pascal_name": "TokenAccessPolicy", "is_object": true } - }, - { - "name": "update_time", - "description": "A timestamp indicating when the Data API configuration was last updated.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api", + "name": "integration_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": {} - } - }, + ] + } + ] + }, + { + "id": "qualitymonitorv2.QualityMonitorV2", + "name": "QualityMonitorV2", + "description": "Deprecated: Please use the Data Quality Monitoring API instead (REST: /api/data-quality/v1/monitors). Manage data quality of UC objects (currently support `schema`).", + "package": { + "name": "qualitymonitorv2" + }, + "docs_group": "qualitymonitor", + "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", + "list": { + "request": { + "pascal_name": "ListQualityMonitorRequest" + } + }, + "methods": [ { - "name": "UpdateDatabase", - "description": "Update a Database.", - "summary": "Update a Database.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", + "name": "CreateQualityMonitor", + "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\nCreate a quality monitor on UC object.", + "summary": "Create a quality monitor.", + "path": "/api/2.0/quality-monitors", "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": "UpdateDatabaseRequest", + "pascal_name": "CreateQualityMonitorRequest", "is_object": true, - "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "database", - "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "quality_monitor", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Database", + "pascal_name": "QualityMonitor", "is_object": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "quality_monitor", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "QualityMonitor", + "is_object": true } } - ], - "required_in_url_fields": [ + ] + }, + "request_body_field": { + "name": "quality_monitor", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + "response": { + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "name", - "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "database", - "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Database", - "is_object": true + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] }, - "request_body_field": { - "name": "database", - "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Database", - "is_object": true - } - }, - "response": { - "pascal_name": "Operation", - "is_object": true - }, "all_fields": [ { - "name": "database", - "description": "The Database to update.\n\nThe database's `name` field is used to identify the database to update.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "quality_monitor", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Database", - "is_object": true - } - }, - { - "name": "name", - "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "create_time", - "description": "A timestamp indicating when the database was created.", + "name": "anomaly_detection_config", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "is_timestamp": true - } - }, - { - "name": "database_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "pascal_name": "AnomalyDetectionConfig", + "is_object": true } }, { - "name": "name", - "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The branch containing this database.\nFormat: projects/{project_id}/branches/{branch_id}", - "is_output_only": true, + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "spec", - "description": "The desired state of the Database.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DatabaseDatabaseSpec", - "is_object": true - } - }, - { - "name": "status", - "description": "The observed state of the Database.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DatabaseDatabaseStatus", - "is_object": true - } - }, - { - "name": "update_time", - "description": "A timestamp indicating when the database was last updated.", - "is_output_only": true, + "name": "validity_check_configurations", + "description": "Validity check configurations for anomaly detection.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "ValidityCheckConfigurationList", + "array_value": { + "pascal_name": "ValidityCheckConfiguration", + "is_object": true + } } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": {} - } + ] }, { - "name": "UpdateEndpoint", - "description": "Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint.", - "summary": "Update an Endpoint.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", - "can_use_json": true, + "name": "DeleteQualityMonitor", + "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\nDelete a quality monitor on UC object.", + "summary": "Delete a quality monitor.", + "path": "/api/2.0/quality-monitors/{object_type}/{object_id}", "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": "UpdateEndpointRequest", + "pascal_name": "DeleteQualityMonitorRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_path": true, "entity": { @@ -167776,29 +176617,19 @@ } }, { - "name": "endpoint", - "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Endpoint", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_field_mask": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_path": true, "entity": { @@ -167806,56 +176637,23 @@ } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "endpoint", - "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "Endpoint", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "endpoint", - "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Endpoint", - "is_object": true - } - }, "response": { - "pascal_name": "Operation", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "endpoint", - "description": "The Endpoint to update.\n\nThe endpoint's `name` field is used to identify the endpoint to update.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Endpoint", - "is_object": true - } - }, - { - "name": "name", - "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, "is_path": true, "entity": { @@ -167863,95 +176661,19 @@ } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "create_time", - "description": "A timestamp indicating when the compute endpoint was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "endpoint_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent", - "description": "The branch containing this endpoint (API resource hierarchy).\nFormat: projects/{project_id}/branches/{branch_id}", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "spec", - "description": "The spec contains the compute endpoint configuration, including autoscaling limits, suspend timeout, and disabled state.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EndpointSpec", - "is_object": true - } - }, - { - "name": "status", - "description": "Current operational status of the compute endpoint.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EndpointStatus", - "is_object": true - } - }, - { - "name": "uid", - "description": "System-generated unique ID for the endpoint.", - "is_output_only": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_time", - "description": "A timestamp indicating when the compute endpoint was last updated.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Output only. The full resource path of the endpoint.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_path": true, "entity": { @@ -167959,46 +176681,34 @@ } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_field_mask": true + "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": {} - } + ] }, { - "name": "UpdateProject", - "description": "Updates the specified database project.", - "summary": "Update a Project.", - "path": "/api/2.0/postgres/{name=projects/*}", - "can_use_json": true, + "name": "GetQualityMonitor", + "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\nRead a quality monitor on UC object.", + "summary": "Read a quality monitor.", + "path": "/api/2.0/quality-monitors/{object_type}/{object_id}", + "is_crud_read": 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": "UpdateProjectRequest", + "pascal_name": "GetQualityMonitorRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_path": true, "entity": { @@ -168006,76 +176716,85 @@ } }, { - "name": "project", - "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Project", - "is_object": true + "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "project", - "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Project", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "project", - "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Project", - "is_object": true - } - }, - "response": { - "pascal_name": "Operation", - "is_object": true - }, "all_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, "is_path": true, "entity": { @@ -168083,168 +176802,87 @@ } }, { - "name": "project", - "description": "The Project to update.\n\nThe project's `name` field is used to identify the project to update.\nFormat: projects/{project_id}", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Project", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "create_time", - "description": "A timestamp indicating when the project was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "delete_time", - "description": "A timestamp indicating when the project was soft-deleted.\nEmpty if the project is not deleted, otherwise set to a timestamp in the past.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "initial_branch_spec", - "description": "Configuration for the initial default branch created as part of project creation.\nAllows overriding branch protection. These settings only apply at creation time\nand do not affect resources created after project creation.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "InitialBranchSpec", - "is_object": true - } - }, - { - "name": "initial_endpoint_spec", - "description": "Configuration settings for the initial Read/Write endpoint created inside the initial branch for a newly\ncreated project. If omitted, the initial endpoint created will have default settings, without high availability\nconfigured. This field does not apply to any endpoints created after project creation. Use\nspec.default_endpoint_settings to configure default settings for endpoints created after project creation.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "InitialEndpointSpec", - "is_object": true - } - }, - { - "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "project_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, - "is_request_body_field": true, + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "purge_time", - "description": "A timestamp indicating when the project is scheduled for permanent deletion.\nEmpty if the project is not deleted, otherwise set to a timestamp in the future.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "spec", - "description": "The spec contains the project configuration, including display_name, pg_version (Postgres version), history_retention_duration, and default_endpoint_settings.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "ProjectSpec", - "is_object": true - } - }, - { - "name": "status", - "description": "The current status of a Project.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "ProjectStatus", - "is_object": true - } - }, - { - "name": "uid", - "description": "System-generated unique ID for the project.", - "is_output_only": true, - "is_request_body_field": true, + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_time", - "description": "A timestamp indicating when the project was last updated.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } } - ], - "required_positional_arguments": [ + ] + }, + { + "name": "ListQualityMonitor", + "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\n(Unimplemented) List quality monitors.", + "summary": "List quality monitors.", + "path": "/api/2.0/quality-monitors", + "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": "ListQualityMonitorRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListQualityMonitorResponse", + "is_object": true + }, + "all_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", - "required": true, - "is_path": true, + "name": "page_size", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "update_mask", - "description": "The list of fields to update. If unspecified, all fields will be updated when possible.", - "required": true, + "name": "page_token", "is_query": true, "entity": { - "is_field_mask": true + "is_string": true } } ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } } - }, - "response_type": {} + } } }, { - "name": "UpdateRole", - "description": "Update a role for a branch.", - "summary": "Update a Postgres Role for a Branch.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/roles/*}", + "name": "UpdateQualityMonitor", + "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\n(Unimplemented) Update a quality monitor on UC object.", + "summary": "Update a quality monitor.", + "path": "/api/2.0/quality-monitors/{object_type}/{object_id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "PUBLIC_BETA", @@ -168252,14 +176890,13 @@ "cli_launch_stage_banner": "This command is in Beta and may change without notice.", "cli_launch_stage_display": "Beta", "request": { - "pascal_name": "UpdateRoleRequest", + "pascal_name": "UpdateQualityMonitorRequest", "is_object": true, - "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_path": true, "entity": { @@ -168267,29 +176904,28 @@ } }, { - "name": "role", - "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "Role", - "is_object": true + "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update in Postgres Role.\nIf unspecified, all fields will be updated when possible.", + "name": "quality_monitor", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "QualityMonitor", + "is_object": true } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, "is_path": true, "entity": { @@ -168297,46 +176933,126 @@ } }, { - "name": "update_mask", - "description": "The list of fields to update in Postgres Role.\nIf unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_field_mask": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "role", - "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "quality_monitor", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "QualityMonitor", "is_object": true } } ] }, "request_body_field": { - "name": "role", - "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "quality_monitor", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", - "is_object": true + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, "response": { - "pascal_name": "Operation", - "is_object": true + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, "is_path": true, "entity": { @@ -168344,246 +177060,226 @@ } }, { - "name": "role", - "description": "The Postgres Role to update.\n\nThe role's `name` field is used to identify the role to update.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "Role", - "is_object": true + "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update in Postgres Role.\nIf unspecified, all fields will be updated when possible.", + "name": "quality_monitor", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "QualityMonitor", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "create_time", + "name": "anomaly_detection_config", "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "AnomalyDetectionConfig", + "is_object": true } }, { - "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "The Branch where this Role exists.\nFormat: projects/{project_id}/branches/{branch_id}", - "is_output_only": true, + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "role_id", - "description": "The part of the name, chosen by the user when the resource was created.", - "is_output_only": true, + "name": "validity_check_configurations", + "description": "Validity check configurations for anomaly detection.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ValidityCheckConfigurationList", + "array_value": { + "pascal_name": "ValidityCheckConfiguration", + "is_object": true + } } - }, + } + ], + "required_positional_arguments": [ { - "name": "spec", - "description": "The spec contains the role configuration, including identity type, authentication method, and role attributes.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RoleRoleSpec", - "is_object": true + "is_string": true } }, { - "name": "status", - "description": "Current status of the role, including its identity type, authentication method, and role attributes.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RoleRoleStatus", - "is_object": true + "is_string": true } }, { - "name": "update_time", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "name": "object_type", + "description": "The type of the monitored object. Can be one of the following: schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The list of fields to update in Postgres Role.\nIf unspecified, all fields will be updated when possible.", + "name": "object_id", + "description": "The uuid of the request object. For example, schema id.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "is_string": true } } - ], - "long_running_operation": { - "get_operation": { - "kebab_name": "get-operation", - "pascal_name": "GetOperation", - "request": { - "pascal_name": "GetOperationRequest" - } - }, - "response_type": {} - } + ] } ] }, { - "id": "provisioning.PrivateAccess", - "name": "PrivateAccess", - "description": "These APIs manage private access settings for this account.", + "id": "catalog.QualityMonitors", + "name": "QualityMonitors", + "description": "Deprecated: Please use the Data Quality Monitors API instead (REST: /api/data-quality/v1/monitors), which manages both Data Profiling and Anomaly Detection.\n\nA monitor computes and monitors data or model quality metrics for a table over time.\nIt generates metrics tables and a dashboard that you can use to monitor table health and set alerts.\nMost write operations require the user to be the owner of the table (or its parent schema or parent catalog).\nViewing the dashboard, computed metrics, or monitor configuration only requires the user to have **SELECT**\nprivileges on the table (along with **USE_SCHEMA** and **USE_CATALOG**).", "package": { - "name": "provisioning" + "name": "catalog" }, - "is_accounts": true, - "docs_group": "provisioning", + "docs_group": "catalog", "launch_stage": "GA", "cli_launch_stage_display": "GA", "methods": [ { - "name": "Create", - "description": "Creates a private access settings configuration, which represents\nnetwork access restrictions for workspace resources. Private access\nsettings configure whether workspaces can be accessed from the public\ninternet or only from private endpoints.", - "summary": "Create private access settings.", - "path": "/api/2.0/accounts/{account_id}/private-access-settings", - "can_use_json": true, + "name": "CancelRefresh", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nCancels an already-initiated refresh job.", + "summary": "Cancel refresh.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes/{refresh_id}/cancel", "is_crud_create": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreatePrivateAccessSettingsRequest", - "is_object": true - }, - "response": { - "pascal_name": "PrivateAccessSettings", - "is_object": true - }, - "all_fields": [ - { - "name": "allowed_vpc_endpoint_ids", - "description": "An array of Databricks VPC endpoint IDs. This is the Databricks ID returned when registering the VPC endpoint configuration in your Databricks account. This is not the ID of the VPC endpoint in AWS.\nOnly used when private_access_level is set to ENDPOINT. This is an allow list of VPC endpoints registered in your Databricks account that can connect to your workspace over AWS PrivateLink.\nNote: If hybrid access to your workspace is enabled by setting public_access_enabled to true, this control only works for PrivateLink connections. To control how your workspace is accessed via public internet, see IP access lists.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "private_access_level", - "description": "The private access level controls which VPC endpoints can connect to the UI or API of any workspace that attaches this private access settings object.\n`ACCOUNT` level access (the default) allows only VPC endpoints that are registered in your Databricks account connect to your workspace.\n`ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details, see allowed_vpc_endpoint_ids.", - "is_request_body_field": true, - "entity": { - "pascal_name": "PrivateAccessLevel", - "enum": [ - { - "content": "ACCOUNT" - }, - { - "content": "ENDPOINT" - } - ] - } - }, - { - "name": "private_access_settings_name", - "description": "The human-readable name of the private access settings object.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "public_access_enabled", - "description": "Determines if the workspace can be accessed over public internet. For fully private workspaces, you can optionally specify false, but only if you implement both the front-end and the back-end PrivateLink connections. Otherwise, specify true, which means that public access is enabled.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "region", - "description": "The AWS region for workspaces attached to this private access settings object.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Delete", - "description": "Deletes a Databricks private access settings configuration, both specified by ID.", - "summary": "Delete private access settings.", - "path": "/api/2.0/accounts/{account_id}/private-access-settings/{private_access_settings_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeletePrivateAccesRequest", + "pascal_name": "CancelRefreshRequest", "is_object": true, "required_fields": [ { - "name": "private_access_settings_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "refresh_id", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } } ], "required_in_url_fields": [ { - "name": "private_access_settings_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "refresh_id", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } } ] }, "response": { - "pascal_name": "PrivateAccessSettings", - "is_object": true + "pascal_name": "CancelRefreshResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "private_access_settings_id", + "name": "refresh_id", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { @@ -168593,253 +177289,387 @@ ], "required_positional_arguments": [ { - "name": "private_access_settings_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "refresh_id", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } } ] }, { - "name": "Get", - "description": "Gets a Databricks private access settings configuration, both specified by ID.", - "summary": "Get private access settings.", - "path": "/api/2.0/accounts/{account_id}/private-access-settings/{private_access_settings_id}", - "is_crud_read": true, + "name": "Create", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nCreates a new monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog, have **USE_SCHEMA** on the table's parent schema, and have **SELECT** access on the table\n2. have **USE_CATALOG** on the table's parent catalog, be an owner of the table's parent schema, and have **SELECT** access on the table.\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table.\n\nWorkspace assets, such as the dashboard, will be created in the workspace where\nthis call was made.", + "summary": "Create a table monitor.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetPrivateAccesRequest", + "pascal_name": "CreateMonitor", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "private_access_settings_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "assets_dir", + "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ], "required_in_url_fields": [ { - "name": "private_access_settings_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "PrivateAccessSettings", - "is_object": true - }, - "all_fields": [ - { - "name": "private_access_settings_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "private_access_settings_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true + ], + "required_request_body_fields": [ + { + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "assets_dir", + "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } - } - ] - }, - { - "name": "List", - "description": "Lists Databricks private access settings for an account.", - "summary": "List private access settings.", - "path": "/api/2.0/accounts/{account_id}/private-access-settings", - "is_legacy_empty_request": true, - "is_crud_read": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListPrivateAccessRequest", - "is_object": true + ] }, "response": { - "pascal_name": "PrivateAccessSettingsList", - "array_value": { - "pascal_name": "PrivateAccessSettings", - "is_object": true - } - } - }, - { - "name": "Replace", - "description": "Updates an existing private access settings object, which specifies how your workspace is accessed over AWS PrivateLink. To use AWS PrivateLink, a workspace must have a private access settings object referenced by ID in the workspace's private_access_settings_id property.\nThis operation completely overwrites your existing private access settings object attached to your workspaces. All workspaces attached to the private access settings are affected by any change. If public_access_enabled, private_access_level, or allowed_vpc_endpoint_ids are updated, effects of these changes might take several minutes to propagate to the workspace API.\nYou can share one private access settings object with multiple workspaces in a single account. However, private access settings are specific to AWS regions, so only workspaces in the same AWS region can use a given private access settings object.\nBefore configuring PrivateLink, read the Databricks article about PrivateLink.", - "summary": "Update private access settings.", - "path": "/api/2.0/accounts/{account_id}/private-access-settings/{private_access_settings_id}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ReplacePrivateAccessSettingsRequest", + "pascal_name": "MonitorInfo", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "private_access_settings_id", - "description": "Databricks private access settings ID.", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "customer_facing_private_access_settings", - "description": "Properties of the new private access settings object.", + "name": "table_name", + "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PrivateAccessSettings", - "is_object": true + "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "private_access_settings_id", - "description": "Databricks private access settings ID.", + "name": "status", + "description": "[Create:ERR Update:IGN] The monitor status.", "required": true, - "is_path": true, - "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorInfoStatus", + "enum": [ + { + "content": "MONITOR_STATUS_ACTIVE" + }, + { + "content": "MONITOR_STATUS_DELETE_PENDING" + }, + { + "content": "MONITOR_STATUS_ERROR" + }, + { + "content": "MONITOR_STATUS_FAILED" + }, + { + "content": "MONITOR_STATUS_PENDING" + } + ] + } + }, + { + "name": "profile_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "drift_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "monitor_version", + "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } } ], "required_request_body_fields": [ { - "name": "customer_facing_private_access_settings", - "description": "Properties of the new private access settings object.", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PrivateAccessSettings", - "is_object": true + "is_string": true + } + }, + { + "name": "table_name", + "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "status", + "description": "[Create:ERR Update:IGN] The monitor status.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorInfoStatus", + "enum": [ + { + "content": "MONITOR_STATUS_ACTIVE" + }, + { + "content": "MONITOR_STATUS_DELETE_PENDING" + }, + { + "content": "MONITOR_STATUS_ERROR" + }, + { + "content": "MONITOR_STATUS_FAILED" + }, + { + "content": "MONITOR_STATUS_PENDING" + } + ] + } + }, + { + "name": "profile_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "drift_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "monitor_version", + "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } } ] }, - "request_body_field": { - "name": "customer_facing_private_access_settings", - "description": "Properties of the new private access settings object.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PrivateAccessSettings", - "is_object": true - } - }, - "response": { - "pascal_name": "PrivateAccessSettings", - "is_object": true - }, "all_fields": [ { - "name": "customer_facing_private_access_settings", - "description": "Properties of the new private access settings object.", + "name": "assets_dir", + "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PrivateAccessSettings", + "is_string": true + } + }, + { + "name": "baseline_table_name", + "description": "[Create:OPT Update:OPT] Baseline table name.\nBaseline data is used to compute drift from the data in the monitored `table_name`.\nThe baseline table and the monitored table shall have the same schema.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "custom_metrics", + "description": "[Create:OPT Update:OPT] Custom metrics.", + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorMetricList", + "array_value": { + "pascal_name": "MonitorMetric", + "is_object": true + } + } + }, + { + "name": "data_classification_config", + "description": "[Create:OPT Update:OPT] Data classification related config.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorDataClassificationConfig", "is_object": true } }, { - "name": "private_access_settings_id", - "description": "Databricks private access settings ID.", - "required": true, - "is_path": true, - "is_output_only": true, + "name": "inference_log", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorInferenceLog", + "is_object": true + } + }, + { + "name": "latest_monitor_failure_msg", + "description": "[Create:ERR Update:IGN] The latest error message for a monitor failure.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "account_id", - "description": "The Databricks account ID that hosts the private access settings.", - "is_output_only": true, + "name": "notifications", + "description": "[Create:OPT Update:OPT] Field for specifying notification settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorNotifications", + "is_object": true + } + }, + { + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "allowed_vpc_endpoint_ids", - "description": "An array of Databricks VPC endpoint IDs. This is the Databricks ID that is returned when registering the VPC endpoint configuration in your Databricks account. This is not the ID of the VPC endpoint in AWS.\nOnly used when private_access_level is set to ENDPOINT. This is an allow list of VPC endpoints that in your account that can connect to your workspace over AWS PrivateLink.\nIf hybrid access to your workspace is enabled by setting public_access_enabled to true, this control only works for PrivateLink connections. To control how your workspace is accessed via public internet, see IP access lists.", + "name": "schedule", + "description": "[Create:OPT Update:OPT] The monitor schedule.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "pascal_name": "MonitorCronSchedule", + "is_object": true } }, { - "name": "private_access_level", - "description": "The private access level controls which VPC endpoints can connect to the UI or API of any workspace that attaches this private access settings object.\n`ACCOUNT` level access (the default) allows only VPC endpoints that are registered in your Databricks account connect to your workspace.\n`ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details, see allowed_vpc_endpoint_ids.", + "name": "skip_builtin_dashboard", + "description": "Whether to skip creating a default dashboard summarizing data quality metrics.", "is_request_body_field": true, "entity": { - "pascal_name": "PrivateAccessLevel", - "enum": [ - { - "content": "ACCOUNT" - }, - { - "content": "ENDPOINT" - } - ] + "is_bool": true } }, { - "name": "private_access_settings_id", - "description": "Databricks private access settings ID.", - "is_output_only": true, + "name": "slicing_exprs", + "description": "[Create:OPT Update:OPT] List of column expressions to slice data with for targeted analysis. The data is grouped by\neach expression independently, resulting in a separate slice for each predicate and its\ncomplements. For example `slicing_exprs=[“col_1”, “col_2 \u003e 10”]` will generate the following\nslices: two slices for `col_2 \u003e 10` (True and False), and one slice per unique value in\n`col1`. For high-cardinality columns, only the top 100 unique values by frequency will\ngenerate slices.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "private_access_settings_name", - "description": "The human-readable name of the private access settings object.", + "name": "snapshot", + "description": "Configuration for monitoring snapshot tables.", "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorSnapshot", + "is_object": true + } + }, + { + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "public_access_enabled", - "description": "Determines if the workspace can be accessed over public internet. For fully private workspaces, you can optionally specify false, but only if you implement both the front-end and the back-end PrivateLink connections. Otherwise, specify true, which means that public access is enabled.", + "name": "time_series", + "description": "Configuration for monitoring time series tables.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_bool": true + "pascal_name": "MonitorTimeSeries", + "is_object": true } }, { - "name": "region", - "description": "The AWS region for workspaces attached to this private access settings object.", + "name": "warehouse_id", + "description": "Optional argument to specify the warehouse for dashboard creation. If not specified, the first running\nwarehouse will be used.", "is_request_body_field": true, "entity": { "is_string": true @@ -168848,111 +177678,49 @@ ], "required_positional_arguments": [ { - "name": "private_access_settings_id", - "description": "Databricks private access settings ID.", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, - "is_output_only": true, "entity": { "is_string": true } - } - ] - } - ] - }, - { - "id": "marketplace.ProviderExchangeFilters", - "name": "ProviderExchangeFilters", - "description": "Marketplace exchanges filters curate which groups can access an exchange.", - "package": { - "name": "marketplace" - }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "named_id_map": { - "pascal_name": "ExchangeFilterNameToIdMap" - }, - "request": { - "pascal_name": "ListExchangeFiltersRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Add an exchange filter.", - "summary": "Create a new exchange filter.", - "path": "/api/2.0/marketplace-exchange/filters", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "CreateExchangeFilterRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "filter", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExchangeFilter", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "filter", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExchangeFilter", - "is_object": true - } + }, + { + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - }, - "response": { - "pascal_name": "CreateExchangeFilterResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "filter", + "name": "assets_dir", + "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ExchangeFilter", - "is_object": true + "is_string": true } } ] }, { "name": "Delete", - "description": "Delete an exchange filter", - "summary": "Delete an exchange filter.", - "path": "/api/2.0/marketplace-exchange/filters/{id}", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nDeletes a monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created.\n\nNote that the metric tables and dashboard will not be deleted as part of this call; those\nassets must be manually cleaned up (if desired).", + "summary": "Delete a table monitor.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteExchangeFilterRequest", + "pascal_name": "DeleteQualityMonitorRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -168962,7 +177730,8 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -168972,13 +177741,13 @@ ] }, "response": { - "pascal_name": "DeleteExchangeFilterResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "DeleteMonitorResponse", + "is_object": true }, "all_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -168988,7 +177757,8 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -168998,23 +177768,23 @@ ] }, { - "name": "List", - "description": "List exchange filter", - "summary": "List exchange filters.", - "path": "/api/2.0/marketplace-exchange/filters", + "name": "Get", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nGets a monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema.\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- **SELECT** privilege on the table.\n\nThe returned information includes configuration values, as well as information on\nassets created by the monitor. Some information (e.g., dashboard) may be filtered out\nif the caller is in a different workspace than where the monitor was created.", + "summary": "Get a table monitor.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListExchangeFiltersRequest", + "pascal_name": "GetQualityMonitorRequest", "is_object": true, "required_fields": [ { - "name": "exchange_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -169022,9 +177792,10 @@ ], "required_in_url_fields": [ { - "name": "exchange_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -169032,128 +177803,160 @@ ] }, "response": { - "pascal_name": "ListExchangeFiltersResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "exchange_id", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "exchange_id", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "Update", - "description": "Update an exchange filter.", - "summary": "Update exchange filter.", - "path": "/api/2.0/marketplace-exchange/filters/{id}", - "can_use_json": true, - "must_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "UpdateExchangeFilterRequest", + "pascal_name": "MonitorInfo", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "filter", + "name": "table_name", + "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ExchangeFilter", - "is_object": true + "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "id", + "name": "status", + "description": "[Create:ERR Update:IGN] The monitor status.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorInfoStatus", + "enum": [ + { + "content": "MONITOR_STATUS_ACTIVE" + }, + { + "content": "MONITOR_STATUS_DELETE_PENDING" + }, + { + "content": "MONITOR_STATUS_ERROR" + }, + { + "content": "MONITOR_STATUS_FAILED" + }, + { + "content": "MONITOR_STATUS_PENDING" + } + ] + } + }, + { + "name": "profile_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "drift_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "monitor_version", + "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } } ], "required_request_body_fields": [ { - "name": "filter", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ExchangeFilter", - "is_object": true + "is_string": true + } + }, + { + "name": "table_name", + "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "status", + "description": "[Create:ERR Update:IGN] The monitor status.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorInfoStatus", + "enum": [ + { + "content": "MONITOR_STATUS_ACTIVE" + }, + { + "content": "MONITOR_STATUS_DELETE_PENDING" + }, + { + "content": "MONITOR_STATUS_ERROR" + }, + { + "content": "MONITOR_STATUS_FAILED" + }, + { + "content": "MONITOR_STATUS_PENDING" + } + ] + } + }, + { + "name": "profile_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "drift_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "monitor_version", + "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } } ] }, - "response": { - "pascal_name": "UpdateExchangeFilterResponse", - "is_object": true - }, "all_fields": [ { - "name": "filter", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExchangeFilter", - "is_object": true - } - }, - { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169163,7 +177966,8 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169171,221 +177975,175 @@ } } ] - } - ] - }, - { - "id": "marketplace.ProviderExchanges", - "name": "ProviderExchanges", - "description": "Marketplace exchanges allow providers to share their listings with a curated set of customers.", - "package": { - "name": "marketplace" - }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "named_id_map": { - "pascal_name": "ExchangeNameToIdMap" }, - "request": { - "pascal_name": "ListExchangesRequest" - } - }, - "methods": [ { - "name": "AddListingToExchange", - "description": "Associate an exchange with a listing", - "summary": "Add an exchange for listing.", - "path": "/api/2.0/marketplace-exchange/exchanges-for-listing", - "can_use_json": true, - "is_crud_create": true, + "name": "GetRefresh", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nGets info about a specific monitor refresh using the given refresh ID.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- **SELECT** privilege on the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created.", + "summary": "Get refresh.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes/{refresh_id}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "AddExchangeForListingRequest", + "pascal_name": "GetRefreshRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "listing_id", + "name": "table_name", + "description": "Full name of the table.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "exchange_id", + "name": "refresh_id", + "description": "ID of the refresh.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "listing_id", + "name": "table_name", + "description": "Full name of the table.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "exchange_id", + "name": "refresh_id", + "description": "ID of the refresh.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "AddExchangeForListingResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "exchange_id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "listing_id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "listing_id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "exchange_id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Create", - "description": "Create an exchange", - "summary": "Create an exchange.", - "path": "/api/2.0/marketplace-exchange/exchanges", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "CreateExchangeRequest", + "pascal_name": "MonitorRefreshInfo", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "exchange", + "name": "refresh_id", + "description": "Unique id of the refresh operation.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Exchange", - "is_object": true + "is_int64": true + } + }, + { + "name": "state", + "description": "The current state of the refresh.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorRefreshInfoState", + "enum": [ + { + "content": "CANCELED" + }, + { + "content": "FAILED" + }, + { + "content": "PENDING" + }, + { + "content": "RUNNING" + }, + { + "content": "SUCCESS" + }, + { + "content": "UNKNOWN" + } + ] + } + }, + { + "name": "start_time_ms", + "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "exchange", + "name": "refresh_id", + "description": "Unique id of the refresh operation.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Exchange", - "is_object": true + "is_int64": true } - } - ] - }, - "response": { - "pascal_name": "CreateExchangeResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "exchange", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Exchange", - "is_object": true - } - } - ] - }, - { - "name": "Delete", - "description": "This removes a listing from marketplace.", - "summary": "Delete an exchange.", - "path": "/api/2.0/marketplace-exchange/exchanges/{id}", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "DeleteExchangeRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "id", + "name": "state", + "description": "The current state of the refresh.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "MonitorRefreshInfoState", + "enum": [ + { + "content": "CANCELED" + }, + { + "content": "FAILED" + }, + { + "content": "PENDING" + }, + { + "content": "RUNNING" + }, + { + "content": "SUCCESS" + }, + { + "content": "UNKNOWN" + } + ] } - } - ], - "required_in_url_fields": [ + }, { - "name": "id", + "name": "start_time_ms", + "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, - "response": { - "pascal_name": "DeleteExchangeResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "id", + "name": "refresh_id", + "description": "ID of the refresh.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "table_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -169395,31 +178153,41 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "table_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "refresh_id", + "description": "ID of the refresh.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } } ] }, { - "name": "DeleteListingFromExchange", - "description": "Disassociate an exchange with a listing", - "summary": "Remove an exchange for listing.", - "path": "/api/2.0/marketplace-exchange/exchanges-for-listing/{id}", + "name": "ListRefreshes", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nGets an array containing the history of the most recent refreshes (up to 25) for this table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- **SELECT** privilege on the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created.", + "summary": "List refreshes.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RemoveExchangeForListingRequest", + "pascal_name": "ListRefreshesRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { @@ -169429,7 +178197,8 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { @@ -169439,13 +178208,13 @@ ] }, "response": { - "pascal_name": "RemoveExchangeForListingResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "MonitorRefreshListResponse", + "is_object": true }, "all_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { @@ -169455,7 +178224,8 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, "is_path": true, "entity": { @@ -169465,22 +178235,23 @@ ] }, { - "name": "Get", - "description": "Get an exchange.", - "summary": "Get an exchange.", - "path": "/api/2.0/marketplace-exchange/exchanges/{id}", - "is_crud_read": true, + "name": "RegenerateDashboard", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nRegenerates the monitoring dashboard for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table\n\nThe call must be made from the workspace where the monitor was created. The dashboard will be regenerated in\nthe assets directory that was specified when the monitor was created.", + "summary": "Regenerate a monitoring dashboard.", + "path": "/api/2.1/quality-monitoring/tables/{table_name}/monitor/dashboard", + "can_use_json": true, + "is_crud_create": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetExchangeRequest", + "pascal_name": "RegenerateDashboardRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169490,7 +178261,8 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169500,22 +178272,32 @@ ] }, "response": { - "pascal_name": "GetExchangeResponse", + "pascal_name": "RegenerateDashboardResponse", "is_object": true }, "all_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "warehouse_id", + "description": "Optional argument to specify the warehouse for dashboard regeneration. If not specified, the first running\nwarehouse will be used.", + "is_request_body_field": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169525,69 +178307,22 @@ ] }, { - "name": "List", - "description": "List exchanges visible to provider", - "summary": "List exchanges.", - "path": "/api/2.0/marketplace-exchange/exchanges", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "ListExchangesRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListExchangesResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListExchangesForListing", - "description": "List exchanges associated with a listing", - "summary": "List exchanges for listing.", - "path": "/api/2.0/marketplace-exchange/exchanges-for-listing", + "name": "RunRefresh", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nQueues a metric refresh on the monitor for the specified table.\nThe refresh will execute in the background.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table\n\nAdditionally, the call must be made from the workspace where the monitor was created.", + "summary": "Run refresh.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListExchangesForListingRequest", + "pascal_name": "RunRefreshRequest", "is_object": true, "required_fields": [ { - "name": "listing_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -169595,9 +178330,10 @@ ], "required_in_url_fields": [ { - "name": "listing_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -169605,112 +178341,114 @@ ] }, "response": { - "pascal_name": "ListExchangesForListingResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "listing_id", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "listing_id", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListListingsForExchange", - "description": "List listings associated with an exchange", - "summary": "List listings for exchange.", - "path": "/api/2.0/marketplace-exchange/listings-for-exchange", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "ListListingsForExchangeRequest", + "pascal_name": "MonitorRefreshInfo", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "exchange_id", + "name": "refresh_id", + "description": "Unique id of the refresh operation.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "state", + "description": "The current state of the refresh.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorRefreshInfoState", + "enum": [ + { + "content": "CANCELED" + }, + { + "content": "FAILED" + }, + { + "content": "PENDING" + }, + { + "content": "RUNNING" + }, + { + "content": "SUCCESS" + }, + { + "content": "UNKNOWN" + } + ] + } + }, + { + "name": "start_time_ms", + "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "exchange_id", + "name": "refresh_id", + "description": "Unique id of the refresh operation.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "state", + "description": "The current state of the refresh.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorRefreshInfoState", + "enum": [ + { + "content": "CANCELED" + }, + { + "content": "FAILED" + }, + { + "content": "PENDING" + }, + { + "content": "RUNNING" + }, + { + "content": "SUCCESS" + }, + { + "content": "UNKNOWN" + } + ] + } + }, + { + "name": "start_time_ms", + "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } } ] }, - "response": { - "pascal_name": "ListListingsForExchangeResponse", - "is_object": true - }, "all_fields": [ { - "name": "exchange_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -169718,45 +178456,33 @@ ], "required_positional_arguments": [ { - "name": "exchange_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { "name": "Update", - "description": "Update an exchange", - "summary": "Update exchange.", - "path": "/api/2.0/marketplace-exchange/exchanges/{id}", + "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nUpdates a monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created, and the caller must be\nthe original creator of the monitor.\n\nCertain configuration fields, such as output asset identifiers, cannot be updated.", + "summary": "Update a table monitor.", + "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", "can_use_json": true, - "must_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateExchangeRequest", + "pascal_name": "UpdateMonitor", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169764,18 +178490,19 @@ } }, { - "name": "exchange", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Exchange", - "is_object": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { @@ -169785,487 +178512,368 @@ ], "required_request_body_fields": [ { - "name": "exchange", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Exchange", - "is_object": true + "is_string": true } } ] }, "response": { - "pascal_name": "UpdateExchangeResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "exchange", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Exchange", - "is_object": true - } - }, - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "marketplace.ProviderFiles", - "name": "ProviderFiles", - "description": "Marketplace offers a set of file APIs for various purposes such as preview notebooks and provider icons.", - "package": { - "name": "marketplace" - }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "named_id_map": { - "pascal_name": "FileInfoDisplayNameToIdMap" - }, - "request": { - "pascal_name": "ListFilesRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Create a file. Currently, only provider icons and attached notebooks are supported.", - "summary": "Create a file.", - "path": "/api/2.0/marketplace-provider/files", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "CreateFileRequest", + "pascal_name": "MonitorInfo", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "file_parent", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FileParent", - "is_object": true + "is_string": true } }, { - "name": "marketplace_file_type", + "name": "table_name", + "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "MarketplaceFileType", + "is_string": true + } + }, + { + "name": "status", + "description": "[Create:ERR Update:IGN] The monitor status.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorInfoStatus", "enum": [ { - "content": "APP" + "content": "MONITOR_STATUS_ACTIVE" }, { - "content": "EMBEDDED_NOTEBOOK" + "content": "MONITOR_STATUS_DELETE_PENDING" }, { - "content": "PROVIDER_ICON" + "content": "MONITOR_STATUS_ERROR" + }, + { + "content": "MONITOR_STATUS_FAILED" + }, + { + "content": "MONITOR_STATUS_PENDING" } ] } }, { - "name": "mime_type", + "name": "profile_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "drift_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "monitor_version", + "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } } ], "required_request_body_fields": [ { - "name": "file_parent", + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FileParent", - "is_object": true + "is_string": true } }, { - "name": "marketplace_file_type", + "name": "table_name", + "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "MarketplaceFileType", + "is_string": true + } + }, + { + "name": "status", + "description": "[Create:ERR Update:IGN] The monitor status.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "MonitorInfoStatus", "enum": [ { - "content": "APP" + "content": "MONITOR_STATUS_ACTIVE" }, { - "content": "EMBEDDED_NOTEBOOK" + "content": "MONITOR_STATUS_DELETE_PENDING" }, { - "content": "PROVIDER_ICON" + "content": "MONITOR_STATUS_ERROR" + }, + { + "content": "MONITOR_STATUS_FAILED" + }, + { + "content": "MONITOR_STATUS_PENDING" } ] } }, { - "name": "mime_type", + "name": "profile_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "drift_metrics_table_name", + "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "monitor_version", + "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } } ] }, - "response": { - "pascal_name": "CreateFileResponse", - "is_object": true - }, "all_fields": [ { - "name": "display_name", + "name": "baseline_table_name", + "description": "[Create:OPT Update:OPT] Baseline table name.\nBaseline data is used to compute drift from the data in the monitored `table_name`.\nThe baseline table and the monitored table shall have the same schema.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "file_parent", - "required": true, + "name": "custom_metrics", + "description": "[Create:OPT Update:OPT] Custom metrics.", "is_request_body_field": true, "entity": { - "pascal_name": "FileParent", - "is_object": true + "pascal_name": "MonitorMetricList", + "array_value": { + "pascal_name": "MonitorMetric", + "is_object": true + } } }, { - "name": "marketplace_file_type", - "required": true, + "name": "dashboard_id", + "description": "[Create:ERR Update:OPT] Id of dashboard that visualizes the computed metrics.\nThis can be empty if the monitor is in PENDING state.", "is_request_body_field": true, "entity": { - "pascal_name": "MarketplaceFileType", - "enum": [ - { - "content": "APP" - }, - { - "content": "EMBEDDED_NOTEBOOK" - }, - { - "content": "PROVIDER_ICON" - } - ] + "is_string": true } }, { - "name": "mime_type", - "required": true, + "name": "data_classification_config", + "description": "[Create:OPT Update:OPT] Data classification related config.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Delete", - "description": "Delete a file", - "summary": "Delete a file.", - "path": "/api/2.0/marketplace-provider/files/{file_id}", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "DeleteFileRequest", - "is_object": true, - "required_fields": [ - { - "name": "file_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "MonitorDataClassificationConfig", + "is_object": true } - ], - "required_in_url_fields": [ - { - "name": "file_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "inference_log", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorInferenceLog", + "is_object": true } - ] - }, - "response": { - "pascal_name": "DeleteFileResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ + }, { - "name": "file_id", - "required": true, - "is_path": true, + "name": "latest_monitor_failure_msg", + "description": "[Create:ERR Update:IGN] The latest error message for a monitor failure.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "file_id", + "name": "notifications", + "description": "[Create:OPT Update:OPT] Field for specifying notification settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorNotifications", + "is_object": true + } + }, + { + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "Get", - "description": "Get a file", - "summary": "Get a file.", - "path": "/api/2.0/marketplace-provider/files/{file_id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GetFileRequest", - "is_object": true, - "required_fields": [ - { - "name": "file_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "schedule", + "description": "[Create:OPT Update:OPT] The monitor schedule.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "MonitorCronSchedule", + "is_object": true } - ], - "required_in_url_fields": [ - { - "name": "file_id", - "required": true, - "is_path": true, - "entity": { + }, + { + "name": "slicing_exprs", + "description": "[Create:OPT Update:OPT] List of column expressions to slice data with for targeted analysis. The data is grouped by\neach expression independently, resulting in a separate slice for each predicate and its\ncomplements. For example `slicing_exprs=[“col_1”, “col_2 \u003e 10”]` will generate the following\nslices: two slices for `col_2 \u003e 10` (True and False), and one slice per unique value in\n`col1`. For high-cardinality columns, only the top 100 unique values by frequency will\ngenerate slices.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "GetFileResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "file_id", - "required": true, - "is_path": true, + "name": "snapshot", + "description": "Configuration for monitoring snapshot tables.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "MonitorSnapshot", + "is_object": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "file_id", + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "List", - "description": "List files attached to a parent entity.", - "summary": "List files.", - "path": "/api/2.0/marketplace-provider/files", - "can_use_json": true, - "must_use_json": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "ListFilesRequest", - "is_object": true, - "required_fields": [ - { - "name": "file_parent", - "required": true, - "is_query": true, - "entity": { - "pascal_name": "FileParent", - "is_object": true - } - } - ], - "required_in_url_fields": [ - { - "name": "file_parent", - "required": true, - "is_query": true, - "entity": { - "pascal_name": "FileParent", - "is_object": true - } - } - ] - }, - "response": { - "pascal_name": "ListFilesResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "file_parent", - "required": true, - "is_query": true, + "name": "time_series", + "description": "Configuration for monitoring time series tables.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "FileParent", + "pascal_name": "MonitorTimeSeries", "is_object": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_size", - "is_query": true, + "name": "table_name", + "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "required": true, + "is_path": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "is_query": true, + "name": "output_schema_name", + "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] } ] }, { - "id": "marketplace.ProviderListings", - "name": "ProviderListings", - "description": "Listings are the core entities in the Marketplace. They represent the products that are available for consumption.", + "id": "sql.Queries", + "name": "Queries", + "description": "The queries API can be used to perform CRUD operations on queries. A query is a Databricks SQL\nobject that includes the target SQL warehouse, query text, name, description, tags, and parameters.\nQueries can be scheduled using the `sql_task` type of the Jobs API, e.g. :method:jobs/create.", "package": { - "name": "marketplace" + "name": "sql" }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "docs_group": "sql", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "named_id_map": { - "pascal_name": "ListingSummaryNameToIdMap" + "pascal_name": "ListQueryObjectsResponseQueryDisplayNameToIdMap" }, "request": { - "pascal_name": "GetListingsRequest" + "pascal_name": "ListQueriesRequest" } }, "methods": [ { "name": "Create", - "description": "Create a new listing", - "summary": "Create a listing.", - "path": "/api/2.0/marketplace-provider/listing", + "description": "Creates a query.", + "summary": "Create a query.", + "path": "/api/2.0/sql/queries", "can_use_json": true, - "must_use_json": true, "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateListingRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "listing", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Listing", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "listing", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Listing", - "is_object": true - } - } - ] + "pascal_name": "CreateQueryRequest", + "is_object": true }, "response": { - "pascal_name": "CreateListingResponse", + "pascal_name": "Query", "is_object": true }, "all_fields": [ { - "name": "listing", - "required": true, + "name": "auto_resolve_display_name", + "description": "If true, automatically resolve query display name conflicts. Otherwise, fail the request if the query's display name conflicts with an existing query's display name.", "is_request_body_field": true, "entity": { - "pascal_name": "Listing", + "is_bool": true + } + }, + { + "name": "query", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CreateQueryRequestQuery", "is_object": true } } @@ -170273,16 +178881,14 @@ }, { "name": "Delete", - "description": "Delete a listing", - "summary": "Delete a listing.", - "path": "/api/2.0/marketplace-provider/listings/{id}", + "description": "Moves a query to the trash. Trashed queries immediately disappear from searches and list views, and cannot be used for alerts. You can restore a trashed query through the UI. A trashed query is permanently deleted after 30 days.", + "summary": "Delete a query.", + "path": "/api/2.0/sql/queries/{id}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteListingRequest", + "pascal_name": "TrashQueryRequest", "is_object": true, "required_fields": [ { @@ -170306,7 +178912,7 @@ ] }, "response": { - "pascal_name": "DeleteListingResponse", + "pascal_name": "Empty", "is_object": true, "is_empty_response": true }, @@ -170333,17 +178939,15 @@ }, { "name": "Get", - "description": "Get a listing", - "summary": "Get a listing.", - "path": "/api/2.0/marketplace-provider/listings/{id}", + "description": "Gets a query.", + "summary": "Get a query.", + "path": "/api/2.0/sql/queries/{id}", "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetListingRequest", + "pascal_name": "GetQueryRequest", "is_object": true, "required_fields": [ { @@ -170367,7 +178971,7 @@ ] }, "response": { - "pascal_name": "GetListingResponse", + "pascal_name": "Query", "is_object": true }, "all_fields": [ @@ -170393,20 +178997,18 @@ }, { "name": "List", - "description": "List listings owned by this provider", - "summary": "List listings.", - "path": "/api/2.0/marketplace-provider/listings", + "description": "Gets a list of queries accessible to the user, ordered by creation time. **Warning:** Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban.", + "summary": "List queries.", + "path": "/api/2.0/sql/queries", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetListingsRequest", + "pascal_name": "ListQueriesRequest", "is_object": true }, "response": { - "pascal_name": "GetListingsResponse", + "pascal_name": "ListQueryObjectsResponse", "is_object": true }, "all_fields": [ @@ -170438,21 +179040,17 @@ } }, { - "name": "Update", - "description": "Update a listing", - "summary": "Update listing.", - "path": "/api/2.0/marketplace-provider/listings/{id}", - "can_use_json": true, - "must_use_json": true, + "name": "ListVisualizations", + "description": "Gets a list of visualizations on a query.", + "summary": "List visualizations on a query.", + "path": "/api/2.0/sql/queries/{id}/visualizations", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateListingRequest", + "pascal_name": "ListVisualizationsForQueryRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { "name": "id", @@ -170461,15 +179059,6 @@ "entity": { "is_string": true } - }, - { - "name": "listing", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Listing", - "is_object": true - } } ], "required_in_url_fields": [ @@ -170481,21 +179070,10 @@ "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "listing", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Listing", - "is_object": true - } - } ] }, "response": { - "pascal_name": "UpdateListingResponse", + "pascal_name": "ListVisualizationsForQueryResponse", "is_object": true }, "all_fields": [ @@ -170507,66 +179085,6 @@ "is_string": true } }, - { - "name": "listing", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Listing", - "is_object": true - } - } - ], - "required_positional_arguments": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "marketplace.ProviderPersonalizationRequests", - "name": "ProviderPersonalizationRequests", - "description": "Personalization requests are an alternate to instantly available listings. Control the lifecycle of personalized solutions.", - "package": { - "name": "marketplace" - }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "request": { - "pascal_name": "ListAllPersonalizationRequestsRequest" - } - }, - "methods": [ - { - "name": "List", - "description": "List personalization requests to this provider.\nThis will return all personalization requests, regardless of which listing they are for.", - "summary": "All personalization requests across all listings.", - "path": "/api/2.0/marketplace-provider/personalization-requests", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "ListAllPersonalizationRequestsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListAllPersonalizationRequestsResponse", - "is_object": true - }, - "all_fields": [ { "name": "page_size", "is_query": true, @@ -170582,6 +179100,16 @@ } } ], + "required_positional_arguments": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], "pagination": { "token": { "poll_field": { @@ -170596,30 +179124,20 @@ }, { "name": "Update", - "description": "Update personalization request. This method only permits updating the status of the request.", - "summary": "Update personalization request status.", - "path": "/api/2.0/marketplace-provider/listings/{listing_id}/personalization-requests/{request_id}/request-status", + "description": "Updates a query.", + "summary": "Update a query.", + "path": "/api/2.0/sql/queries/{id}", "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdatePersonalizationRequestRequest", + "pascal_name": "UpdateQueryRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "listing_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_id", + "name": "id", "required": true, "is_path": true, "entity": { @@ -170627,39 +179145,18 @@ } }, { - "name": "status", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalizationRequestStatus", - "enum": [ - { - "content": "DENIED" - }, - { - "content": "FULFILLED" - }, - { - "content": "NEW" - }, - { - "content": "REQUEST_PENDING" - } - ] + "is_string": true } } ], "required_in_url_fields": [ { - "name": "listing_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_id", + "name": "id", "required": true, "is_path": true, "entity": { @@ -170669,51 +179166,31 @@ ], "required_request_body_fields": [ { - "name": "status", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalizationRequestStatus", - "enum": [ - { - "content": "DENIED" - }, - { - "content": "FULFILLED" - }, - { - "content": "NEW" - }, - { - "content": "REQUEST_PENDING" - } - ] + "is_string": true } } ] }, "response": { - "pascal_name": "UpdatePersonalizationRequestResponse", + "pascal_name": "Query", "is_object": true }, "all_fields": [ { - "name": "listing_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "reason", + "name": "auto_resolve_display_name", + "description": "If true, automatically resolve alert display name conflicts. Otherwise, fail the request if the alert's display name conflicts with an existing alert's display name.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "request_id", + "name": "id", "required": true, "is_path": true, "entity": { @@ -170721,48 +179198,27 @@ } }, { - "name": "share", + "name": "query", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "ShareInfo", + "pascal_name": "UpdateQueryRequestQuery", "is_object": true } }, { - "name": "status", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalizationRequestStatus", - "enum": [ - { - "content": "DENIED" - }, - { - "content": "FULFILLED" - }, - { - "content": "NEW" - }, - { - "content": "REQUEST_PENDING" - } - ] + "is_string": true } } ], "required_positional_arguments": [ { - "name": "listing_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "request_id", + "name": "id", "required": true, "is_path": true, "entity": { @@ -170770,25 +179226,12 @@ } }, { - "name": "status", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PersonalizationRequestStatus", - "enum": [ - { - "content": "DENIED" - }, - { - "content": "FULFILLED" - }, - { - "content": "NEW" - }, - { - "content": "REQUEST_PENDING" - } - ] + "is_string": true } } ] @@ -170796,156 +179239,124 @@ ] }, { - "id": "marketplace.ProviderProviderAnalyticsDashboards", - "name": "ProviderProviderAnalyticsDashboards", - "description": "Manage templated analytics solution for providers.", + "id": "sql.QueriesLegacy", + "name": "QueriesLegacy", + "description": "These endpoints are used for CRUD operations on query definitions. Query definitions include\nthe target SQL warehouse, query text, name, description, tags, parameters, and visualizations.\nQueries can be scheduled using the `sql_task` type of the Jobs API, e.g. :method:jobs/create.\n\n**Warning**: This API is deprecated. Please see the latest version of the Databricks SQL API. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", "package": { - "name": "marketplace" + "name": "sql" }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "docs_group": "sql", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "methods": [ { "name": "Create", - "description": "Create provider analytics dashboard. Returns Marketplace specific `id`. Not to be confused with the Lakeview dashboard id.", - "summary": "Create provider analytics dashboard.", - "path": "/api/2.0/marketplace-provider/analytics_dashboard", - "is_legacy_empty_request": true, - "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "description": "Creates a new query definition. Queries created with this endpoint belong to the authenticated user making the request.\n\nThe `data_source_id` field specifies the ID of the SQL warehouse to run this query against. You can use the Data Sources API to see a complete list of available SQL warehouses. Or you can copy the `data_source_id` from an existing query.\n\n**Note**: You cannot add a visualization until you create the query.\n\n**Warning**: This API is deprecated. Please use :method:queries/create instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Create a new query definition.", + "path": "/api/2.0/preview/sql/queries", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateProviderAnalyticsDashboardRequest", + "pascal_name": "QueryPostContent", "is_object": true }, "response": { - "pascal_name": "ProviderAnalyticsDashboard", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "Get", - "description": "Get provider analytics dashboard.", - "summary": "Get provider analytics dashboard.", - "path": "/api/2.0/marketplace-provider/analytics_dashboard", - "is_legacy_empty_request": true, - "is_crud_read": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "ListProviderAnalyticsDashboardRequest", + "pascal_name": "LegacyQuery", "is_object": true }, - "response": { - "pascal_name": "ListProviderAnalyticsDashboardResponse", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dashboard_id", - "description": "dashboard_id will be used to open Lakeview dashboard.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "all_fields": [ + { + "name": "data_source_id", + "description": "Data source ID maps to the ID of the data source used by the resource and is distinct from the warehouse ID. [Learn more](https://docs.databricks.com/api/workspace/datasources/list)", + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "required_request_body_fields": [ - { - "name": "id", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dashboard_id", - "description": "dashboard_id will be used to open Lakeview dashboard.", - "required": true, - "is_request_body_field": true, - "entity": { + }, + { + "name": "description", + "description": "General description that conveys additional information about this query such as usage notes.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "The title of this query that appears in list views, widget headings, and on the query page.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "options", + "description": "Exclusively used for storing a list parameter definitions. A parameter is an object with `title`, `name`, `type`, and `value` properties. The `value` field here is the default value. It can be overridden at runtime.", + "is_request_body_field": true, + "entity": { + "is_any": true + } + }, + { + "name": "parent", + "description": "The identifier of the workspace folder containing the object.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "query", + "description": "The text of the query to be run.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "run_as_role", + "description": "Sets the **Run as** role for the object. Must be set to one of `\"viewer\"` (signifying \"run as viewer\" behavior) or `\"owner\"` (signifying \"run as owner\" behavior)", + "is_request_body_field": true, + "entity": { + "pascal_name": "RunAsRole", + "enum": [ + { + "content": "owner" + }, + { + "content": "viewer" + } + ] + } + }, + { + "name": "tags", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { "is_string": true } } - ] - } - }, - { - "name": "GetLatestVersion", - "description": "Get latest version of provider analytics dashboard.", - "summary": "Get latest version of provider analytics dashboard.", - "path": "/api/2.0/marketplace-provider/analytics_dashboard/latest", - "is_legacy_empty_request": true, - "is_crud_read": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GetLatestVersionProviderAnalyticsDashboardRequest", - "is_object": true - }, - "response": { - "pascal_name": "GetLatestVersionProviderAnalyticsDashboardResponse", - "is_object": true - } + } + ] }, { - "name": "Update", - "description": "Update provider analytics dashboard.", - "summary": "Update provider analytics dashboard.", - "path": "/api/2.0/marketplace-provider/analytics_dashboard/{id}", - "can_use_json": true, + "name": "Delete", + "description": "Moves a query to the trash.\nTrashed queries immediately disappear from searches and list views, and they cannot be used for alerts.\nThe trash is deleted after 30 days.\n\n**Warning**: This API is deprecated. Please use :method:queries/delete instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Delete a query.", + "path": "/api/2.0/preview/sql/queries/{query_id}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateProviderAnalyticsDashboardRequest", + "pascal_name": "DeleteQueriesLegacyRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "id is immutable property and can't be updated.", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -170955,8 +179366,7 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "id is immutable property and can't be updated.", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -170966,73 +179376,23 @@ ] }, "response": { - "pascal_name": "UpdateProviderAnalyticsDashboardResponse", + "pascal_name": "DeleteResponse", "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "id", - "description": "id \u0026 version should be the same as the request", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dashboard_id", - "description": "this is newly created Lakeview dashboard for the user", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "id", - "description": "id \u0026 version should be the same as the request", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dashboard_id", - "description": "this is newly created Lakeview dashboard for the user", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "id", - "description": "id is immutable property and can't be updated.", + "name": "query_id", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "version", - "description": "this is the version of the dashboard template we want to update our user to\ncurrent expectation is that it should be equal to latest version of the dashboard template", - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ], "required_positional_arguments": [ { - "name": "id", - "description": "id is immutable property and can't be updated.", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171040,101 +179400,147 @@ } } ] - } - ] - }, - { - "id": "marketplace.ProviderProviders", - "name": "ProviderProviders", - "description": "Providers are entities that manage assets in Marketplace.", - "package": { - "name": "marketplace" - }, - "docs_group": "marketplace", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "named_id_map": { - "pascal_name": "ProviderInfoNameToIdMap" }, - "request": { - "pascal_name": "ListProvidersRequest" - } - }, - "methods": [ { - "name": "Create", - "description": "Create a provider", - "summary": "Create a provider.", - "path": "/api/2.0/marketplace-provider/provider", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "name": "Get", + "description": "Retrieve a query object definition along with contextual permissions information about the currently authenticated user.\n\n**Warning**: This API is deprecated. Please use :method:queries/get instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Get a query definition.", + "path": "/api/2.0/preview/sql/queries/{query_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateProviderRequest", + "pascal_name": "GetQueriesLegacyRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "provider", + "name": "query_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "ProviderInfo", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "provider", + "name": "query_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "ProviderInfo", - "is_object": true + "is_string": true } } ] }, "response": { - "pascal_name": "CreateProviderResponse", + "pascal_name": "LegacyQuery", "is_object": true }, "all_fields": [ { - "name": "provider", + "name": "query_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "ProviderInfo", - "is_object": true + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "query_id", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ] }, { - "name": "Delete", - "description": "Delete provider", - "summary": "Delete provider.", - "path": "/api/2.0/marketplace-provider/providers/{id}", + "name": "List", + "description": "Gets a list of queries. Optionally, this list can be filtered by a search term.\n\n**Warning**: Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban.\n\n**Warning**: This API is deprecated. Please use :method:queries/list instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Get a list of queries.", + "path": "/api/2.0/preview/sql/queries", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteProviderRequest", + "pascal_name": "ListQueriesLegacyRequest", + "is_object": true + }, + "response": { + "pascal_name": "QueryList", + "is_object": true + }, + "all_fields": [ + { + "name": "order", + "description": "Name of query attribute to order by. Default sort order is ascending. Append a dash (`-`) to order descending instead.\n\n- `name`: The name of the query.\n\n- `created_at`: The timestamp the query was created.\n\n- `runtime`: The time it took to run this query. This is blank for parameterized queries. A blank value is treated as the highest value for sorting.\n\n- `executed_at`: The timestamp when the query was last run.\n\n- `created_by`: The user name of the user that created the query.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "page", + "description": "Page number to retrieve.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_size", + "description": "Number of queries to return per page.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "q", + "description": "Full text search term", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "offset": { + "name": "page", + "description": "Page number to retrieve.", + "is_query": true, + "entity": { + "is_int": true + } + }, + "limit": { + "name": "page_size", + "description": "Number of queries to return per page.", + "is_query": true, + "entity": { + "is_int": true + } + } + } + }, + { + "name": "Restore", + "description": "Restore a query that has been moved to the trash.\nA restored query appears in list views and searches. You can use restored queries for alerts.\n\n**Warning**: This API is deprecated. Please see the latest version. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Restore a query.", + "path": "/api/2.0/preview/sql/queries/trash/{query_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "RestoreQueriesLegacyRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171144,7 +179550,7 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171154,13 +179560,13 @@ ] }, "response": { - "pascal_name": "DeleteProviderResponse", + "pascal_name": "RestoreResponse", "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171170,7 +179576,7 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171180,22 +179586,20 @@ ] }, { - "name": "Get", - "description": "Get provider profile", - "summary": "Get provider.", - "path": "/api/2.0/marketplace-provider/providers/{id}", - "is_crud_read": true, + "name": "Update", + "description": "Modify this query definition.\n\n**Note**: You cannot undo this operation.\n\n**Warning**: This API is deprecated. Please use :method:queries/update instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Change a query definition.", + "path": "/api/2.0/preview/sql/queries/{query_id}", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetProviderRequest", + "pascal_name": "QueryEditContent", "is_object": true, "required_fields": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171205,7 +179609,7 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171215,22 +179619,88 @@ ] }, "response": { - "pascal_name": "GetProviderResponse", + "pascal_name": "LegacyQuery", "is_object": true }, "all_fields": [ { - "name": "id", + "name": "data_source_id", + "description": "Data source ID maps to the ID of the data source used by the resource and is distinct from the warehouse ID. [Learn more](https://docs.databricks.com/api/workspace/datasources/list)", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "General description that conveys additional information about this query such as usage notes.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "The title of this query that appears in list views, widget headings, and on the query page.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "options", + "description": "Exclusively used for storing a list parameter definitions. A parameter is an object with `title`, `name`, `type`, and `value` properties. The `value` field here is the default value. It can be overridden at runtime.", + "is_request_body_field": true, + "entity": { + "is_any": true + } + }, + { + "name": "query", + "description": "The text of the query to be run.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "query_id", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "run_as_role", + "description": "Sets the **Run as** role for the object. Must be set to one of `\"viewer\"` (signifying \"run as viewer\" behavior) or `\"owner\"` (signifying \"run as owner\" behavior)", + "is_request_body_field": true, + "entity": { + "pascal_name": "RunAsRole", + "enum": [ + { + "content": "owner" + }, + { + "content": "viewer" + } + ] + } + }, + { + "name": "tags", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ], "required_positional_arguments": [ { - "name": "id", + "name": "query_id", "required": true, "is_path": true, "entity": { @@ -171238,28 +179708,58 @@ } } ] - }, + } + ] + }, + { + "id": "sql.QueryHistory", + "name": "QueryHistory", + "description": "A service responsible for storing and retrieving the list of queries run against SQL endpoints and serverless compute.", + "package": { + "name": "sql" + }, + "docs_group": "sql", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { "name": "List", - "description": "List provider profiles for account.", - "summary": "List providers.", - "path": "/api/2.0/marketplace-provider/providers", + "description": "List the history of queries through SQL warehouses, and serverless compute.\n\nYou can filter by user ID, warehouse ID, status, and time range.\nMost recently started queries are returned first (up to max_results in request).\nThe pagination token returned in response can be used to list subsequent query statuses.", + "summary": "List Queries.", + "path": "/api/2.0/sql/history/queries", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListProvidersRequest", + "pascal_name": "ListQueryHistoryRequest", "is_object": true }, "response": { - "pascal_name": "ListProvidersResponse", + "pascal_name": "ListQueriesResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", + "name": "filter_by", + "description": "An optional filter object to limit query history results. Accepts parameters such as user IDs, endpoint IDs, and statuses to narrow the returned data.\nIn a URL, the parameters of this filter are specified with dot notation. For example: `filter_by.statement_ids`.", + "is_query": true, + "is_optional_object": true, + "entity": { + "pascal_name": "QueryFilter", + "is_object": true + } + }, + { + "name": "include_metrics", + "description": "Whether to include the query metrics with each query.\nOnly use this for a small subset of queries (max_results).\nDefaults to false.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "max_results", + "description": "Limit the number of results returned in one page. Must be less than 1000 and the default is 100.", "is_query": true, "entity": { "is_int": true @@ -171267,38 +179767,130 @@ }, { "name": "page_token", + "description": "A token that can be used to get the next page of results. The token can contains characters that need to be encoded before using it in a URL.\nFor example, the character '+' needs to be replaced by %2B. This field is optional.", "is_query": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, + ] + } + ] + }, + { + "id": "sql.QueryVisualizations", + "name": "QueryVisualizations", + "description": "This is an evolving API that facilitates the addition and removal of visualizations from existing queries in the Databricks Workspace. Data structures can change over time.", + "package": { + "name": "sql" + }, + "is_hidden_cli": true, + "docs_group": "sql", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "methods": [ + { + "name": "Create", + "description": "Adds a visualization to a query.", + "summary": "Add a visualization to a query.", + "path": "/api/2.0/sql/visualizations", + "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", + "request": { + "pascal_name": "CreateVisualizationRequest", + "is_object": true + }, + "response": { + "pascal_name": "Visualization", + "is_object": true + }, + "all_fields": [ + { + "name": "visualization", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CreateVisualizationRequestVisualization", + "is_object": true + } + } + ] + }, + { + "name": "Delete", + "description": "Removes a visualization.", + "summary": "Remove a visualization.", + "path": "/api/2.0/sql/visualizations/{id}", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "DeleteVisualizationRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "required": true, + "is_path": true, "entity": { "is_string": true } } + ] + }, + "response": { + "pascal_name": "Empty", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - } + ], + "required_positional_arguments": [ + { + "name": "id", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, { "name": "Update", - "description": "Update provider profile", - "summary": "Update provider.", - "path": "/api/2.0/marketplace-provider/providers/{id}", + "description": "Updates a visualization.", + "summary": "Update a visualization.", + "path": "/api/2.0/sql/visualizations/{id}", "can_use_json": true, - "must_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateProviderRequest", + "pascal_name": "UpdateVisualizationRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ @@ -171311,12 +179903,12 @@ } }, { - "name": "provider", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ProviderInfo", - "is_object": true + "is_string": true } } ], @@ -171332,18 +179924,18 @@ ], "required_request_body_fields": [ { - "name": "provider", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ProviderInfo", - "is_object": true + "is_string": true } } ] }, "response": { - "pascal_name": "UpdateProviderResponse", + "pascal_name": "Visualization", "is_object": true }, "all_fields": [ @@ -171356,11 +179948,20 @@ } }, { - "name": "provider", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ProviderInfo", + "is_string": true + } + }, + { + "name": "visualization", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "UpdateVisualizationRequestVisualization", "is_object": true } } @@ -171373,48 +179974,59 @@ "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] } ] }, { - "id": "sharing.Providers", - "name": "Providers", - "description": "A data provider is an object representing the organization in the real world who shares the\ndata. A provider contains shares which further contain the shared data.", + "id": "sql.QueryVisualizationsLegacy", + "name": "QueryVisualizationsLegacy", + "description": "This is an evolving API that facilitates the addition and removal of visualizations from existing\nqueries within the Databricks Workspace. Data structures may change over time.\n\n**Warning**: This API is deprecated. Please see the latest version of the Databricks SQL API. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", "package": { - "name": "sharing" - }, - "docs_group": "sharing", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "ProviderInfoNameToMetastoreIdMap" - }, - "request": { - "pascal_name": "ListProvidersRequest" - } + "name": "sql" }, + "is_hidden_cli": true, + "docs_group": "sql", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "methods": [ { "name": "Create", - "description": "Creates a new authentication provider minimally based on a name and authentication type.\nThe caller must be an admin on the metastore.", - "summary": "Create an auth provider.", - "path": "/api/2.1/unity-catalog/providers", + "description": "Creates visualization in the query.\n\n**Warning**: This API is deprecated. Please use :method:queryvisualizations/create instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Add visualization to a query.", + "path": "/api/2.0/preview/sql/visualizations", "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "must_use_json": true, + "is_hidden_cli": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "CreateProvider", + "pascal_name": "CreateQueryVisualizationsLegacyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the Provider.", + "name": "options", + "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_any": true + } + }, + { + "name": "query_id", + "description": "The identifier returned by :method:queries/create", "required": true, "is_request_body_field": true, "entity": { @@ -171422,32 +180034,28 @@ } }, { - "name": "authentication_type", + "name": "type", + "description": "The type of visualization: chart, table, pivot table, and so on.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", - "enum": [ - { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" - }, - { - "content": "OIDC_FEDERATION" - }, - { - "content": "TOKEN" - } - ] + "is_string": true } } ], "required_request_body_fields": [ { - "name": "name", - "description": "The name of the Provider.", + "name": "options", + "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_any": true + } + }, + { + "name": "query_id", + "description": "The identifier returned by :method:queries/create", "required": true, "is_request_body_field": true, "entity": { @@ -171455,59 +180063,24 @@ } }, { - "name": "authentication_type", + "name": "type", + "description": "The type of visualization: chart, table, pivot table, and so on.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", - "enum": [ - { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" - }, - { - "content": "OIDC_FEDERATION" - }, - { - "content": "TOKEN" - } - ] + "is_string": true } } ] }, "response": { - "pascal_name": "ProviderInfo", + "pascal_name": "LegacyVisualization", "is_object": true }, "all_fields": [ { - "name": "authentication_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AuthenticationType", - "enum": [ - { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" - }, - { - "content": "OIDC_FEDERATION" - }, - { - "content": "TOKEN" - } - ] - } - }, - { - "name": "comment", - "description": "Description about the provider.", + "name": "description", + "description": "A short description of this visualization. This is not displayed in the UI.", "is_request_body_field": true, "entity": { "is_string": true @@ -171515,26 +180088,24 @@ }, { "name": "name", - "description": "The name of the Provider.", - "required": true, + "description": "The name of the visualization that appears on dashboards and the query screen.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "recipient_profile_str", - "description": "This field is required when the __authentication_type__ is **TOKEN**, **OAUTH_CLIENT_CREDENTIALS** or not provided.", + "name": "options", + "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The name of the Provider.", + "name": "query_id", + "description": "The identifier returned by :method:queries/create", "required": true, "is_request_body_field": true, "entity": { @@ -171542,44 +180113,32 @@ } }, { - "name": "authentication_type", + "name": "type", + "description": "The type of visualization: chart, table, pivot table, and so on.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", - "enum": [ - { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" - }, - { - "content": "OIDC_FEDERATION" - }, - { - "content": "TOKEN" - } - ] + "is_string": true } } ] }, { "name": "Delete", - "description": "Deletes an authentication provider, if the caller is a metastore admin or is the owner of the provider.", - "summary": "Delete a provider.", - "path": "/api/2.1/unity-catalog/providers/{name}", + "description": "Removes a visualization from the query.\n\n**Warning**: This API is deprecated. Please use :method:queryvisualizations/delete instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Remove visualization.", + "path": "/api/2.0/preview/sql/visualizations/{id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteProviderRequest", + "pascal_name": "DeleteQueryVisualizationsLegacyRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "Name of the provider.", + "name": "id", + "description": "Widget ID returned by :method:queryvisualizations/create", "required": true, "is_path": true, "entity": { @@ -171589,8 +180148,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the provider.", + "name": "id", + "description": "Widget ID returned by :method:queryvisualizations/create", "required": true, "is_path": true, "entity": { @@ -171600,12 +180159,14 @@ ] }, "response": { + "pascal_name": "DeleteResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "Name of the provider.", + "name": "id", + "description": "Widget ID returned by :method:queryvisualizations/create", "required": true, "is_path": true, "entity": { @@ -171615,8 +180176,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the provider.", + "name": "id", + "description": "Widget ID returned by :method:queryvisualizations/create", "required": true, "is_path": true, "entity": { @@ -171626,154 +180187,117 @@ ] }, { - "name": "Get", - "description": "Gets a specific authentication provider.\nThe caller must supply the name of the provider, and must either be a metastore admin or the owner of the provider.", - "summary": "Get a provider.", - "path": "/api/2.1/unity-catalog/providers/{name}", - "is_crud_read": true, + "name": "Update", + "description": "Updates visualization in the query.\n\n**Warning**: This API is deprecated. Please use :method:queryvisualizations/update instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "summary": "Edit existing visualization.", + "path": "/api/2.0/preview/sql/visualizations/{id}", + "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetProviderRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "Name of the provider.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "Name of the provider.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "LegacyVisualization", + "is_object": true }, "response": { - "pascal_name": "ProviderInfo", + "pascal_name": "LegacyVisualization", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "Name of the provider.", - "required": true, - "is_path": true, + "name": "created_at", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Name of the provider.", - "required": true, - "is_path": true, + "name": "description", + "description": "A short description of this visualization. This is not displayed in the UI.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "List", - "description": "Gets an array of available authentication providers.\nThe caller must either be a metastore admin, have the **USE_PROVIDER** privilege on the providers,\nor be the owner of the providers. Providers not owned by the caller and for which the caller does\nnot have the **USE_PROVIDER** privilege are not included in the response.\nThere is no guarantee of a specific ordering of the elements in the array.", - "summary": "List providers.", - "path": "/api/2.1/unity-catalog/providers", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListProvidersRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListProvidersResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "data_provider_global_metastore_id", - "description": "If not provided, all providers will be returned.\nIf no providers exist with this ID, no results will be returned.", - "is_query": true, + "name": "id", + "description": "The UUID for this visualization.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "max_results", - "description": "Maximum number of providers to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid providers are returned (not recommended).\n- Note: The number of returned providers might be less than the specified max_results size, even zero.\nThe only definitive indication that no further providers can be fetched is when the next_page_token is unset from the response.", - "is_query": true, + "name": "name", + "description": "The name of the visualization that appears on dashboards and the query screen.", + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, + "name": "options", + "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "query", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "LegacyQuery", + "is_object": true } }, - "max_results": { - "name": "max_results", - "description": "Maximum number of providers to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid providers are returned (not recommended).\n- Note: The number of returned providers might be less than the specified max_results size, even zero.\nThe only definitive indication that no further providers can be fetched is when the next_page_token is unset from the response.", - "is_query": true, + { + "name": "type", + "description": "The type of visualization: chart, table, pivot table, and so on.", + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true + } + }, + { + "name": "updated_at", + "is_request_body_field": true, + "entity": { + "is_string": true } } - } - }, + ] + } + ] + }, + { + "id": "sharing.RecipientActivation", + "name": "RecipientActivation", + "description": "The Recipient Activation API is only applicable in the open sharing model where the\nrecipient object has the authentication type of `TOKEN`. The data recipient follows\nthe activation link shared by the data provider to download the credential file that\nincludes the access token. The recipient will then use the credential file to establish\na secure connection with the provider to receive the shared data.\n\nNote that you can download the credential file only once. Recipients should treat the\ndownloaded credential as a secret and must not share it outside of their organization.", + "package": { + "name": "sharing" + }, + "docs_group": "sharing", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "ListProviderShareAssets", - "description": "Get arrays of assets associated with a specified provider's share.\nThe caller is the recipient of the share.", - "summary": "List assets by provider share.", - "path": "/api/2.1/data-sharing/providers/{provider_name}/shares/{share_name}", + "name": "GetActivationUrlInfo", + "description": "Gets an activation URL for a share.", + "summary": "Get a share activation URL.", + "path": "/api/2.1/unity-catalog/public/data_sharing_activation_info/{activation_url}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListProviderShareAssetsRequest", + "pascal_name": "GetActivationUrlInfoRequest", "is_object": true, "required_fields": [ { - "name": "provider_name", - "description": "The name of the provider who owns the share.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "share_name", - "description": "The name of the share.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { @@ -171783,17 +180307,8 @@ ], "required_in_url_fields": [ { - "name": "provider_name", - "description": "The name of the provider who owns the share.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "share_name", - "description": "The name of the share.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { @@ -171803,74 +180318,25 @@ ] }, "response": { - "pascal_name": "ListProviderShareAssetsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "function_max_results", - "description": "Maximum number of functions to return.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "notebook_max_results", - "description": "Maximum number of notebooks to return.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "provider_name", - "description": "The name of the provider who owns the share.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, + "pascal_name": "GetActivationUrlInfoResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ { - "name": "share_name", - "description": "The name of the share.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "table_max_results", - "description": "Maximum number of tables to return.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "volume_max_results", - "description": "Maximum number of volumes to return.", - "is_query": true, - "entity": { - "is_int": true - } } ], "required_positional_arguments": [ { - "name": "provider_name", - "description": "The name of the provider who owns the share.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "share_name", - "description": "The name of the share.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { @@ -171880,20 +180346,20 @@ ] }, { - "name": "ListShares", - "description": "Gets an array of a specified provider's shares within the metastore where:\n\n* the caller is a metastore admin, or\n* the caller is the owner.", - "summary": "List shares by Provider.", - "path": "/api/2.1/unity-catalog/providers/{name}/shares", + "name": "RetrieveToken", + "description": "Retrieve access token with an activation url.\nThis is a public API without any authentication.", + "summary": "Get an access token.", + "path": "/api/2.1/unity-catalog/public/data_sharing_activation/{activation_url}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSharesRequest", + "pascal_name": "RetrieveTokenRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "Name of the provider in which to list shares.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { @@ -171903,8 +180369,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the provider in which to list shares.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { @@ -171914,119 +180380,141 @@ ] }, "response": { - "pascal_name": "ListProviderSharesResponse", + "pascal_name": "RetrieveTokenResponse", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "name", - "description": "Name of the provider in which to list shares.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the provider in which to list shares.", + "name": "activation_url", + "description": "The one time activation url. It also accepts activation token.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - }, - "max_results": { - "name": "max_results", - "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", - "is_query": true, - "entity": { - "is_int": true - } - } - } - }, + ] + } + ] + }, + { + "id": "sharing.RecipientFederationPolicies", + "name": "RecipientFederationPolicies", + "description": "The Recipient Federation Policies APIs are only applicable in the open sharing model where the recipient object has the authentication type of `OIDC_RECIPIENT`, enabling data sharing from Databricks to non-Databricks recipients.\nOIDC Token Federation enables secure, secret-less authentication for accessing Delta Sharing servers. Users and applications authenticate using short-lived OIDC tokens issued by their own Identity Provider (IdP), such as Azure Entra ID or Okta, without the need for managing static credentials or client secrets.\nA federation policy defines how non-Databricks recipients authenticate using OIDC tokens. It validates the OIDC claims in federated tokens and is set at the recipient level. The caller must be the owner of the recipient to create or manage a federation policy.\nFederation policies support the following scenarios:\n- User-to-Machine (U2M) flow: A user accesses Delta Shares using their own identity, such as connecting through PowerBI Delta Sharing Client.\n- Machine-to-Machine (M2M) flow: An application accesses Delta Shares using its own identity, typically for automation tasks like nightly jobs through Python Delta Sharing Client.\nOIDC Token Federation enables fine-grained access control, supports Multi-Factor Authentication (MFA), and enhances security by minimizing the risk of credential leakage through the use of short-lived, expiring tokens. It is designed for strong identity governance, secure cross-platform data sharing, and reduced operational overhead for credential management.\n\nFor more information, see https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security and https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed", + "package": { + "name": "sharing" + }, + "docs_group": "sharing", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "request": { + "pascal_name": "ListFederationPoliciesRequest" + } + }, + "methods": [ { - "name": "Update", - "description": "Updates the information for an authentication provider, if the caller is a metastore admin or is the owner of the provider.\nIf the update changes the provider name, the caller must be both a metastore admin and the owner of the provider.", - "summary": "Update a provider.", - "path": "/api/2.1/unity-catalog/providers/{name}", + "name": "Create", + "description": "Create a federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients.\nThe caller must be the owner of the recipient.\nWhen sharing data from Databricks to non-Databricks clients,\nyou can define a federation policy to authenticate non-Databricks recipients.\nThe federation policy validates OIDC claims in federated tokens and is defined at the recipient level.\nThis enables secretless sharing clients to authenticate using OIDC tokens.\n\nSupported scenarios for federation policies:\n1. **User-to-Machine (U2M) flow** (e.g., PowerBI): A user accesses a resource using their own identity.\n2. **Machine-to-Machine (M2M) flow** (e.g., OAuth App): An OAuth App accesses a resource using its own identity,\ntypically for tasks like running nightly jobs.\n\nFor an overview, refer to:\n- Blog post: Overview of feature: https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security\n\nFor detailed configuration guides based on your use case:\n- Creating a Federation Policy as a provider: https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed\n- Configuration and usage for Machine-to-Machine (M2M) applications (e.g., Python Delta Sharing Client): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-m2m\n- Configuration and usage for User-to-Machine (U2M) applications (e.g., PowerBI): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-u2m", + "summary": "Create recipient federation policy.", + "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "UpdateProvider", + "pascal_name": "CreateFederationPolicyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the provider.", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "policy", + "description": "Name of the policy. This is the name of the policy to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the provider.", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "policy", + "description": "Name of the policy. This is the name of the policy to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "policy", + "description": "Name of the policy. This is the name of the policy to be created.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + }, "response": { - "pascal_name": "ProviderInfo", + "pascal_name": "FederationPolicy", "is_object": true }, "all_fields": [ { - "name": "comment", - "description": "Description about the provider.", + "name": "policy", + "description": "Name of the policy. This is the name of the policy to be created.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "FederationPolicy", + "is_object": true } }, { - "name": "name", - "description": "Name of the provider.", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", "required": true, "is_path": true, "entity": { @@ -172034,114 +180522,100 @@ } }, { - "name": "new_name", - "description": "New name for the provider.", + "name": "comment", + "description": "Description of the policy. This is a user-provided description.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "Username of Provider owner.", + "name": "create_time", + "description": "System-generated timestamp indicating when the policy was created.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "recipient_profile_str", - "description": "This field is required when the __authentication_type__ is **TOKEN**, **OAUTH_CLIENT_CREDENTIALS** or not provided.", + "name": "id", + "description": "Unique, immutable system-generated identifier for the federation policy.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { "name": "name", - "description": "Name of the provider.", - "required": true, - "is_path": true, + "description": "Name of the federation policy. A recipient can have multiple policies with different names.\nThe name must contain only lowercase alphanumeric characters, numbers, and hyphens.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - } - ] - }, - { - "id": "oauth2.PublishedAppIntegration", - "name": "PublishedAppIntegration", - "description": "These APIs enable administrators to manage published OAuth app integrations, which is required for\nadding/using Published OAuth App Integration like Tableau Desktop for Databricks in AWS cloud.", - "package": { - "name": "oauth2" - }, - "is_accounts": true, - "docs_group": "oauth2", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListPublishedAppIntegrationsRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Create Published OAuth App Integration.\n\nYou can retrieve the published OAuth app integration via [PublishedAppIntegration/get](https://docs.databricks.com/api/account/publishedappintegration/get).", - "summary": "Create Published OAuth App Integration.", - "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreatePublishedAppIntegration", - "is_object": true - }, - "response": { - "pascal_name": "CreatePublishedAppIntegrationOutput", - "is_object": true - }, - "all_fields": [ + }, { - "name": "app_id", - "description": "App id of the OAuth published app integration.\nFor example power-bi, tableau-deskop", + "name": "oidc_policy", + "description": "Specifies the policy to use for validating OIDC claims in the federated tokens.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "OidcFederationPolicy", + "is_object": true } }, { - "name": "token_access_policy", - "description": "Token access policy", + "name": "update_time", + "description": "System-generated timestamp indicating when the policy was last updated.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "TokenAccessPolicy", - "is_object": true + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ] }, { "name": "Delete", - "description": "Delete an existing Published OAuth App Integration.\nYou can retrieve the published OAuth app integration via [PublishedAppIntegration/get](https://docs.databricks.com/api/account/publishedappintegration/get).", - "summary": "Delete Published OAuth App Integration.", - "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations/{integration_id}", + "description": "Deletes an existing federation policy for an OIDC_FEDERATION recipient.\nThe caller must be the owner of the recipient.", + "summary": "Delete recipient federation policy.", + "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies/{name}", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeletePublishedAppIntegrationRequest", + "pascal_name": "DeleteFederationPolicyRequest", "is_object": true, "required_fields": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the policy. This is the name of the policy to be deleted.", "required": true, "is_path": true, "entity": { @@ -172151,7 +180625,17 @@ ], "required_in_url_fields": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the policy. This is the name of the policy to be deleted.", "required": true, "is_path": true, "entity": { @@ -172161,13 +180645,21 @@ ] }, "response": { - "pascal_name": "DeletePublishedAppIntegrationOutput", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "integration_id", + "name": "name", + "description": "Name of the policy. This is the name of the policy to be deleted.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", "required": true, "is_path": true, "entity": { @@ -172177,7 +180669,17 @@ ], "required_positional_arguments": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the policy. This is the name of the policy to be deleted.", "required": true, "is_path": true, "entity": { @@ -172187,20 +180689,32 @@ ] }, { - "name": "Get", - "description": "Gets the Published OAuth App Integration for the given integration id.", - "summary": "Get OAuth Published App Integration.", - "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations/{integration_id}", + "name": "GetFederationPolicy", + "description": "Reads an existing federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients.\nThe caller must have read access to the recipient.", + "summary": "Get recipient federation policy.", + "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies/{name}", "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetPublishedAppIntegrationRequest", + "pascal_name": "GetFederationPolicyRequest", "is_object": true, "required_fields": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the policy. This is the name of the policy to be retrieved.", "required": true, "is_path": true, "entity": { @@ -172210,7 +180724,17 @@ ], "required_in_url_fields": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Name of the policy. This is the name of the policy to be retrieved.", "required": true, "is_path": true, "entity": { @@ -172220,89 +180744,67 @@ ] }, "response": { - "pascal_name": "GetPublishedAppIntegrationOutput", + "pascal_name": "FederationPolicy", "is_object": true }, "all_fields": [ { - "name": "integration_id", + "name": "name", + "description": "Name of the policy. This is the name of the policy to be retrieved.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - { - "name": "List", - "description": "Get the list of published OAuth app integrations for the specified Databricks account", - "summary": "Get published oauth app integrations.", - "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListPublishedAppIntegrationsRequest", - "is_object": true - }, - "response": { - "pascal_name": "GetPublishedAppIntegrationsOutput", - "is_object": true - }, - "all_fields": [ + ], + "required_positional_arguments": [ { - "name": "page_size", - "is_query": true, + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "required": true, + "is_path": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "is_query": true, + "name": "name", + "description": "Name of the policy. This is the name of the policy to be retrieved.", + "required": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "Update", - "description": "Updates an existing published OAuth App Integration.\nYou can retrieve the published OAuth app integration via [PublishedAppIntegration/get](https://docs.databricks.com/api/account/publishedappintegration/get).", - "summary": "Updates Published OAuth App Integration.", - "path": "/api/2.0/accounts/{account_id}/oauth2/published-app-integrations/{integration_id}", - "can_use_json": true, + "name": "List", + "description": "Lists federation policies for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients.\nThe caller must have read access to the recipient.", + "summary": "List recipient federation policies.", + "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "UpdatePublishedAppIntegration", + "pascal_name": "ListFederationPoliciesRequest", "is_object": true, "required_fields": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", "required": true, "is_path": true, "entity": { @@ -172312,7 +180814,8 @@ ], "required_in_url_fields": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", "required": true, "is_path": true, "entity": { @@ -172322,158 +180825,93 @@ ] }, "response": { - "pascal_name": "UpdatePublishedAppIntegrationOutput", - "is_object": true, - "is_empty_response": true + "pascal_name": "ListFederationPoliciesResponse", + "is_object": true }, "all_fields": [ { - "name": "integration_id", - "required": true, - "is_path": true, + "name": "max_results", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "is_query": true, "entity": { "is_string": true } }, { - "name": "token_access_policy", - "description": "Token access policy to be updated in the published OAuth app integration", - "is_request_body_field": true, - "is_optional_object": true, + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "TokenAccessPolicy", - "is_object": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "integration_id", + "name": "recipient_name", + "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } } ] }, { - "id": "qualitymonitorv2.QualityMonitorV2", - "name": "QualityMonitorV2", - "description": "Deprecated: Please use the Data Quality Monitoring API instead (REST: /api/data-quality/v1/monitors). Manage data quality of UC objects (currently support `schema`).", + "id": "sharing.Recipients", + "name": "Recipients", + "description": "A recipient is an object you create using :method:recipients/create to represent an\norganization which you want to allow access shares. The way how sharing works differs\ndepending on whether or not your recipient has access to a Databricks workspace that is\nenabled for Unity Catalog:\n\n- For recipients with access to a Databricks workspace that is enabled for Unity Catalog,\nyou can create a recipient object along with a unique sharing identifier you get from the\nrecipient. The sharing identifier is the key identifier that enables the secure connection.\nThis sharing mode is called **Databricks-to-Databricks sharing**.\n\n- For recipients without access to a Databricks workspace that is enabled for Unity Catalog,\nwhen you create a recipient object, Databricks generates an activation link you can send\nto the recipient. The recipient follows the activation link to download the credential file,\nand then uses the credential file to establish a secure connection to receive the shared data.\nThis sharing mode is called **open sharing**.", "package": { - "name": "qualitymonitorv2" + "name": "sharing" }, - "docs_group": "qualitymonitor", - "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", + "docs_group": "sharing", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "request": { - "pascal_name": "ListQualityMonitorRequest" + "pascal_name": "ListRecipientsRequest" } }, "methods": [ { - "name": "CreateQualityMonitor", - "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\nCreate a quality monitor on UC object.", - "summary": "Create a quality monitor.", - "path": "/api/2.0/quality-monitors", + "name": "Create", + "description": "Creates a new recipient with the delta sharing authentication type in the metastore.\nThe caller must be a metastore admin or have the **CREATE_RECIPIENT** privilege on the metastore.", + "summary": "Create a share recipient.", + "path": "/api/2.1/unity-catalog/recipients", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateQualityMonitorRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "quality_monitor", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "QualityMonitor", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "quality_monitor", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "QualityMonitor", - "is_object": true - } - } - ] - }, - "request_body_field": { - "name": "quality_monitor", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "QualityMonitor", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - "response": { - "pascal_name": "QualityMonitor", + "pascal_name": "CreateRecipient", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "Name of Recipient.", "required": true, "is_request_body_field": true, "entity": { @@ -172481,19 +180919,32 @@ } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "authentication_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] } } ], "required_request_body_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "Name of Recipient.", "required": true, "is_request_body_field": true, "entity": { @@ -172501,80 +180952,102 @@ } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "authentication_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] } } ] }, + "response": { + "pascal_name": "RecipientInfo", + "is_object": true + }, "all_fields": [ { - "name": "quality_monitor", + "name": "authentication_type", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "QualityMonitor", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ + "pascal_name": "AuthenticationType", + "enum": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "content": "DATABRICKS" }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ + "content": "OAUTH_CLIENT_CREDENTIALS" + }, { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "content": "OIDC_FEDERATION" }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "content": "TOKEN" } ] } }, { - "name": "anomaly_detection_config", + "name": "comment", + "description": "Description about the recipient.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "data_recipient_global_metastore_id", + "description": "The global Unity Catalog metastore id provided by the data recipient.\nThis field is only present when the __authentication_type__ is **DATABRICKS**.\nThe identifier is of format __cloud__:__region__:__metastore-uuid__.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "expiration_time", + "description": "Expiration timestamp of the token, in epoch milliseconds.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "id", + "description": "[Create,Update:IGN] common - id of the recipient", "is_output_only": true, "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "ip_access_list", + "description": "IP Access List", + "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "AnomalyDetectionConfig", + "pascal_name": "IpAccessList", "is_object": true } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of Recipient.", "required": true, "is_request_body_field": true, "entity": { @@ -172582,31 +181055,36 @@ } }, { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, + "name": "owner", + "description": "Username of the recipient owner.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "validity_check_configurations", - "description": "Validity check configurations for anomaly detection.", + "name": "properties_kvpairs", + "description": "Recipient properties as map of string key-value pairs.\nWhen provided in update request, the specified properties will override the existing\nproperties. To add and remove properties, one would need to perform a read-modify-write.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "ValidityCheckConfigurationList", - "array_value": { - "pascal_name": "ValidityCheckConfiguration", - "is_object": true - } + "pascal_name": "SecurablePropertiesKvPairs", + "is_object": true + } + }, + { + "name": "sharing_code", + "description": "The one-time sharing code provided by the data recipient. This field is only present when the __authentication_type__ is **DATABRICKS**.", + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "Name of Recipient.", "required": true, "is_request_body_field": true, "entity": { @@ -172614,42 +181092,44 @@ } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "authentication_type", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "AuthenticationType", + "enum": [ + { + "content": "DATABRICKS" + }, + { + "content": "OAUTH_CLIENT_CREDENTIALS" + }, + { + "content": "OIDC_FEDERATION" + }, + { + "content": "TOKEN" + } + ] } } ] }, { - "name": "DeleteQualityMonitor", - "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\nDelete a quality monitor on UC object.", - "summary": "Delete a quality monitor.", - "path": "/api/2.0/quality-monitors/{object_type}/{object_id}", + "name": "Delete", + "description": "Deletes the specified recipient from the metastore. The caller must be the owner of the recipient.", + "summary": "Delete a share recipient.", + "path": "/api/2.1/unity-catalog/recipients/{name}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteQualityMonitorRequest", + "pascal_name": "DeleteRecipientRequest", "is_object": true, "required_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { @@ -172659,17 +181139,8 @@ ], "required_in_url_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { @@ -172683,17 +181154,8 @@ }, "all_fields": [ { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { @@ -172703,17 +181165,8 @@ ], "required_positional_arguments": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { @@ -172723,32 +181176,21 @@ ] }, { - "name": "GetQualityMonitor", - "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\nRead a quality monitor on UC object.", - "summary": "Read a quality monitor.", - "path": "/api/2.0/quality-monitors/{object_type}/{object_id}", + "name": "Get", + "description": "Gets a share recipient from the metastore. The caller must be one of:\n* A user with **USE_RECIPIENT** privilege on the metastore\n* The owner of the share recipient\n* A metastore admin", + "summary": "Get a share recipient.", + "path": "/api/2.1/unity-catalog/recipients/{name}", "is_crud_read": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetQualityMonitorRequest", + "pascal_name": "GetRecipientRequest", "is_object": true, "required_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { @@ -172758,17 +181200,8 @@ ], "required_in_url_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { @@ -172778,63 +181211,168 @@ ] }, "response": { - "pascal_name": "QualityMonitor", + "pascal_name": "RecipientInfo", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Name of the recipient.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Name of the recipient.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "Gets an array of all share recipients within the current metastore where:\n\n* the caller is a metastore admin, or\n* the caller is the owner.\nThere is no guarantee of a specific ordering of the elements in the array.", + "summary": "List share recipients.", + "path": "/api/2.1/unity-catalog/recipients", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListRecipientsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListRecipientsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "data_recipient_global_metastore_id", + "description": "If not provided, all recipients will be returned.\nIf no recipients exist with this ID, no results will be returned.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "max_results", + "description": "Maximum number of recipients to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid recipients are returned (not recommended).\n- Note: The number of returned recipients might be less than the specified max_results size, even zero.\nThe only definitive indication that no further recipients can be fetched is when the next_page_token is unset from the response.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of recipients to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid recipients are returned (not recommended).\n- Note: The number of returned recipients might be less than the specified max_results size, even zero.\nThe only definitive indication that no further recipients can be fetched is when the next_page_token is unset from the response.", + "is_query": true, + "entity": { + "is_int": true + } + } + } + }, + { + "name": "RotateToken", + "description": "Refreshes the specified recipient's delta sharing authentication token with the provided token info.\nThe caller must be the owner of the recipient.", + "summary": "Rotate a token.", + "path": "/api/2.1/unity-catalog/recipients/{name}/rotate-token", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "RotateRecipientToken", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "The name of the Recipient.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "existing_token_expire_in_seconds", + "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "The name of the Recipient.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "existing_token_expire_in_seconds", + "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, + "response": { + "pascal_name": "RecipientInfo", + "is_object": true + }, "all_fields": [ { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "existing_token_expire_in_seconds", + "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "The name of the Recipient.", "required": true, "is_path": true, "entity": { @@ -172844,8 +181382,8 @@ ], "required_positional_arguments": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "The name of the Recipient.", "required": true, "is_path": true, "entity": { @@ -172853,412 +181391,483 @@ } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "existing_token_expire_in_seconds", + "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "ListQualityMonitor", - "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\n(Unimplemented) List quality monitors.", - "summary": "List quality monitors.", - "path": "/api/2.0/quality-monitors", + "name": "SharePermissions", + "description": "Gets the share permissions for the specified Recipient. The caller must have the **USE_RECIPIENT** privilege on the metastore or be the owner of the Recipient.", + "summary": "Get recipient share permissions.", + "path": "/api/2.1/unity-catalog/recipients/{name}/share-permissions", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListQualityMonitorRequest", - "is_object": true + "pascal_name": "SharePermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the Recipient.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The name of the Recipient.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListQualityMonitorResponse", + "pascal_name": "GetRecipientSharePermissionsResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", + "name": "max_results", + "description": "Maximum number of permissions to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid permissions are returned (not recommended).\n- Note: The number of returned permissions might be less than the specified max_results size, even zero.\nThe only definitive indication that no further permissions can be fetched is when the next_page_token is unset from the response.", "is_query": true, "entity": { "is_int": true } }, + { + "name": "name", + "description": "The name of the Recipient.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, { "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "name", + "description": "The name of the Recipient.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "UpdateQualityMonitor", - "description": "Deprecated: Use Data Quality Monitoring API instead (/api/data-quality/v1/monitors).\n(Unimplemented) Update a quality monitor on UC object.", - "summary": "Update a quality monitor.", - "path": "/api/2.0/quality-monitors/{object_type}/{object_id}", + "name": "Update", + "description": "Updates an existing recipient in the metastore. The caller must be a metastore admin or the owner of the recipient.\nIf the recipient name will be updated, the user must be both a metastore admin and the owner of the recipient.", + "summary": "Update a share recipient.", + "path": "/api/2.1/unity-catalog/recipients/{name}", "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateQualityMonitorRequest", + "pascal_name": "UpdateRecipient", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "quality_monitor", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "QualityMonitor", - "is_object": true - } } ], "required_in_url_fields": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "quality_monitor", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "QualityMonitor", - "is_object": true - } - } ] }, - "request_body_field": { - "name": "quality_monitor", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "QualityMonitor", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "QualityMonitor", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "RecipientInfo", + "is_object": true }, "all_fields": [ { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_path": true, + "name": "comment", + "description": "Description about the recipient.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_path": true, + "name": "expiration_time", + "description": "Expiration timestamp of the token, in epoch milliseconds.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "quality_monitor", - "required": true, + "name": "id", + "description": "[Create,Update:IGN] common - id of the recipient", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "QualityMonitor", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_string": true } }, { - "name": "anomaly_detection_config", - "is_output_only": true, + "name": "ip_access_list", + "description": "IP Access List", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "AnomalyDetectionConfig", + "pascal_name": "IpAccessList", "is_object": true } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", + "name": "name", + "description": "Name of the recipient.", "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "new_name", + "description": "New name for the recipient.\n.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, + "name": "owner", + "description": "Username of the recipient owner.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "validity_check_configurations", - "description": "Validity check configurations for anomaly detection.", + "name": "properties_kvpairs", + "description": "Recipient properties as map of string key-value pairs.\nWhen provided in update request, the specified properties will override the existing\nproperties. To add and remove properties, one would need to perform a read-modify-write.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "ValidityCheckConfigurationList", - "array_value": { - "pascal_name": "ValidityCheckConfiguration", - "is_object": true - } + "pascal_name": "SecurablePropertiesKvPairs", + "is_object": true } } ], "required_positional_arguments": [ { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", + "name": "name", + "description": "Name of the recipient.", "required": true, "is_path": true, "entity": { "is_string": true } + } + ] + } + ] + }, + { + "id": "sql.RedashConfig", + "name": "RedashConfig", + "description": "Redash V2 service for workspace configurations (internal)", + "package": { + "name": "sql" + }, + "is_hidden_cli": true, + "docs_group": "sql", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "methods": [ + { + "name": "GetConfig", + "description": "Read workspace configuration for Redash-v2.", + "summary": "Read workspace configuration for Redash-v2.", + "path": "/api/2.0/redash-v2/config", + "is_legacy_empty_request": true, + "is_crud_read": true, + "is_hidden_cli": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GetConfigRequest", + "is_object": true + }, + "response": { + "pascal_name": "ClientConfig", + "is_object": true + } + } + ] + }, + { + "id": "catalog.RegisteredModels", + "name": "RegisteredModels", + "description": "Databricks provides a hosted version of MLflow Model Registry in Unity Catalog.\nModels in Unity Catalog provide centralized access control, auditing, lineage, and discovery of\nML models across Databricks workspaces.\n\nAn MLflow registered model resides in the third layer of Unity Catalog’s three-level namespace.\nRegistered models contain model versions, which correspond to actual ML models (MLflow models). Creating new\nmodel versions requires use of the MLflow Python client. After model versions are created, you can\nload them for batch inference using MLflow Python client APIs, or deploy them for real-time serving using\nDatabricks Model Serving.\n\nAll operations on registered models and model versions require USE_CATALOG permissions on the enclosing catalog\nand USE_SCHEMA permissions on the enclosing schema. In addition, the following additional privileges are\nrequired for various operations:\n\n* To create a registered model, users must additionally have the CREATE_MODEL permission on the target schema.\n* To view registered model or model version metadata, model version data files, or invoke a model version,\nusers must additionally have the EXECUTE permission on the registered model\n* To update registered model or model version tags, users must additionally have APPLY TAG permissions on the registered model\n* To update other registered model or model version metadata (comments, aliases)\ncreate a new model version, or update permissions on the registered model, users must be owners of the\nregistered model.\n\nNote: The securable type for models is FUNCTION. When using REST APIs (for example, tagging, grants) that specify\na securable type, use FUNCTION as the securable type.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "RegisteredModelInfoNameToFullNameMap" + }, + "request": { + "pascal_name": "ListRegisteredModelsRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a new registered model in Unity Catalog.\n\nFile storage for model versions in the registered model\nwill be located in the default location which is specified by the parent schema,\nor the parent catalog, or the Metastore.\n\nFor registered model creation to succeed, the user must satisfy the following conditions:\n- The caller must be a metastore admin, or be the owner of the parent catalog and schema,\nor have the **USE_CATALOG** privilege on the parent catalog\nand the **USE_SCHEMA** privilege on the parent schema.\n- The caller must have the **CREATE MODEL** or **CREATE FUNCTION** privilege on the parent schema.", + "summary": "Create a Registered Model.", + "path": "/api/2.1/unity-catalog/models", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateRegisteredModelRequest", + "is_object": true + }, + "response": { + "pascal_name": "RegisteredModelInfo", + "is_object": true + }, + "all_fields": [ + { + "name": "aliases", + "description": "List of aliases associated with the registered model", + "is_request_body_field": true, + "entity": { + "pascal_name": "RegisteredModelAliasList", + "array_value": { + "pascal_name": "RegisteredModelAlias", + "is_object": true + } + } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, - "is_path": true, + "name": "browse_only", + "description": "Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE privilege when include_browse is enabled in the request.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the registered model reside", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "object_type", - "description": "The type of the monitored object. Can be one of the following: schema.", - "required": true, + "name": "comment", + "description": "The comment attached to the registered model", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "object_id", - "description": "The uuid of the request object. For example, schema id.", - "required": true, + "name": "created_at", + "description": "Creation timestamp of the registered model in milliseconds since the Unix epoch", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "created_by", + "description": "The identifier of the user who created the registered model", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "metastore_id", + "description": "The unique identifier of the metastore", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "The name of the registered model", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "owner", + "description": "The identifier of the user who owns the registered model", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the registered model resides", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage_location", + "description": "The storage location on the cloud under which model version data files are stored", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "updated_at", + "description": "Last-update timestamp of the registered model in milliseconds since the Unix epoch", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "updated_by", + "description": "The identifier of the user who updated the registered model last time", "is_request_body_field": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "catalog.QualityMonitors", - "name": "QualityMonitors", - "description": "Deprecated: Please use the Data Quality Monitors API instead (REST: /api/data-quality/v1/monitors), which manages both Data Profiling and Anomaly Detection.\n\nA monitor computes and monitors data or model quality metrics for a table over time.\nIt generates metrics tables and a dashboard that you can use to monitor table health and set alerts.\nMost write operations require the user to be the owner of the table (or its parent schema or parent catalog).\nViewing the dashboard, computed metrics, or monitor configuration only requires the user to have **SELECT**\nprivileges on the table (along with **USE_SCHEMA** and **USE_CATALOG**).", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "CancelRefresh", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nCancels an already-initiated refresh job.", - "summary": "Cancel refresh.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes/{refresh_id}/cancel", - "is_crud_create": true, - "is_hidden_cli": true, + "name": "Delete", + "description": "Deletes a registered model and all its model versions from the specified parent catalog and schema.\n\nThe caller must be a metastore admin or an owner of the registered model.\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.", + "summary": "Delete a Registered Model.", + "path": "/api/2.1/unity-catalog/models/{full_name}", "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CancelRefreshRequest", + "pascal_name": "DeleteRegisteredModelRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "DeleteAlias", + "description": "Deletes a registered model alias.\n\nThe caller must be a metastore admin or an owner of the registered model.\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.", + "summary": "Delete a Registered Model Alias.", + "path": "/api/2.1/unity-catalog/models/{full_name}/aliases/{alias}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteAliasRequest", + "is_object": true, + "required_fields": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -173266,18 +181875,19 @@ } }, { - "name": "refresh_id", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -173285,32 +181895,32 @@ } }, { - "name": "refresh_id", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ] }, "response": { - "pascal_name": "CancelRefreshResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "refresh_id", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -173320,8 +181930,8 @@ ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { @@ -173329,378 +181939,601 @@ } }, { - "name": "refresh_id", + "name": "alias", + "description": "The name of the alias", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ] }, { - "name": "Create", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nCreates a new monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog, have **USE_SCHEMA** on the table's parent schema, and have **SELECT** access on the table\n2. have **USE_CATALOG** on the table's parent catalog, be an owner of the table's parent schema, and have **SELECT** access on the table.\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table.\n\nWorkspace assets, such as the dashboard, will be created in the workspace where\nthis call was made.", - "summary": "Create a table monitor.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", - "can_use_json": true, - "is_crud_create": true, + "name": "Get", + "description": "Get a registered model.\n\nThe caller must be a metastore admin or an owner of (or have the **EXECUTE**\nprivilege on) the registered model. For the latter case, the caller must also be the owner\nor have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege\non the parent schema.", + "summary": "Get a Registered Model.", + "path": "/api/2.1/unity-catalog/models/{full_name}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateMonitor", + "pascal_name": "GetRegisteredModelRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "assets_dir", - "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "assets_dir", - "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", - "required": true, - "is_request_body_field": true, + ] + }, + "response": { + "pascal_name": "RegisteredModelInfo", + "is_object": true + }, + "all_fields": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "include_aliases", + "description": "Whether to include registered model aliases in the response", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "include_browse", + "description": "Whether to include registered models in the response for which the principal can only access selective metadata for", + "is_query": true, + "entity": { + "is_bool": true + } + } + ], + "required_positional_arguments": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "List registered models. You can list registered models under a particular schema,\nor list all registered models 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 registered models.\nA regular user needs to be the owner or have the **EXECUTE** privilege\non the registered model to receive the registered models 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.\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 Registered Models.", + "path": "/api/2.1/unity-catalog/models", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListRegisteredModelsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListRegisteredModelsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "catalog_name", + "description": "The identifier of the catalog under which to list registered models.\nIf specified, schema_name must be specified.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "include_browse", + "description": "Whether to include registered models in the response for which the principal can only access selective metadata for", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "max_results", + "description": "Max number of registered models to return.\n\nIf both catalog and schema are specified:\n- when max_results is not specified, the page length is set to a server configured value (10000, as of 4/2/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 4/2/2024);\n- when set to 0, the page length is set to a server configured value (10000, as of 4/2/2024);\n- when set to a value less than 0, an invalid parameter error is returned;\n\nIf neither schema nor catalog is specified:\n- when max_results is not specified, the page length is set to a server configured value (100, as of 4/2/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (1000, as of 4/2/2024);\n- when set to 0, the page length is set to a server configured value (100, as of 4/2/2024);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Opaque token to send for the next page of results (pagination).", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The identifier of the schema under which to list registered models.\nIf specified, catalog_name must be specified.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque token to send for the next page of results (pagination).", + "is_query": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "MonitorInfo", + } + } + }, + { + "name": "SetAlias", + "description": "Set an alias on the specified registered model.\n\nThe caller must be a metastore admin or an owner of the registered model.\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.", + "summary": "Set a Registered Model Alias.", + "path": "/api/2.1/unity-catalog/models/{full_name}/aliases/{alias}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "SetRegisteredModelAliasRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "table_name", - "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", + "name": "alias", + "description": "The name of the alias", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "status", - "description": "[Create:ERR Update:IGN] The monitor status.", + "name": "version_num", + "description": "The version number of the model version to which the alias points", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "MonitorInfoStatus", - "enum": [ - { - "content": "MONITOR_STATUS_ACTIVE" - }, - { - "content": "MONITOR_STATUS_DELETE_PENDING" - }, - { - "content": "MONITOR_STATUS_ERROR" - }, - { - "content": "MONITOR_STATUS_FAILED" - }, - { - "content": "MONITOR_STATUS_PENDING" - } - ] + "is_int": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "profile_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "drift_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "name": "alias", + "description": "The name of the alias", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "monitor_version", - "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ], "required_request_body_fields": [ { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_name", - "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "status", - "description": "[Create:ERR Update:IGN] The monitor status.", + "name": "version_num", + "description": "The version number of the model version to which the alias points", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "MonitorInfoStatus", - "enum": [ - { - "content": "MONITOR_STATUS_ACTIVE" - }, - { - "content": "MONITOR_STATUS_DELETE_PENDING" - }, - { - "content": "MONITOR_STATUS_ERROR" - }, - { - "content": "MONITOR_STATUS_FAILED" - }, - { - "content": "MONITOR_STATUS_PENDING" - } - ] + "is_int": true } - }, + } + ] + }, + "response": { + "pascal_name": "RegisteredModelAlias", + "is_object": true + }, + "all_fields": [ + { + "name": "alias", + "description": "The name of the alias", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "version_num", + "description": "The version number of the model version to which the alias points", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int": true + } + } + ], + "required_positional_arguments": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "alias", + "description": "The name of the alias", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "version_num", + "description": "The version number of the model version to which the alias points", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int": true + } + } + ] + }, + { + "name": "Update", + "description": "Updates the specified registered model.\n\nThe caller must be a metastore admin or an owner of the registered model.\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\nCurrently only the name, the owner or the comment of the registered model can be updated.", + "summary": "Update a Registered Model.", + "path": "/api/2.1/unity-catalog/models/{full_name}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateRegisteredModelRequest", + "is_object": true, + "required_fields": [ { - "name": "profile_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "drift_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "monitor_version", - "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ] }, + "response": { + "pascal_name": "RegisteredModelInfo", + "is_object": true + }, "all_fields": [ { - "name": "assets_dir", - "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", - "required": true, + "name": "aliases", + "description": "List of aliases associated with the registered model", + "is_request_body_field": true, + "entity": { + "pascal_name": "RegisteredModelAliasList", + "array_value": { + "pascal_name": "RegisteredModelAlias", + "is_object": true + } + } + }, + { + "name": "browse_only", + "description": "Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE privilege when include_browse is enabled in the request.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the registered model reside", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "baseline_table_name", - "description": "[Create:OPT Update:OPT] Baseline table name.\nBaseline data is used to compute drift from the data in the monitored `table_name`.\nThe baseline table and the monitored table shall have the same schema.", + "name": "comment", + "description": "The comment attached to the registered model", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "custom_metrics", - "description": "[Create:OPT Update:OPT] Custom metrics.", + "name": "created_at", + "description": "Creation timestamp of the registered model in milliseconds since the Unix epoch", "is_request_body_field": true, "entity": { - "pascal_name": "MonitorMetricList", - "array_value": { - "pascal_name": "MonitorMetric", - "is_object": true - } + "is_int64": true } }, { - "name": "data_classification_config", - "description": "[Create:OPT Update:OPT] Data classification related config.", + "name": "created_by", + "description": "The identifier of the user who created the registered model", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "MonitorDataClassificationConfig", - "is_object": true + "is_string": true } }, { - "name": "inference_log", + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "metastore_id", + "description": "The unique identifier of the metastore", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "MonitorInferenceLog", - "is_object": true + "is_string": true } }, { - "name": "latest_monitor_failure_msg", - "description": "[Create:ERR Update:IGN] The latest error message for a monitor failure.", + "name": "name", + "description": "The name of the registered model", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "notifications", - "description": "[Create:OPT Update:OPT] Field for specifying notification settings.", + "name": "new_name", + "description": "New name for the registered model.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "MonitorNotifications", - "is_object": true + "is_string": true } }, { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, + "name": "owner", + "description": "The identifier of the user who owns the registered model", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schedule", - "description": "[Create:OPT Update:OPT] The monitor schedule.", + "name": "schema_name", + "description": "The name of the schema where the registered model resides", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "MonitorCronSchedule", - "is_object": true + "is_string": true } }, { - "name": "skip_builtin_dashboard", - "description": "Whether to skip creating a default dashboard summarizing data quality metrics.", + "name": "storage_location", + "description": "The storage location on the cloud under which model version data files are stored", "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "slicing_exprs", - "description": "[Create:OPT Update:OPT] List of column expressions to slice data with for targeted analysis. The data is grouped by\neach expression independently, resulting in a separate slice for each predicate and its\ncomplements. For example `slicing_exprs=[“col_1”, “col_2 \u003e 10”]` will generate the following\nslices: two slices for `col_2 \u003e 10` (True and False), and one slice per unique value in\n`col1`. For high-cardinality columns, only the top 100 unique values by frequency will\ngenerate slices.", + "name": "updated_at", + "description": "Last-update timestamp of the registered model in milliseconds since the Unix epoch", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { + "is_int64": true + } + }, + { + "name": "updated_by", + "description": "The identifier of the user who updated the registered model last time", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the registered model", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "workspace.Repos", + "name": "Repos", + "description": "The Repos API allows users to manage their git repos. Users can use the API to access all\nrepos that they have manage permissions on.\n\nDatabricks Repos is a visual Git client in Databricks. It supports common Git operations\nsuch a cloning a repository, committing and pushing, pulling, branch management, and visual\ncomparison of diffs when committing.\n\nWithin Repos you can develop code in notebooks or other files and follow data science and\nengineering code development best practices using Git for version control, collaboration,\nand CI/CD.", + "package": { + "name": "workspace" + }, + "docs_group": "workspace", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "RepoInfoPathToIdMap" + }, + "request": { + "pascal_name": "ListReposRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a repo in the workspace and links it to the remote Git repo specified.\nNote that repos created programmatically must be linked to a remote Git repo, unlike repos\ncreated in the browser.", + "summary": "Create a repo.", + "path": "/api/2.0/repos", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateRepoRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "url", + "description": "URL of the Git repository to be linked.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "provider", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "url", + "description": "URL of the Git repository to be linked.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "provider", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", + "required": true, + "is_request_body_field": true, + "entity": { "is_string": true } } + ] + }, + "response": { + "pascal_name": "CreateRepoResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "git_credential_id", + "description": "Git credential ID to use when cloning the repository. The Git credential must be\nconfigured for the current user.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } }, { - "name": "snapshot", - "description": "Configuration for monitoring snapshot tables.", + "name": "path", + "description": "Desired path for the repo in the workspace. Almost any path in the workspace can be chosen.\nIf repo is created in `/Repos`, path must be in the format `/Repos/{folder}/{repo-name}`.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "MonitorSnapshot", - "is_object": true + "is_string": true } }, { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "provider", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "time_series", - "description": "Configuration for monitoring time series tables.", + "name": "sparse_checkout", + "description": "If specified, the repo will be created with sparse checkout enabled. You cannot enable/disable\nsparse checkout after the repo is created.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "MonitorTimeSeries", + "pascal_name": "SparseCheckout", "is_object": true } }, { - "name": "warehouse_id", - "description": "Optional argument to specify the warehouse for dashboard creation. If not specified, the first running\nwarehouse will be used.", + "name": "url", + "description": "URL of the Git repository to be linked.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true @@ -173709,17 +182542,8 @@ ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "name": "url", + "description": "URL of the Git repository to be linked.", "required": true, "is_request_body_field": true, "entity": { @@ -173727,8 +182551,8 @@ } }, { - "name": "assets_dir", - "description": "[Create:REQ Update:IGN] Field for specifying the absolute path to a custom directory to store data-monitoring\nassets. Normally prepopulated to a default user location via UI and Python APIs.", + "name": "provider", + "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`.", "required": true, "is_request_body_field": true, "entity": { @@ -173739,255 +182563,170 @@ }, { "name": "Delete", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nDeletes a monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created.\n\nNote that the metric tables and dashboard will not be deleted as part of this call; those\nassets must be manually cleaned up (if desired).", - "summary": "Delete a table monitor.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", + "description": "Deletes the specified repo.", + "summary": "Delete a repo.", + "path": "/api/2.0/repos/{repo_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteQualityMonitorRequest", + "pascal_name": "DeleteRepoRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "The ID for the corresponding repo to delete.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "The ID for the corresponding repo to delete.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "DeleteMonitorResponse", - "is_object": true + "pascal_name": "DeleteRepoResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "The ID for the corresponding repo to delete.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "The ID for the corresponding repo to delete.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { "name": "Get", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nGets a monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema.\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- **SELECT** privilege on the table.\n\nThe returned information includes configuration values, as well as information on\nassets created by the monitor. Some information (e.g., dashboard) may be filtered out\nif the caller is in a different workspace than where the monitor was created.", - "summary": "Get a table monitor.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", + "description": "Returns the repo with the given repo ID.", + "summary": "Get a repo.", + "path": "/api/2.0/repos/{repo_id}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetQualityMonitorRequest", + "pascal_name": "GetRepoRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "MonitorInfo", + "pascal_name": "GetRepoResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } + ], + "required_positional_arguments": [ + { + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } + ] + }, + { + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get repo permission levels.", + "path": "/api/2.0/permissions/repos/{repo_id}/permissionLevels", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetRepoPermissionLevelsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_name", - "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "status", - "description": "[Create:ERR Update:IGN] The monitor status.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorInfoStatus", - "enum": [ - { - "content": "MONITOR_STATUS_ACTIVE" - }, - { - "content": "MONITOR_STATUS_DELETE_PENDING" - }, - { - "content": "MONITOR_STATUS_ERROR" - }, - { - "content": "MONITOR_STATUS_FAILED" - }, - { - "content": "MONITOR_STATUS_PENDING" - } - ] - } - }, - { - "name": "profile_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "drift_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "monitor_version", - "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ], - "required_request_body_fields": [ - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_name", - "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "status", - "description": "[Create:ERR Update:IGN] The monitor status.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorInfoStatus", - "enum": [ - { - "content": "MONITOR_STATUS_ACTIVE" - }, - { - "content": "MONITOR_STATUS_DELETE_PENDING" - }, - { - "content": "MONITOR_STATUS_ERROR" - }, - { - "content": "MONITOR_STATUS_FAILED" - }, - { - "content": "MONITOR_STATUS_PENDING" - } - ] - } - }, - { - "name": "profile_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "drift_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "monitor_version", - "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ] }, + "response": { + "pascal_name": "GetRepoPermissionLevelsResponse", + "is_object": true + }, "all_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -173997,8 +182736,8 @@ ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174008,217 +182747,129 @@ ] }, { - "name": "GetRefresh", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nGets info about a specific monitor refresh using the given refresh ID.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- **SELECT** privilege on the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created.", - "summary": "Get refresh.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes/{refresh_id}", + "name": "GetPermissions", + "description": "Gets the permissions of a repo. Repos can inherit permissions from their root object.", + "summary": "Get repo permissions.", + "path": "/api/2.0/permissions/repos/{repo_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetRefreshRequest", + "pascal_name": "GetRepoPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "Full name of the table.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "refresh_id", - "description": "ID of the refresh.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "Full name of the table.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "refresh_id", - "description": "ID of the refresh.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } } ] }, "response": { - "pascal_name": "MonitorRefreshInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "refresh_id", - "description": "Unique id of the refresh operation.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "state", - "description": "The current state of the refresh.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorRefreshInfoState", - "enum": [ - { - "content": "CANCELED" - }, - { - "content": "FAILED" - }, - { - "content": "PENDING" - }, - { - "content": "RUNNING" - }, - { - "content": "SUCCESS" - }, - { - "content": "UNKNOWN" - } - ] - } - }, - { - "name": "start_time_ms", - "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ], - "required_request_body_fields": [ - { - "name": "refresh_id", - "description": "Unique id of the refresh operation.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "state", - "description": "The current state of the refresh.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorRefreshInfoState", - "enum": [ - { - "content": "CANCELED" - }, - { - "content": "FAILED" - }, - { - "content": "PENDING" - }, - { - "content": "RUNNING" - }, - { - "content": "SUCCESS" - }, - { - "content": "UNKNOWN" - } - ] - } - }, - { - "name": "start_time_ms", - "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ] + "pascal_name": "RepoPermissions", + "is_object": true }, "all_fields": [ { - "name": "refresh_id", - "description": "ID of the refresh.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "table_name", - "description": "Full name of the table.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_positional_arguments": [ + ] + }, + { + "name": "List", + "description": "Returns repos that the calling user has Manage permissions on.\nUse `next_page_token` to iterate through additional pages.\n\nDeprecated: This operation does not return a complete list of the repos in the workspace, because\nrepos with the Git CLI enabled are not included in its results. Instead, use the Repos and\nWorkspace APIs to find repos and their associated metadata in the workspace.", + "summary": "Get repos.", + "path": "/api/2.0/repos", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListReposRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListReposResponse", + "is_object": true + }, + "all_fields": [ { - "name": "table_name", - "description": "Full name of the table.", - "required": true, - "is_path": true, + "name": "next_page_token", + "description": "Token used to get the next page of results. If not specified, returns the first page of\nresults as well as a next page token if there are more results.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "refresh_id", - "description": "ID of the refresh.", - "required": true, - "is_path": true, + "name": "path_prefix", + "description": "Filters repos that have paths starting with the given path prefix.\nIf not provided or when provided an effectively empty prefix (`/` or `/Workspace`)\nGit folders (repos) from `/Workspace/Repos` will be served.", + "is_query": true, "entity": { - "is_int64": true + "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "next_page_token", + "description": "Token used to get the next page of results. If not specified, returns the first page of\nresults as well as a next page token if there are more results.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "ListRefreshes", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nGets an array containing the history of the most recent refreshes (up to 25) for this table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- **SELECT** privilege on the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created.", - "summary": "List refreshes.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes", - "is_crud_read": true, + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set repo permissions.", + "path": "/api/2.0/permissions/repos/{repo_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListRefreshesRequest", + "pascal_name": "RepoPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174228,8 +182879,8 @@ ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174239,13 +182890,24 @@ ] }, "response": { - "pascal_name": "MonitorRefreshListResponse", + "pascal_name": "RepoPermissions", "is_object": true }, "all_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "RepoAccessControlRequestList", + "array_value": { + "pascal_name": "RepoAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174255,8 +182917,8 @@ ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174266,59 +182928,92 @@ ] }, { - "name": "RegenerateDashboard", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nRegenerates the monitoring dashboard for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table\n\nThe call must be made from the workspace where the monitor was created. The dashboard will be regenerated in\nthe assets directory that was specified when the monitor was created.", - "summary": "Regenerate a monitoring dashboard.", - "path": "/api/2.1/quality-monitoring/tables/{table_name}/monitor/dashboard", + "name": "Update", + "description": "Updates the repo to a different branch or tag, or updates the repo to the latest commit on\nthe same branch.", + "summary": "Update a repo.", + "path": "/api/2.0/repos/{repo_id}", "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": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RegenerateDashboardRequest", + "pascal_name": "UpdateRepoRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "RegenerateDashboardResponse", - "is_object": true + "pascal_name": "UpdateRepoResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "branch", + "description": "Branch that the local version of the repo is checked out to.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "dangerously_force_discard_all", + "description": "WARNING: DESTRUCTIVE AND IRREVERSIBLE. If true, permanently deletes ALL uncommitted\nchanges in the Git folder — staged, unstaged, and untracked files — before updating.\nLost data CANNOT be recovered.\n\nNEVER use this on Git folders where users author or edit files. This flag is intended\nONLY for automated jobs that treat the Git folder as a read-only mirror of a remote\nbranch and need to force-sync it. If any user has uncommitted work in the Git folder,\nthat work will be permanently destroyed without warning.\n\nLocal commits that have been made but not yet pushed to the remote are preserved.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "git_credential_id", + "description": "Git credential ID to use for this update operation. The Git credential must be\nconfigured for the current user.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "warehouse_id", - "description": "Optional argument to specify the warehouse for dashboard regeneration. If not specified, the first running\nwarehouse will be used.", + "name": "sparse_checkout", + "description": "If specified, update the sparse checkout settings. The update will fail if sparse checkout is\nnot enabled for the repo.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "SparseCheckoutUpdate", + "is_object": true + } + }, + { + "name": "tag", + "description": "Tag that the local version of the repo is checked out to. Updating the repo to a tag puts\nthe repo in a detached HEAD state. Before committing new changes, you must update the repo to\na branch instead of the detached HEAD.", "is_request_body_field": true, "entity": { "is_string": true @@ -174327,31 +183022,32 @@ ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "repo_id", + "description": "ID of the Git folder (repo) object in the workspace.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "RunRefresh", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nQueues a metric refresh on the monitor for the specified table.\nThe refresh will execute in the background.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table\n\nAdditionally, the call must be made from the workspace where the monitor was created.", - "summary": "Run refresh.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor/refreshes", + "name": "UpdatePermissions", + "description": "Updates the permissions on a repo. Repos can inherit permissions from their root object.", + "summary": "Update repo permissions.", + "path": "/api/2.0/permissions/repos/{repo_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RunRefreshRequest", + "pascal_name": "RepoPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174361,8 +183057,8 @@ ], "required_in_url_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174372,112 +183068,24 @@ ] }, "response": { - "pascal_name": "MonitorRefreshInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "refresh_id", - "description": "Unique id of the refresh operation.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "state", - "description": "The current state of the refresh.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorRefreshInfoState", - "enum": [ - { - "content": "CANCELED" - }, - { - "content": "FAILED" - }, - { - "content": "PENDING" - }, - { - "content": "RUNNING" - }, - { - "content": "SUCCESS" - }, - { - "content": "UNKNOWN" - } - ] - } - }, - { - "name": "start_time_ms", - "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ], - "required_request_body_fields": [ - { - "name": "refresh_id", - "description": "Unique id of the refresh operation.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "state", - "description": "The current state of the refresh.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorRefreshInfoState", - "enum": [ - { - "content": "CANCELED" - }, - { - "content": "FAILED" - }, - { - "content": "PENDING" - }, - { - "content": "RUNNING" - }, - { - "content": "SUCCESS" - }, - { - "content": "UNKNOWN" - } - ] - } - }, - { - "name": "start_time_ms", - "description": "Time at which refresh operation was initiated (milliseconds since 1/1/1970 UTC).", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true + "pascal_name": "RepoPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "RepoAccessControlRequestList", + "array_value": { + "pascal_name": "RepoAccessControlRequest", + "is_object": true } } - ] - }, - "all_fields": [ + }, { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174487,8 +183095,8 @@ ], "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\ntable_name is case insensitive and spaces are disallowed.", + "name": "repo_id", + "description": "The repo for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -174496,24 +183104,41 @@ } } ] - }, + } + ] + }, + { + "id": "catalog.ResourceQuotas", + "name": "ResourceQuotas", + "description": "Unity Catalog enforces resource quotas on all securable objects, which limits the number of resources that can be created. Quotas are expressed in terms of a resource type and a parent (for example, tables per metastore or schemas per catalog). The resource quota APIs enable you to monitor your current usage and limits. For more information on resource quotas see the [Unity Catalog documentation](https://docs.databricks.com/en/data-governance/unity-catalog/index.html#resource-quotas).", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListQuotasRequest" + } + }, + "methods": [ { - "name": "Update", - "description": "Deprecated: Use Data Quality Monitors API instead (/api/data-quality/v1/monitors).\nUpdates a monitor for the specified table.\n\nThe caller must either:\n1. be an owner of the table's parent catalog\n2. have **USE_CATALOG** on the table's parent catalog and be an owner of the table's parent schema\n3. have the following permissions:\n- **USE_CATALOG** on the table's parent catalog\n- **USE_SCHEMA** on the table's parent schema\n- be an owner of the table.\n\nAdditionally, the call must be made from the workspace where the monitor was created, and the caller must be\nthe original creator of the monitor.\n\nCertain configuration fields, such as output asset identifiers, cannot be updated.", - "summary": "Update a table monitor.", - "path": "/api/2.1/unity-catalog/tables/{table_name}/monitor", - "can_use_json": true, + "name": "GetQuota", + "description": "The GetQuota API returns usage information for a single resource quota, defined as a\nchild-parent pair. This API also refreshes the quota count if it is out of date.\nRefreshes are triggered asynchronously. The updated count might not be returned in the first call.", + "summary": "Get information for a single resource quota.", + "path": "/api/2.1/unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateMonitor", + "pascal_name": "GetQuotaRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "parent_securable_type", + "description": "Securable type of the quota parent.", "required": true, "is_path": true, "entity": { @@ -174521,298 +183146,91 @@ } }, { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "parent_full_name", + "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "MonitorInfo", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_name", - "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "status", - "description": "[Create:ERR Update:IGN] The monitor status.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorInfoStatus", - "enum": [ - { - "content": "MONITOR_STATUS_ACTIVE" - }, - { - "content": "MONITOR_STATUS_DELETE_PENDING" - }, - { - "content": "MONITOR_STATUS_ERROR" - }, - { - "content": "MONITOR_STATUS_FAILED" - }, - { - "content": "MONITOR_STATUS_PENDING" - } - ] - } - }, - { - "name": "profile_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } }, { - "name": "drift_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "name": "quota_name", + "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "monitor_version", - "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ], - "required_request_body_fields": [ - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "table_name", - "description": "[Create:ERR Update:IGN] UC table to monitor. Format: `catalog.schema.table_name`", + "name": "parent_securable_type", + "description": "Securable type of the quota parent.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "status", - "description": "[Create:ERR Update:IGN] The monitor status.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorInfoStatus", - "enum": [ - { - "content": "MONITOR_STATUS_ACTIVE" - }, - { - "content": "MONITOR_STATUS_DELETE_PENDING" - }, - { - "content": "MONITOR_STATUS_ERROR" - }, - { - "content": "MONITOR_STATUS_FAILED" - }, - { - "content": "MONITOR_STATUS_PENDING" - } - ] - } - }, - { - "name": "profile_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores profile metrics data. Format: `catalog.schema.table_name`.", + "name": "parent_full_name", + "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "drift_metrics_table_name", - "description": "[Create:ERR Update:IGN] Table that stores drift metrics data. Format: `catalog.schema.table_name`.", + "name": "quota_name", + "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "monitor_version", - "description": "[Create:ERR Update:IGN] Represents the current monitor configuration version in use. The version will be represented in a\nnumeric fashion (1,2,3...). The field has flexibility to take on negative values, which can indicate corrupted\nmonitor_version numbers.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } } ] }, + "response": { + "pascal_name": "GetQuotaResponse", + "is_object": true + }, "all_fields": [ { - "name": "baseline_table_name", - "description": "[Create:OPT Update:OPT] Baseline table name.\nBaseline data is used to compute drift from the data in the monitored `table_name`.\nThe baseline table and the monitored table shall have the same schema.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "custom_metrics", - "description": "[Create:OPT Update:OPT] Custom metrics.", - "is_request_body_field": true, - "entity": { - "pascal_name": "MonitorMetricList", - "array_value": { - "pascal_name": "MonitorMetric", - "is_object": true - } - } - }, - { - "name": "dashboard_id", - "description": "[Create:ERR Update:OPT] Id of dashboard that visualizes the computed metrics.\nThis can be empty if the monitor is in PENDING state.", - "is_request_body_field": true, + "name": "parent_full_name", + "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "data_classification_config", - "description": "[Create:OPT Update:OPT] Data classification related config.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "MonitorDataClassificationConfig", - "is_object": true - } - }, - { - "name": "inference_log", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "MonitorInferenceLog", - "is_object": true - } - }, - { - "name": "latest_monitor_failure_msg", - "description": "[Create:ERR Update:IGN] The latest error message for a monitor failure.", - "is_request_body_field": true, + "name": "parent_securable_type", + "description": "Securable type of the quota parent.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "notifications", - "description": "[Create:OPT Update:OPT] Field for specifying notification settings.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "MonitorNotifications", - "is_object": true - } - }, - { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "name": "quota_name", + "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "schedule", - "description": "[Create:OPT Update:OPT] The monitor schedule.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "MonitorCronSchedule", - "is_object": true - } - }, - { - "name": "slicing_exprs", - "description": "[Create:OPT Update:OPT] List of column expressions to slice data with for targeted analysis. The data is grouped by\neach expression independently, resulting in a separate slice for each predicate and its\ncomplements. For example `slicing_exprs=[“col_1”, “col_2 \u003e 10”]` will generate the following\nslices: two slices for `col_2 \u003e 10` (True and False), and one slice per unique value in\n`col1`. For high-cardinality columns, only the top 100 unique values by frequency will\ngenerate slices.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "snapshot", - "description": "Configuration for monitoring snapshot tables.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "MonitorSnapshot", - "is_object": true - } - }, + } + ], + "required_positional_arguments": [ { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "parent_securable_type", + "description": "Securable type of the quota parent.", "required": true, "is_path": true, "entity": { @@ -174820,20 +183238,8 @@ } }, { - "name": "time_series", - "description": "Configuration for monitoring time series tables.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "MonitorTimeSeries", - "is_object": true - } - } - ], - "required_positional_arguments": [ - { - "name": "table_name", - "description": "UC table name in format `catalog.schema.table_name`.\nThis field corresponds to the {full_table_name_arg} arg in the endpoint path.", + "name": "parent_full_name", + "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", "required": true, "is_path": true, "entity": { @@ -174841,127 +183247,179 @@ } }, { - "name": "output_schema_name", - "description": "[Create:REQ Update:REQ] Schema where output tables are created. Needs to be in 2-level format {catalog}.{schema}", + "name": "quota_name", + "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "sql.Queries", - "name": "Queries", - "description": "The queries API can be used to perform CRUD operations on queries. A query is a Databricks SQL\nobject that includes the target SQL warehouse, query text, name, description, tags, and parameters.\nQueries can be scheduled using the `sql_task` type of the Jobs API, e.g. :method:jobs/create.", - "package": { - "name": "sql" - }, - "docs_group": "sql", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "ListQueryObjectsResponseQueryDisplayNameToIdMap" }, - "request": { - "pascal_name": "ListQueriesRequest" - } - }, - "methods": [ { - "name": "Create", - "description": "Creates a query.", - "summary": "Create a query.", - "path": "/api/2.0/sql/queries", - "can_use_json": true, - "is_crud_create": true, + "name": "ListQuotas", + "description": "ListQuotas returns all quota values under the metastore. There are no SLAs on the freshness of the counts\nreturned. This API does not trigger a refresh of quota counts.\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 all resource quotas under a metastore.", + "path": "/api/2.1/unity-catalog/resource-quotas/all-resource-quotas", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateQueryRequest", + "pascal_name": "ListQuotasRequest", "is_object": true }, "response": { - "pascal_name": "Query", + "pascal_name": "ListQuotasResponse", "is_object": true }, "all_fields": [ { - "name": "auto_resolve_display_name", - "description": "If true, automatically resolve query display name conflicts. Otherwise, fail the request if the query's display name conflicts with an existing query's display name.", - "is_request_body_field": true, + "name": "max_results", + "description": "The number of quotas to return.", + "is_query": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "query", - "is_request_body_field": true, - "is_optional_object": true, + "name": "page_token", + "description": "Opaque token for the next page of results.", + "is_query": true, "entity": { - "pascal_name": "CreateQueryRequestQuery", - "is_object": true + "is_string": true } } - ] - }, + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque token for the next page of results.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + } + ] + }, + { + "id": "settings.RestrictWorkspaceAdmins", + "name": "RestrictWorkspaceAdmins", + "description": "The Restrict Workspace Admins setting lets you control the capabilities of workspace admins.\nWith the setting status set to ALLOW_ALL, workspace admins can create service principal personal access\ntokens on behalf of any service principal in their workspace. Workspace admins can also change a job owner to\nany user in their workspace. And they can change the job run_as setting to any user in their workspace or to a\nservice principal on which they have the Service Principal User role. With the setting status set to RESTRICT_TOKENS_AND_JOB_RUN_AS,\nworkspace admins can only create personal access tokens on behalf of service principals they have the\nService Principal User role on. They can also only change a job owner to themselves. And they can change the job\nrun_as setting to themselves or to a service principal on which they have the Service Principal User role.", + "package": { + "name": "settings" + }, + "has_parent": true, + "docs_group": "settings", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "parent_service_id": "settings.Settings", + "methods": [ { "name": "Delete", - "description": "Moves a query to the trash. Trashed queries immediately disappear from searches and list views, and cannot be used for alerts. You can restore a trashed query through the UI. A trashed query is permanently deleted after 30 days.", - "summary": "Delete a query.", - "path": "/api/2.0/sql/queries/{id}", + "description": "Reverts the restrict workspace admins setting status for the workspace. A fresh etag needs\nto be provided in `DELETE` requests (as a query parameter). The etag can be retrieved by making a `GET` request\nbefore the DELETE request. If the setting is updated/deleted concurrently, `DELETE` fails with 409 and the\nrequest must be retried by using the fresh etag in the 409 response.", + "summary": "Delete the restrict workspace admins setting.", + "path": "/api/2.0/settings/types/restrict_workspace_admins/names/default", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "TrashQueryRequest", + "pascal_name": "DeleteRestrictWorkspaceAdminsSettingRequest", + "is_object": true + }, + "response": { + "pascal_name": "DeleteRestrictWorkspaceAdminsSettingResponse", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "Empty", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "id", - "required": true, - "is_path": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, "entity": { "is_string": true } } - ], - "required_positional_arguments": [ + ] + }, + { + "name": "Get", + "description": "Gets the restrict workspace admins setting.", + "summary": "Get the restrict workspace admins setting.", + "path": "/api/2.0/settings/types/restrict_workspace_admins/names/default", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetRestrictWorkspaceAdminsSettingRequest", + "is_object": true + }, + "response": { + "pascal_name": "RestrictWorkspaceAdminsSetting", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "restrict_workspace_admins", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "restrict_workspace_admins", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsMessage", + "is_object": true + } + } + ] + }, + "all_fields": [ { - "name": "id", - "required": true, - "is_path": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, "entity": { "is_string": true } @@ -174969,32 +183427,73 @@ ] }, { - "name": "Get", - "description": "Gets a query.", - "summary": "Get a query.", - "path": "/api/2.0/sql/queries/{id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "name": "Update", + "description": "Updates the restrict workspace admins setting for the workspace. A fresh etag needs\nto be provided in `PATCH` requests (as part of the setting field). The etag can be retrieved by making a GET\nrequest before the `PATCH` request. If the setting is updated concurrently, `PATCH` fails with 409 and the\nrequest must be retried by using the fresh etag in the 409 response.", + "summary": "Update the restrict workspace admins setting.", + "path": "/api/2.0/settings/types/restrict_workspace_admins/names/default", + "can_use_json": true, + "must_use_json": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetQueryRequest", + "pascal_name": "UpdateRestrictWorkspaceAdminsSettingRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsSetting", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsSetting", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -175002,89 +183501,139 @@ ] }, "response": { - "pascal_name": "Query", - "is_object": true + "pascal_name": "RestrictWorkspaceAdminsSetting", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "restrict_workspace_admins", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "restrict_workspace_admins", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsMessage", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "id", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "id", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsSetting", + "is_object": true + } } ] - }, + } + ] + }, + { + "id": "catalog.Rfa", + "name": "Rfa", + "description": "Request for Access enables users to request access for Unity Catalog securables.\n\nThese APIs provide a standardized way for securable owners (or users with MANAGE privileges) to manage access request destinations.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "methods": [ { - "name": "List", - "description": "Gets a list of queries accessible to the user, ordered by creation time. **Warning:** Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban.", - "summary": "List queries.", - "path": "/api/2.0/sql/queries", + "name": "BatchCreateAccessRequests", + "description": "Creates access requests for Unity Catalog permissions for a specified principal on a securable object.\nThis Batch API can take in multiple principals, securable objects,\nand permissions as the input and returns the access request destinations for each.\nPrincipals must be unique across the API call.\n\nThe supported securable types are: \"metastore\", \"catalog\", \"schema\", \"table\",\n\"external_location\", \"connection\", \"credential\", \"function\", \"registered_model\", and \"volume\".", + "summary": "Create Access Requests.", + "path": "/api/3.0/rfa/requests", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListQueriesRequest", + "pascal_name": "BatchCreateAccessRequestsRequest", "is_object": true }, "response": { - "pascal_name": "ListQueryObjectsResponse", + "pascal_name": "BatchCreateAccessRequestsResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, + "name": "requests", + "description": "A list of individual access requests, where each request corresponds to\na set of permissions being requested on a list of securables for a specified principal.\n\nAt most 30 requests per API call.", + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true + "pascal_name": "CreateAccessRequestList", + "array_value": { + "pascal_name": "CreateAccessRequest", + "is_object": true } } } - } + ] }, { - "name": "ListVisualizations", - "description": "Gets a list of visualizations on a query.", - "summary": "List visualizations on a query.", - "path": "/api/2.0/sql/queries/{id}/visualizations", - "is_hidden_cli": true, + "name": "GetAccessRequestDestinations", + "description": "Gets an array of access request destinations for the specified securable.\nAny caller can see URL destinations or the destinations on the metastore.\nOtherwise, only those with **BROWSE** permissions on the securable can see destinations.\n\nThe supported securable types are: \"metastore\", \"catalog\", \"schema\", \"table\",\n\"external_location\", \"connection\", \"credential\", \"function\", \"registered_model\", and \"volume\".", + "summary": "Get Access Request Destinations.", + "path": "/api/3.0/rfa/destinations/{securable_type}/{full_name}", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListVisualizationsForQueryRequest", + "pascal_name": "GetAccessRequestDestinationsRequest", "is_object": true, "required_fields": [ { - "name": "id", + "name": "securable_type", + "description": "The type of the securable.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "description": "The full name of the securable.", "required": true, "is_path": true, "entity": { @@ -175094,7 +183643,17 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "securable_type", + "description": "The type of the securable.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "description": "The full name of the securable.", "required": true, "is_path": true, "entity": { @@ -175104,12 +183663,38 @@ ] }, "response": { - "pascal_name": "ListVisualizationsForQueryResponse", - "is_object": true + "pascal_name": "AccessRequestDestinations", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "id", + "name": "full_name", + "description": "The full name of the securable.", "required": true, "is_path": true, "entity": { @@ -175117,15 +183702,10 @@ } }, { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, + "name": "securable_type", + "description": "The type of the securable.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -175133,53 +183713,56 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "securable_type", + "description": "The type of the securable.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "full_name", + "description": "The full name of the securable.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "Update", - "description": "Updates a query.", - "summary": "Update a query.", - "path": "/api/2.0/sql/queries/{id}", + "name": "UpdateAccessRequestDestinations", + "description": "Updates the access request destinations for the given securable.\nThe caller must be a metastore admin, the owner of the securable, or a user that has the **MANAGE** privilege on the securable in order to assign destinations.\nA maximum of 5 emails and 5 external notification destinations (Slack, Microsoft Teams, and Generic Webhook destinations) can be assigned to a securable.\nIf a URL destination is assigned, no other destinations can be set.\n\nThe supported securable types are: \"metastore\", \"catalog\", \"schema\", \"table\",\n\"external_location\", \"connection\", \"credential\", \"function\", \"registered_model\", and \"volume\".", + "summary": "Update Access Request Destinations.", + "path": "/api/3.0/rfa/destinations", "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "UpdateQueryRequest", + "pascal_name": "UpdateAccessRequestDestinationsRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", + "name": "access_request_destinations", + "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "AccessRequestDestinations", + "is_object": true } }, { "name": "update_mask", "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } @@ -175187,9 +183770,10 @@ ], "required_in_url_fields": [ { - "name": "id", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -175197,51 +183781,182 @@ ], "required_request_body_fields": [ { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "access_request_destinations", + "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "AccessRequestDestinations", + "is_object": true } } ] }, + "request_body_field": { + "name": "access_request_destinations", + "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AccessRequestDestinations", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ] + } + }, "response": { - "pascal_name": "Query", - "is_object": true + "pascal_name": "AccessRequestDestinations", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ] }, "all_fields": [ { - "name": "auto_resolve_display_name", - "description": "If true, automatically resolve alert display name conflicts. Otherwise, fail the request if the alert's display name conflicts with an existing alert's display name.", + "name": "access_request_destinations", + "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", + "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "AccessRequestDestinations", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + } + ] } }, { - "name": "id", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "query", + "name": "are_any_destinations_hidden", + "description": "Indicates whether any destinations are hidden from the caller due to a lack of permissions.\nThis value is true if the caller does not have permission to see all destinations.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "destination_source_securable", + "description": "The source securable from which the destinations are inherited. Either the same value as securable (if destination\nis set directly on the securable) or the nearest parent securable with destinations set.", + "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "UpdateQueryRequestQuery", + "pascal_name": "Securable", "is_object": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "destinations", + "description": "The access request destinations for the securable.", + "is_request_body_field": true, + "entity": { + "pascal_name": "NotificationDestinationList", + "array_value": { + "pascal_name": "NotificationDestination", + "is_object": true + } + } + }, + { + "name": "full_name", + "description": "The full name of the securable. Redundant with the name in the securable object, but necessary for Terraform integration", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "Securable", + "is_object": true + } + }, + { + "name": "securable_type", + "description": "The type of the securable. Redundant with the type in the securable object, but necessary for Terraform integration", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -175249,20 +183964,22 @@ ], "required_positional_arguments": [ { - "name": "id", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "securable", + "description": "The securable for which the access request destinations are being modified or read.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Securable", + "is_object": true } } ] @@ -175270,124 +183987,170 @@ ] }, { - "id": "sql.QueriesLegacy", - "name": "QueriesLegacy", - "description": "These endpoints are used for CRUD operations on query definitions. Query definitions include\nthe target SQL warehouse, query text, name, description, tags, parameters, and visualizations.\nQueries can be scheduled using the `sql_task` type of the Jobs API, e.g. :method:jobs/create.\n\n**Warning**: This API is deprecated. Please see the latest version of the Databricks SQL API. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", + "id": "catalog.Schemas", + "name": "Schemas", + "description": "A schema (also called a database) is the second layer of Unity Catalog’s three-level\nnamespace. A schema organizes tables, views, and functions. To access (or list) a table or view in\na schema, users must have the USE_SCHEMA data permission on the schema and its parent catalog,\nand they must have the SELECT permission on the table or view.", "package": { - "name": "sql" + "name": "catalog" }, - "docs_group": "sql", + "docs_group": "catalog", "launch_stage": "GA", "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListSchemasRequest" + } + }, "methods": [ { "name": "Create", - "description": "Creates a new query definition. Queries created with this endpoint belong to the authenticated user making the request.\n\nThe `data_source_id` field specifies the ID of the SQL warehouse to run this query against. You can use the Data Sources API to see a complete list of available SQL warehouses. Or you can copy the `data_source_id` from an existing query.\n\n**Note**: You cannot add a visualization until you create the query.\n\n**Warning**: This API is deprecated. Please use :method:queries/create instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Create a new query definition.", - "path": "/api/2.0/preview/sql/queries", + "description": "Creates a new schema for catalog in the Metastore.\nThe caller must be a metastore admin, or have the **CREATE_SCHEMA** privilege in the parent catalog.", + "summary": "Create a schema.", + "path": "/api/2.1/unity-catalog/schemas", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "QueryPostContent", - "is_object": true + "pascal_name": "CreateSchema", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "Name of schema, relative to parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "Name of schema, relative to parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "LegacyQuery", + "pascal_name": "SchemaInfo", "is_object": true }, "all_fields": [ { - "name": "data_source_id", - "description": "Data source ID maps to the ID of the data source used by the resource and is distinct from the warehouse ID. [Learn more](https://docs.databricks.com/api/workspace/datasources/list)", + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "description", - "description": "General description that conveys additional information about this query such as usage notes.", + "name": "comment", + "description": "User-provided free-form text description.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "The title of this query that appears in list views, widget headings, and on the query page.", + "name": "custom_max_retention_hours", + "description": "Custom maximum retention period in hours for the schema.", "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "options", - "description": "Exclusively used for storing a list parameter definitions. A parameter is an object with `title`, `name`, `type`, and `value` properties. The `value` field here is the default value. It can be overridden at runtime.", + "name": "name", + "description": "Name of schema, relative to parent catalog.", + "required": true, "is_request_body_field": true, "entity": { - "is_any": true + "is_string": true } }, { - "name": "parent", - "description": "The identifier of the workspace folder containing the object.", + "name": "properties", + "description": "A map of key-value properties attached to the securable.", "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } }, { - "name": "query", - "description": "The text of the query to be run.", + "name": "storage_root", + "description": "Storage root URL for managed tables within schema.", "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "run_as_role", - "description": "Sets the **Run as** role for the object. Must be set to one of `\"viewer\"` (signifying \"run as viewer\" behavior) or `\"owner\"` (signifying \"run as owner\" behavior)", + "name": "name", + "description": "Name of schema, relative to parent catalog.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RunAsRole", - "enum": [ - { - "content": "owner" - }, - { - "content": "viewer" - } - ] + "is_string": true } }, { - "name": "tags", + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ] }, { "name": "Delete", - "description": "Moves a query to the trash.\nTrashed queries immediately disappear from searches and list views, and they cannot be used for alerts.\nThe trash is deleted after 30 days.\n\n**Warning**: This API is deprecated. Please use :method:queries/delete instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Delete a query.", - "path": "/api/2.0/preview/sql/queries/{query_id}", + "description": "Deletes the specified schema from the parent catalog.\nThe caller must be the owner of the schema or an owner of the parent catalog.", + "summary": "Delete a schema.", + "path": "/api/2.1/unity-catalog/schemas/{full_name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteQueriesLegacyRequest", + "pascal_name": "DeleteSchemaRequest", "is_object": true, "required_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175397,7 +184160,8 @@ ], "required_in_url_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175413,7 +184177,16 @@ }, "all_fields": [ { - "name": "query_id", + "name": "force", + "description": "Force deletion even if the schema is not empty.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175423,7 +184196,8 @@ ], "required_positional_arguments": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175434,18 +184208,20 @@ }, { "name": "Get", - "description": "Retrieve a query object definition along with contextual permissions information about the currently authenticated user.\n\n**Warning**: This API is deprecated. Please use :method:queries/get instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Get a query definition.", - "path": "/api/2.0/preview/sql/queries/{query_id}", + "description": "Gets the specified schema within the metastore.\nThe caller must be a metastore admin, the owner of the schema, or a user that has the **USE_SCHEMA** privilege on the schema.", + "summary": "Get a schema.", + "path": "/api/2.1/unity-catalog/schemas/{full_name}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetQueriesLegacyRequest", + "pascal_name": "GetSchemaRequest", "is_object": true, "required_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175455,7 +184231,8 @@ ], "required_in_url_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175465,22 +184242,32 @@ ] }, "response": { - "pascal_name": "LegacyQuery", + "pascal_name": "SchemaInfo", "is_object": true }, "all_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "include_browse", + "description": "Whether to include schemas in the response for which the principal can only access selective metadata for", + "is_query": true, + "entity": { + "is_bool": true + } } ], "required_positional_arguments": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175491,146 +184278,125 @@ }, { "name": "List", - "description": "Gets a list of queries. Optionally, this list can be filtered by a search term.\n\n**Warning**: Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban.\n\n**Warning**: This API is deprecated. Please use :method:queries/list instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Get a list of queries.", - "path": "/api/2.0/preview/sql/queries", + "description": "Gets an array of schemas for a catalog in the metastore.\nIf the caller is the metastore admin or the owner of the parent catalog, all schemas for the catalog will be retrieved.\nOtherwise, only schemas owned by the caller (or for which the caller has the **USE_SCHEMA** privilege) will be retrieved.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 schemas.", + "path": "/api/2.1/unity-catalog/schemas", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListQueriesLegacyRequest", - "is_object": true + "pascal_name": "ListSchemasRequest", + "is_object": true, + "required_fields": [ + { + "name": "catalog_name", + "description": "Parent catalog for schemas of interest.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "catalog_name", + "description": "Parent catalog for schemas of interest.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "QueryList", + "pascal_name": "ListSchemasResponse", "is_object": true }, "all_fields": [ { - "name": "order", - "description": "Name of query attribute to order by. Default sort order is ascending. Append a dash (`-`) to order descending instead.\n\n- `name`: The name of the query.\n\n- `created_at`: The timestamp the query was created.\n\n- `runtime`: The time it took to run this query. This is blank for parameterized queries. A blank value is treated as the highest value for sorting.\n\n- `executed_at`: The timestamp when the query was last run.\n\n- `created_by`: The user name of the user that created the query.", + "name": "catalog_name", + "description": "Parent catalog for schemas of interest.", + "required": true, "is_query": true, "entity": { "is_string": true } }, { - "name": "page", - "description": "Page number to retrieve.", + "name": "include_browse", + "description": "Whether to include schemas in the response for which the principal can only access selective metadata for", "is_query": true, "entity": { - "is_int": true + "is_bool": true } }, { - "name": "page_size", - "description": "Number of queries to return per page.", + "name": "max_results", + "description": "Maximum number of schemas to return.\nIf not set, all the schemas are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", "is_query": true, "entity": { "is_int": true } }, { - "name": "q", - "description": "Full text search term", + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } } ], - "pagination": { - "offset": { - "name": "page", - "description": "Page number to retrieve.", - "is_query": true, - "entity": { - "is_int": true - } - }, - "limit": { - "name": "page_size", - "description": "Number of queries to return per page.", + "required_positional_arguments": [ + { + "name": "catalog_name", + "description": "Parent catalog for schemas of interest.", + "required": true, "is_query": true, "entity": { - "is_int": true + "is_string": true } } - } - }, - { - "name": "Restore", - "description": "Restore a query that has been moved to the trash.\nA restored query appears in list views and searches. You can use restored queries for alerts.\n\n**Warning**: This API is deprecated. Please see the latest version. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Restore a query.", - "path": "/api/2.0/preview/sql/queries/trash/{query_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "RestoreQueriesLegacyRequest", - "is_object": true, - "required_fields": [ - { - "name": "query_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "query_id", - "required": true, - "is_path": true, + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "RestoreResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "query_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "query_id", - "required": true, - "is_path": true, + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of schemas to return.\nIf not set, all the schemas are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, "entity": { - "is_string": true + "is_int": true } } - ] + } }, { "name": "Update", - "description": "Modify this query definition.\n\n**Note**: You cannot undo this operation.\n\n**Warning**: This API is deprecated. Please use :method:queries/update instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Change a query definition.", - "path": "/api/2.0/preview/sql/queries/{query_id}", + "description": "Updates a schema for a catalog. The caller must be the owner of the schema or a metastore admin.\nIf the caller is a metastore admin, only the __owner__ field can be changed in the update.\nIf the __name__ field must be updated, the caller must be a metastore admin or have the **CREATE_SCHEMA** privilege on the parent catalog.", + "summary": "Update a schema.", + "path": "/api/2.1/unity-catalog/schemas/{full_name}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "QueryEditContent", + "pascal_name": "UpdateSchema", "is_object": true, "required_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175640,7 +184406,8 @@ ], "required_in_url_fields": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175650,80 +184417,76 @@ ] }, "response": { - "pascal_name": "LegacyQuery", + "pascal_name": "SchemaInfo", "is_object": true }, "all_fields": [ { - "name": "data_source_id", - "description": "Data source ID maps to the ID of the data source used by the resource and is distinct from the warehouse ID. [Learn more](https://docs.databricks.com/api/workspace/datasources/list)", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "General description that conveys additional information about this query such as usage notes.", + "name": "comment", + "description": "User-provided free-form text description.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "The title of this query that appears in list views, widget headings, and on the query page.", + "name": "custom_max_retention_hours", + "description": "Custom maximum retention period in hours for the schema.", "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "options", - "description": "Exclusively used for storing a list parameter definitions. A parameter is an object with `title`, `name`, `type`, and `value` properties. The `value` field here is the default value. It can be overridden at runtime.", + "name": "enable_predictive_optimization", + "description": "Whether predictive optimization should be enabled for this object and objects under it.", "is_request_body_field": true, "entity": { - "is_any": true + "pascal_name": "EnablePredictiveOptimization", + "enum": [ + { + "content": "DISABLE" + }, + { + "content": "ENABLE" + }, + { + "content": "INHERIT" + } + ] } }, { - "name": "query", - "description": "The text of the query to be run.", - "is_request_body_field": true, + "name": "full_name", + "description": "Full name of the schema.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "query_id", - "required": true, - "is_path": true, + "name": "new_name", + "description": "New name for the schema.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "run_as_role", - "description": "Sets the **Run as** role for the object. Must be set to one of `\"viewer\"` (signifying \"run as viewer\" behavior) or `\"owner\"` (signifying \"run as owner\" behavior)", + "name": "owner", + "description": "Username of current owner of schema.", "is_request_body_field": true, "entity": { - "pascal_name": "RunAsRole", - "enum": [ - { - "content": "owner" - }, - { - "content": "viewer" - } - ] + "is_string": true } }, { - "name": "tags", + "name": "properties", + "description": "A map of key-value properties attached to the securable.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { + "map_value": { "is_string": true } } @@ -175731,7 +184494,8 @@ ], "required_positional_arguments": [ { - "name": "query_id", + "name": "full_name", + "description": "Full name of the schema.", "required": true, "is_path": true, "entity": { @@ -175743,199 +184507,38 @@ ] }, { - "id": "sql.QueryHistory", - "name": "QueryHistory", - "description": "A service responsible for storing and retrieving the list of queries run against SQL endpoints and serverless compute.", + "id": "workspace.Secrets", + "name": "Secrets", + "description": "The Secrets API allows you to manage secrets, secret scopes, and access permissions.\n\nSometimes accessing data requires that you authenticate to external data sources through JDBC.\nInstead of directly entering your credentials into a notebook, use Databricks secrets to store\nyour credentials and reference them in notebooks and jobs.\n\nAdministrators, secret creators, and users granted permission can read Databricks secrets.\nWhile Databricks makes an effort to redact secret values that might be displayed in notebooks,\nit is not possible to prevent such users from reading secrets.", "package": { - "name": "sql" + "name": "workspace" }, - "docs_group": "sql", + "docs_group": "workspace", "launch_stage": "GA", "cli_launch_stage_display": "GA", - "methods": [ - { - "name": "List", - "description": "List the history of queries through SQL warehouses, and serverless compute.\n\nYou can filter by user ID, warehouse ID, status, and time range.\nMost recently started queries are returned first (up to max_results in request).\nThe pagination token returned in response can be used to list subsequent query statuses.", - "summary": "List Queries.", - "path": "/api/2.0/sql/history/queries", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListQueryHistoryRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListQueriesResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "filter_by", - "description": "An optional filter object to limit query history results. Accepts parameters such as user IDs, endpoint IDs, and statuses to narrow the returned data.\nIn a URL, the parameters of this filter are specified with dot notation. For example: `filter_by.statement_ids`.", - "is_query": true, - "is_optional_object": true, - "entity": { - "pascal_name": "QueryFilter", - "is_object": true - } - }, - { - "name": "include_metrics", - "description": "Whether to include the query metrics with each query.\nOnly use this for a small subset of queries (max_results).\nDefaults to false.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Limit the number of results returned in one page. Must be less than 1000 and the default is 100.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "A token that can be used to get the next page of results. The token can contains characters that need to be encoded before using it in a URL.\nFor example, the character '+' needs to be replaced by %2B. This field is optional.", - "is_query": true, - "entity": { - "is_string": true - } - } - ] + "list": { + "request": { + "pascal_name": "ListSecretsRequest" } - ] - }, - { - "id": "sql.QueryVisualizations", - "name": "QueryVisualizations", - "description": "This is an evolving API that facilitates the addition and removal of visualizations from existing queries in the Databricks Workspace. Data structures can change over time.", - "package": { - "name": "sql" }, - "is_hidden_cli": true, - "docs_group": "sql", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", "methods": [ { - "name": "Create", - "description": "Adds a visualization to a query.", - "summary": "Add a visualization to a query.", - "path": "/api/2.0/sql/visualizations", - "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", - "request": { - "pascal_name": "CreateVisualizationRequest", - "is_object": true - }, - "response": { - "pascal_name": "Visualization", - "is_object": true - }, - "all_fields": [ - { - "name": "visualization", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CreateVisualizationRequestVisualization", - "is_object": true - } - } - ] - }, - { - "name": "Delete", - "description": "Removes a visualization.", - "summary": "Remove a visualization.", - "path": "/api/2.0/sql/visualizations/{id}", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "DeleteVisualizationRequest", - "is_object": true, - "required_fields": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "Empty", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates a visualization.", - "summary": "Update a visualization.", - "path": "/api/2.0/sql/visualizations/{id}", + "name": "CreateScope", + "description": "Creates a new secret scope.\n\nThe scope name must consist of alphanumeric characters, dashes, underscores, and\nperiods, and may not exceed 128 characters.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-simple-databricks-scope\",\n\"initial_manage_principal\": \"users\"\n\"scope_backend_type\": \"databricks|azure_keyvault\",\n# below is only required if scope type is azure_keyvault\n\"backend_azure_keyvault\": {\n\"resource_id\": \"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/xxxx\",\n\"tenant_id\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n\"dns_name\": \"https://xxxx.vault.azure.net/\",\n}\n}\n\nIf ``initial_manage_principal`` is specified, the initial ACL applied to the scope is\napplied to the supplied principal (user or group) with ``MANAGE`` permissions.\nThe only supported principal for this option is the group ``users``, which\ncontains all users in the workspace. If ``initial_manage_principal`` is not specified,\nthe initial ACL with ``MANAGE`` permission applied to the scope is assigned to the\nAPI request issuer's user identity.\n\nIf ``scope_backend_type`` is ``azure_keyvault``, a secret scope is created with secrets\nfrom a given Azure KeyVault. The caller must provide the keyvault_resource_id and the tenant_id\nfor the key vault. If ``scope_backend_type`` is ``databricks`` or is unspecified, an empty\nsecret scope is created and stored in Databricks's own storage.\n\nThrows ``RESOURCE_ALREADY_EXISTS`` if a scope with the given name already exists.\nThrows ``RESOURCE_LIMIT_EXCEEDED`` if maximum number of scopes in the workspace is exceeded.\nThrows ``INVALID_PARAMETER_VALUE`` if the scope name is invalid.\nThrows ``BAD_REQUEST`` if request violated constraints.\nThrows ``CUSTOMER_UNAUTHORIZED`` if normal user attempts to create a scope with name reserved for databricks internal usage.\nThrows ``UNAUTHENTICATED`` if unable to verify user access permission on Azure KeyVault", + "summary": "Create a new secret scope.", + "path": "/api/2.0/secrets/scopes/create", "can_use_json": true, - "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateVisualizationRequest", + "pascal_name": "CreateScope", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "scope", + "description": "Scope name requested by the user. Scope names are unique.", "required": true, "is_request_body_field": true, "entity": { @@ -175943,20 +184546,10 @@ } } ], - "required_in_url_fields": [ - { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], "required_request_body_fields": [ { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "scope", + "description": "Scope name requested by the user. Scope names are unique.", "required": true, "is_request_body_field": true, "entity": { @@ -175966,21 +184559,30 @@ ] }, "response": { - "pascal_name": "Visualization", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "id", - "required": true, - "is_path": true, + "name": "backend_azure_keyvault", + "description": "The metadata for the secret scope if the type is ``AZURE_KEYVAULT``", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AzureKeyVaultSecretScopeMetadata", + "is_object": true + } + }, + { + "name": "initial_manage_principal", + "description": "The principal that is initially granted ``MANAGE`` permission to the created scope.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "scope", + "description": "Scope name requested by the user. Scope names are unique.", "required": true, "is_request_body_field": true, "entity": { @@ -175988,27 +184590,26 @@ } }, { - "name": "visualization", + "name": "scope_backend_type", + "description": "The backend type the scope will be created with. If not specified, will default to ``DATABRICKS``", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "UpdateVisualizationRequestVisualization", - "is_object": true + "pascal_name": "ScopeBackendType", + "enum": [ + { + "content": "AZURE_KEYVAULT" + }, + { + "content": "DATABRICKS" + } + ] } } ], "required_positional_arguments": [ { - "name": "id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "scope", + "description": "Scope name requested by the user. Scope names are unique.", "required": true, "is_request_body_field": true, "entity": { @@ -176016,48 +184617,24 @@ } } ] - } - ] - }, - { - "id": "sql.QueryVisualizationsLegacy", - "name": "QueryVisualizationsLegacy", - "description": "This is an evolving API that facilitates the addition and removal of visualizations from existing\nqueries within the Databricks Workspace. Data structures may change over time.\n\n**Warning**: This API is deprecated. Please see the latest version of the Databricks SQL API. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "package": { - "name": "sql" - }, - "is_hidden_cli": true, - "docs_group": "sql", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "methods": [ + }, { - "name": "Create", - "description": "Creates visualization in the query.\n\n**Warning**: This API is deprecated. Please use :method:queryvisualizations/create instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Add visualization to a query.", - "path": "/api/2.0/preview/sql/visualizations", + "name": "DeleteAcl", + "description": "Deletes the given ACL on the given scope.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\",\n\"principal\": \"data-scientists\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope, principal, or ACL exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``INVALID_PARAMETER_VALUE`` if the permission or principal is invalid.", + "summary": "Delete an ACL.", + "path": "/api/2.0/secrets/acls/delete", "can_use_json": true, - "must_use_json": true, - "is_hidden_cli": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateQueryVisualizationsLegacyRequest", + "pascal_name": "DeleteAcl", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "options", - "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "query_id", - "description": "The identifier returned by :method:queries/create", + "name": "scope", + "description": "The name of the scope to remove permissions from.", "required": true, "is_request_body_field": true, "entity": { @@ -176065,8 +184642,8 @@ } }, { - "name": "type", - "description": "The type of visualization: chart, table, pivot table, and so on.", + "name": "principal", + "description": "The principal to remove an existing ACL from.", "required": true, "is_request_body_field": true, "entity": { @@ -176076,17 +184653,8 @@ ], "required_request_body_fields": [ { - "name": "options", - "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "query_id", - "description": "The identifier returned by :method:queries/create", + "name": "scope", + "description": "The name of the scope to remove permissions from.", "required": true, "is_request_body_field": true, "entity": { @@ -176094,8 +184662,8 @@ } }, { - "name": "type", - "description": "The type of visualization: chart, table, pivot table, and so on.", + "name": "principal", + "description": "The principal to remove an existing ACL from.", "required": true, "is_request_body_field": true, "entity": { @@ -176105,38 +184673,12 @@ ] }, "response": { - "pascal_name": "LegacyVisualization", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "description", - "description": "A short description of this visualization. This is not displayed in the UI.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "The name of the visualization that appears on dashboards and the query screen.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "options", - "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "query_id", - "description": "The identifier returned by :method:queries/create", + "name": "principal", + "description": "The principal to remove an existing ACL from.", "required": true, "is_request_body_field": true, "entity": { @@ -176144,232 +184686,30 @@ } }, { - "name": "type", - "description": "The type of visualization: chart, table, pivot table, and so on.", + "name": "scope", + "description": "The name of the scope to remove permissions from.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } } - ] - }, - { - "name": "Delete", - "description": "Removes a visualization from the query.\n\n**Warning**: This API is deprecated. Please use :method:queryvisualizations/delete instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Remove visualization.", - "path": "/api/2.0/preview/sql/visualizations/{id}", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "DeleteQueryVisualizationsLegacyRequest", - "is_object": true, - "required_fields": [ - { - "name": "id", - "description": "Widget ID returned by :method:queryvisualizations/create", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "id", - "description": "Widget ID returned by :method:queryvisualizations/create", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "DeleteResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "id", - "description": "Widget ID returned by :method:queryvisualizations/create", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } ], "required_positional_arguments": [ { - "name": "id", - "description": "Widget ID returned by :method:queryvisualizations/create", + "name": "scope", + "description": "The name of the scope to remove permissions from.", "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates visualization in the query.\n\n**Warning**: This API is deprecated. Please use :method:queryvisualizations/update instead. [Learn more](https://docs.databricks.com/en/sql/dbsql-api-latest.html)", - "summary": "Edit existing visualization.", - "path": "/api/2.0/preview/sql/visualizations/{id}", - "can_use_json": true, - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "LegacyVisualization", - "is_object": true - }, - "response": { - "pascal_name": "LegacyVisualization", - "is_object": true - }, - "all_fields": [ - { - "name": "created_at", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "description": "A short description of this visualization. This is not displayed in the UI.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "id", - "description": "The UUID for this visualization.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "name", - "description": "The name of the visualization that appears on dashboards and the query screen.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "options", - "description": "The options object varies widely from one visualization type to the next and is unsupported. Databricks does not recommend modifying visualization settings in JSON.", - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "query", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "LegacyQuery", - "is_object": true - } - }, - { - "name": "type", - "description": "The type of visualization: chart, table, pivot table, and so on.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "updated_at", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "sharing.RecipientActivation", - "name": "RecipientActivation", - "description": "The Recipient Activation API is only applicable in the open sharing model where the\nrecipient object has the authentication type of `TOKEN`. The data recipient follows\nthe activation link shared by the data provider to download the credential file that\nincludes the access token. The recipient will then use the credential file to establish\na secure connection with the provider to receive the shared data.\n\nNote that you can download the credential file only once. Recipients should treat the\ndownloaded credential as a secret and must not share it outside of their organization.", - "package": { - "name": "sharing" - }, - "docs_group": "sharing", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ - { - "name": "GetActivationUrlInfo", - "description": "Gets an activation URL for a share.", - "summary": "Get a share activation URL.", - "path": "/api/2.1/unity-catalog/public/data_sharing_activation_info/{activation_url}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetActivationUrlInfoRequest", - "is_object": true, - "required_fields": [ - { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "GetActivationUrlInfoResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", + "name": "principal", + "description": "The principal to remove an existing ACL from.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -176377,33 +184717,35 @@ ] }, { - "name": "RetrieveToken", - "description": "Retrieve access token with an activation url.\nThis is a public API without any authentication.", - "summary": "Get an access token.", - "path": "/api/2.1/unity-catalog/public/data_sharing_activation/{activation_url}", + "name": "DeleteScope", + "description": "Deletes a secret scope.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if the scope does not exist.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``BAD_REQUEST`` if system user attempts to delete internal secret scope.", + "summary": "Delete a secret scope.", + "path": "/api/2.0/secrets/scopes/delete", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RetrieveTokenRequest", + "pascal_name": "DeleteScope", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", + "name": "scope", + "description": "Name of the scope to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", + "name": "scope", + "description": "Name of the scope to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -176411,15 +184753,14 @@ ] }, "response": { - "pascal_name": "RetrieveTokenResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", + "name": "scope", + "description": "Name of the scope to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -176427,194 +184768,110 @@ ], "required_positional_arguments": [ { - "name": "activation_url", - "description": "The one time activation url. It also accepts activation token.", + "name": "scope", + "description": "Name of the scope to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "sharing.RecipientFederationPolicies", - "name": "RecipientFederationPolicies", - "description": "The Recipient Federation Policies APIs are only applicable in the open sharing model where the recipient object has the authentication type of `OIDC_RECIPIENT`, enabling data sharing from Databricks to non-Databricks recipients.\nOIDC Token Federation enables secure, secret-less authentication for accessing Delta Sharing servers. Users and applications authenticate using short-lived OIDC tokens issued by their own Identity Provider (IdP), such as Azure Entra ID or Okta, without the need for managing static credentials or client secrets.\nA federation policy defines how non-Databricks recipients authenticate using OIDC tokens. It validates the OIDC claims in federated tokens and is set at the recipient level. The caller must be the owner of the recipient to create or manage a federation policy.\nFederation policies support the following scenarios:\n- User-to-Machine (U2M) flow: A user accesses Delta Shares using their own identity, such as connecting through PowerBI Delta Sharing Client.\n- Machine-to-Machine (M2M) flow: An application accesses Delta Shares using its own identity, typically for automation tasks like nightly jobs through Python Delta Sharing Client.\nOIDC Token Federation enables fine-grained access control, supports Multi-Factor Authentication (MFA), and enhances security by minimizing the risk of credential leakage through the use of short-lived, expiring tokens. It is designed for strong identity governance, secure cross-platform data sharing, and reduced operational overhead for credential management.\n\nFor more information, see https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security and https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed", - "package": { - "name": "sharing" - }, - "docs_group": "sharing", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "request": { - "pascal_name": "ListFederationPoliciesRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Create a federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients.\nThe caller must be the owner of the recipient.\nWhen sharing data from Databricks to non-Databricks clients,\nyou can define a federation policy to authenticate non-Databricks recipients.\nThe federation policy validates OIDC claims in federated tokens and is defined at the recipient level.\nThis enables secretless sharing clients to authenticate using OIDC tokens.\n\nSupported scenarios for federation policies:\n1. **User-to-Machine (U2M) flow** (e.g., PowerBI): A user accesses a resource using their own identity.\n2. **Machine-to-Machine (M2M) flow** (e.g., OAuth App): An OAuth App accesses a resource using its own identity,\ntypically for tasks like running nightly jobs.\n\nFor an overview, refer to:\n- Blog post: Overview of feature: https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security\n\nFor detailed configuration guides based on your use case:\n- Creating a Federation Policy as a provider: https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed\n- Configuration and usage for Machine-to-Machine (M2M) applications (e.g., Python Delta Sharing Client): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-m2m\n- Configuration and usage for User-to-Machine (U2M) applications (e.g., PowerBI): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-u2m", - "summary": "Create recipient federation policy.", - "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies", + "name": "DeleteSecret", + "description": "Deletes the secret stored in this secret scope. You must have ``WRITE`` or ``MANAGE``\npermission on the Secret Scope.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\",\n\"key\": \"my-secret-key\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope or secret exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``BAD_REQUEST`` if system user attempts to delete an internal secret, or request is made against Azure KeyVault backed scope.", + "summary": "Delete a secret.", + "path": "/api/2.0/secrets/delete", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateFederationPolicyRequest", + "pascal_name": "DeleteSecret", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", + "name": "scope", + "description": "The name of the scope that contains the secret to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "policy", - "description": "Name of the policy. This is the name of the policy to be created.", + "name": "key", + "description": "Name of the secret to delete.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FederationPolicy", - "is_object": true + "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", + "name": "scope", + "description": "The name of the scope that contains the secret to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "policy", - "description": "Name of the policy. This is the name of the policy to be created.", + "name": "key", + "description": "Name of the secret to delete.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "FederationPolicy", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "policy", - "description": "Name of the policy. This is the name of the policy to be created.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true - } - }, "response": { - "pascal_name": "FederationPolicy", - "is_object": true + "pascal_name": "DeleteSecretResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "policy", - "description": "Name of the policy. This is the name of the policy to be created.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true - } - }, - { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", + "name": "key", + "description": "Name of the secret to delete.", "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "comment", - "description": "Description of the policy. This is a user-provided description.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "description": "System-generated timestamp indicating when the policy was created.", - "is_computed": true, - "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "id", - "description": "Unique, immutable system-generated identifier for the federation policy.", - "is_computed": true, - "is_output_only": true, + "name": "scope", + "description": "The name of the scope that contains the secret to delete.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "name", - "description": "Name of the federation policy. A recipient can have multiple policies with different names.\nThe name must contain only lowercase alphanumeric characters, numbers, and hyphens.", + "name": "scope", + "description": "The name of the scope that contains the secret to delete.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "oidc_policy", - "description": "Specifies the policy to use for validating OIDC claims in the federated tokens.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "OidcFederationPolicy", - "is_object": true - } - }, - { - "name": "update_time", - "description": "System-generated timestamp indicating when the policy was last updated.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being created.", + "name": "key", + "description": "Name of the secret to delete.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -176622,33 +184879,31 @@ ] }, { - "name": "Delete", - "description": "Deletes an existing federation policy for an OIDC_FEDERATION recipient.\nThe caller must be the owner of the recipient.", - "summary": "Delete recipient federation policy.", - "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies/{name}", + "name": "GetAcl", + "description": "Describes the details about the given ACL, such as the group and permission.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample response:\n\n.. code::\n\n{\n\"principal\": \"data-scientists\",\n\"permission\": \"READ\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``INVALID_PARAMETER_VALUE`` if the permission or principal is invalid.", + "summary": "Get secret ACL details.", + "path": "/api/2.0/secrets/acls/get", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteFederationPolicyRequest", + "pascal_name": "GetAclRequest", "is_object": true, "required_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be deleted.", + "name": "principal", + "description": "The principal to fetch ACL information for.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176656,19 +184911,19 @@ ], "required_in_url_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be deleted.", + "name": "principal", + "description": "The principal to fetch ACL information for.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176676,23 +184931,87 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "AclItem", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal", + "description": "The principal in which the permission is applied.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "permission", + "description": "The permission level applied to the principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AclPermission", + "enum": [ + { + "content": "MANAGE" + }, + { + "content": "READ" + }, + { + "content": "WRITE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "principal", + "description": "The principal in which the permission is applied.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "permission", + "description": "The permission level applied to the principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AclPermission", + "enum": [ + { + "content": "MANAGE" + }, + { + "content": "READ" + }, + { + "content": "WRITE" + } + ] + } + } + ] }, "all_fields": [ { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be deleted.", + "name": "principal", + "description": "The principal to fetch ACL information for.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176700,19 +185019,19 @@ ], "required_positional_arguments": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being deleted.", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be deleted.", + "name": "principal", + "description": "The principal to fetch ACL information for.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176720,34 +185039,31 @@ ] }, { - "name": "GetFederationPolicy", - "description": "Reads an existing federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients.\nThe caller must have read access to the recipient.", - "summary": "Get recipient federation policy.", - "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies/{name}", - "is_crud_read": true, + "name": "GetSecret", + "description": "Gets a secret for a given key and scope. This API can only be called from the DBUtils\ninterface. Users need the READ permission to make this call.\n\nExample response:\n\n.. code::\n\n{\n\"key\": \"my-string-key\",\n\"value\": \u003cbytes of the secret value\u003e\n}\n\nNote that the secret value returned is in bytes. The interpretation of the bytes\nis determined by the caller in DBUtils and the type the data is decoded into.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret or secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\n\nNote: This is explicitly an undocumented API. It also doesn't need to be supported\nfor the /preview prefix, because it's not a customer-facing API (i.e. only used\nfor DBUtils SecretUtils to fetch secrets).\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope or secret exists.\nThrows ``BAD_REQUEST`` if normal user calls get secret outside of a notebook.\nAKV specific errors:\nThrows ``INVALID_PARAMETER_VALUE`` if secret name is not alphanumeric or too long.\nThrows ``PERMISSION_DENIED`` if secret manager cannot access AKV with 403 error\nThrows ``MALFORMED_REQUEST`` if secret manager cannot access AKV with any other 4xx error", + "summary": "Get a secret.", + "path": "/api/2.0/secrets/get", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetFederationPolicyRequest", + "pascal_name": "GetSecretRequest", "is_object": true, "required_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "name": "scope", + "description": "The name of the scope that contains the secret.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be retrieved.", + "name": "key", + "description": "Name of the secret to fetch value information.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176755,19 +185071,19 @@ ], "required_in_url_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "name": "scope", + "description": "The name of the scope that contains the secret.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be retrieved.", + "name": "key", + "description": "Name of the secret to fetch value information.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176775,24 +185091,24 @@ ] }, "response": { - "pascal_name": "FederationPolicy", + "pascal_name": "GetSecretResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be retrieved.", + "name": "key", + "description": "Name of the secret to fetch value information.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "name": "scope", + "description": "The name of the scope that contains the secret.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176800,19 +185116,19 @@ ], "required_positional_arguments": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policy is being retrieved.", + "name": "scope", + "description": "The name of the scope that contains the secret.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "Name of the policy. This is the name of the policy to be retrieved.", + "name": "key", + "description": "Name of the secret to fetch value information.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176820,24 +185136,22 @@ ] }, { - "name": "List", - "description": "Lists federation policies for an OIDC_FEDERATION recipient for sharing data from Databricks to non-Databricks recipients.\nThe caller must have read access to the recipient.", - "summary": "List recipient federation policies.", - "path": "/api/2.0/data-sharing/recipients/{recipient_name}/federation-policies", + "name": "ListAcls", + "description": "Lists the ACLs set on the given scope.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample response:\n\n.. code::\n\n{\n\"acls\": [{\n\"principal\": \"admins\",\n\"permission\": \"MANAGE\"\n},{\n\"principal\": \"data-scientists\",\n\"permission\": \"READ\"\n}]\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", + "summary": "Lists ACLs.", + "path": "/api/2.0/secrets/acls/list", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListFederationPoliciesRequest", + "pascal_name": "ListAclsRequest", "is_object": true, "required_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176845,10 +185159,10 @@ ], "required_in_url_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176856,29 +185170,95 @@ ] }, "response": { - "pascal_name": "ListFederationPoliciesResponse", + "pascal_name": "ListAclsResponse", "is_object": true }, "all_fields": [ { - "name": "max_results", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", + "required": true, "is_query": true, "entity": { - "is_int": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_token", + "name": "scope", + "description": "The name of the scope to fetch ACL information from.", + "required": true, "is_query": true, "entity": { "is_string": true } - }, + } + ], + "pagination": {} + }, + { + "name": "ListScopes", + "description": "Lists all secret scopes available in the workspace.\n\nExample response:\n\n.. code::\n\n{\n\"scopes\": [{\n\"name\": \"my-databricks-scope\",\n\"backend_type\": \"DATABRICKS\"\n},{\n\"name\": \"mount-points\",\n\"backend_type\": \"DATABRICKS\"\n}]\n}\n\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", + "summary": "List all scopes.", + "path": "/api/2.0/secrets/scopes/list", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListScopesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListScopesResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "ListSecrets", + "description": "Lists the secret keys that are stored at this scope. This is a metadata-only\noperation; secret data cannot be retrieved using this API. Users need the READ\npermission to make this call.\n\nExample response:\n\n.. code::\n\n{\n\"secrets\": [\n{\n\"key\": \"my-string-key\"\",\n\"last_updated_timestamp\": \"1520467595000\"\n},\n{\n\"key\": \"my-byte-key\",\n\"last_updated_timestamp\": \"1520467595000\"\n},\n]\n}\n\nThe lastUpdatedTimestamp returned is in milliseconds since epoch.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", + "summary": "List secret keys.", + "path": "/api/2.0/secrets/list", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListSecretsRequest", + "is_object": true, + "required_fields": [ + { + "name": "scope", + "description": "The name of the scope to list secrets within.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "scope", + "description": "The name of the scope to list secrets within.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListSecretsResponse", + "is_object": true + }, + "all_fields": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", + "name": "scope", + "description": "The name of the scope to list secrets within.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -176886,63 +185266,34 @@ ], "required_positional_arguments": [ { - "name": "recipient_name", - "description": "Name of the recipient. This is the name of the recipient for which the policies are being listed.", + "name": "scope", + "description": "The name of the scope to list secrets within.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - } - ] - }, - { - "id": "sharing.Recipients", - "name": "Recipients", - "description": "A recipient is an object you create using :method:recipients/create to represent an\norganization which you want to allow access shares. The way how sharing works differs\ndepending on whether or not your recipient has access to a Databricks workspace that is\nenabled for Unity Catalog:\n\n- For recipients with access to a Databricks workspace that is enabled for Unity Catalog,\nyou can create a recipient object along with a unique sharing identifier you get from the\nrecipient. The sharing identifier is the key identifier that enables the secure connection.\nThis sharing mode is called **Databricks-to-Databricks sharing**.\n\n- For recipients without access to a Databricks workspace that is enabled for Unity Catalog,\nwhen you create a recipient object, Databricks generates an activation link you can send\nto the recipient. The recipient follows the activation link to download the credential file,\nand then uses the credential file to establish a secure connection to receive the shared data.\nThis sharing mode is called **open sharing**.", - "package": { - "name": "sharing" - }, - "docs_group": "sharing", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListRecipientsRequest" - } - }, - "methods": [ + "pagination": {} + }, { - "name": "Create", - "description": "Creates a new recipient with the delta sharing authentication type in the metastore.\nThe caller must be a metastore admin or have the **CREATE_RECIPIENT** privilege on the metastore.", - "summary": "Create a share recipient.", - "path": "/api/2.1/unity-catalog/recipients", + "name": "PutAcl", + "description": "Creates or overwrites the ACL associated with the given principal (user or group) on the\nspecified scope point. In general, a user or group will use the most powerful\npermission available to them, and permissions are ordered as follows:\n\n* ``MANAGE`` - Allowed to change ACLs, and read and write to this secret scope.\n* ``WRITE`` - Allowed to read and write to this secret scope.\n* ``READ`` - Allowed to read this secret scope and list what secrets are available.\n\nNote that in general, secret values can only be read from within a command\non a cluster (for example, through a notebook). There is no API to read the actual\nsecret value material outside of a cluster. However, the user's permission will be\napplied based on who is executing the command, and they must have at least READ permission.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\",\n\"principal\": \"data-scientists\",\n\"permission\": \"READ\"\n}\n\nThe principal is a user or group name corresponding to an existing Databricks\nprincipal to be granted or revoked access.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``RESOURCE_ALREADY_EXISTS`` if a permission for the principal already exists.\nThrows ``INVALID_PARAMETER_VALUE`` if the permission or principal is invalid.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", + "summary": "Create/update an ACL.", + "path": "/api/2.0/secrets/acls/put", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateRecipient", + "pascal_name": "PutAcl", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of Recipient.", + "name": "scope", + "description": "The name of the scope to apply permissions to.", "required": true, "is_request_body_field": true, "entity": { @@ -176950,23 +185301,30 @@ } }, { - "name": "authentication_type", + "name": "principal", + "description": "The principal in which the permission is applied.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", + "is_string": true + } + }, + { + "name": "permission", + "description": "The permission level applied to the principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AclPermission", "enum": [ { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" + "content": "MANAGE" }, { - "content": "OIDC_FEDERATION" + "content": "READ" }, { - "content": "TOKEN" + "content": "WRITE" } ] } @@ -176974,8 +185332,8 @@ ], "required_request_body_fields": [ { - "name": "name", - "description": "Name of Recipient.", + "name": "scope", + "description": "The name of the scope to apply permissions to.", "required": true, "is_request_body_field": true, "entity": { @@ -176983,23 +185341,30 @@ } }, { - "name": "authentication_type", + "name": "principal", + "description": "The principal in which the permission is applied.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", + "is_string": true + } + }, + { + "name": "permission", + "description": "The permission level applied to the principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "AclPermission", "enum": [ { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" + "content": "MANAGE" }, { - "content": "OIDC_FEDERATION" + "content": "READ" }, { - "content": "TOKEN" + "content": "WRITE" } ] } @@ -177007,115 +185372,61 @@ ] }, "response": { - "pascal_name": "RecipientInfo", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "authentication_type", + "name": "permission", + "description": "The permission level applied to the principal.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", + "pascal_name": "AclPermission", "enum": [ { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" + "content": "MANAGE" }, { - "content": "OIDC_FEDERATION" + "content": "READ" }, { - "content": "TOKEN" + "content": "WRITE" } ] } }, { - "name": "comment", - "description": "Description about the recipient.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "data_recipient_global_metastore_id", - "description": "The global Unity Catalog metastore id provided by the data recipient.\nThis field is only present when the __authentication_type__ is **DATABRICKS**.\nThe identifier is of format __cloud__:__region__:__metastore-uuid__.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "expiration_time", - "description": "Expiration timestamp of the token, in epoch milliseconds.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "id", - "description": "[Create,Update:IGN] common - id of the recipient", - "is_output_only": true, + "name": "principal", + "description": "The principal in which the permission is applied.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "ip_access_list", - "description": "IP Access List", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IpAccessList", - "is_object": true - } - }, - { - "name": "name", - "description": "Name of Recipient.", + "name": "scope", + "description": "The name of the scope to apply permissions to.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "owner", - "description": "Username of the recipient owner.", + "name": "scope", + "description": "The name of the scope to apply permissions to.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "properties_kvpairs", - "description": "Recipient properties as map of string key-value pairs.\nWhen provided in update request, the specified properties will override the existing\nproperties. To add and remove properties, one would need to perform a read-modify-write.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "SecurablePropertiesKvPairs", - "is_object": true - } - }, - { - "name": "sharing_code", - "description": "The one-time sharing code provided by the data recipient. This field is only present when the __authentication_type__ is **DATABRICKS**.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Name of Recipient.", + "name": "principal", + "description": "The principal in which the permission is applied.", "required": true, "is_request_body_field": true, "entity": { @@ -177123,23 +185434,21 @@ } }, { - "name": "authentication_type", + "name": "permission", + "description": "The permission level applied to the principal.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AuthenticationType", + "pascal_name": "AclPermission", "enum": [ { - "content": "DATABRICKS" - }, - { - "content": "OAUTH_CLIENT_CREDENTIALS" + "content": "MANAGE" }, { - "content": "OIDC_FEDERATION" + "content": "READ" }, { - "content": "TOKEN" + "content": "WRITE" } ] } @@ -177147,94 +185456,53 @@ ] }, { - "name": "Delete", - "description": "Deletes the specified recipient from the metastore. The caller must be the owner of the recipient.", - "summary": "Delete a share recipient.", - "path": "/api/2.1/unity-catalog/recipients/{name}", + "name": "PutSecret", + "description": "Inserts a secret under the provided scope with the given name. If a secret already\nexists with the same name, this command overwrites the existing secret's value.\nThe server encrypts the secret using the secret scope's encryption settings before\nstoring it. You must have ``WRITE`` or ``MANAGE`` permission on the secret scope.\n\nThe secret key must consist of alphanumeric characters, dashes, underscores,\nand periods, and cannot exceed 128 characters. The maximum allowed secret\nvalue size is 128 KB. The maximum number of secrets in a given scope is\n1000.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-databricks-scope\",\n\"key\": \"my-string-key\",\n\"string_value\": \"foobar\"\n}\n\nThe input fields \"string_value\" or \"bytes_value\"\nspecify the type of the secret, which will determine the value returned when\nthe secret value is requested. Exactly one must be specified.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``RESOURCE_LIMIT_EXCEEDED`` if maximum number of secrets in scope is exceeded.\nThrows ``INVALID_PARAMETER_VALUE`` if the request parameters are invalid.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``MALFORMED_REQUEST`` if request is incorrectly formatted or conflicting.\nThrows ``BAD_REQUEST`` if request is made against Azure KeyVault backed scope.", + "summary": "Add a secret.", + "path": "/api/2.0/secrets/put", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteRecipientRequest", + "pascal_name": "PutSecret", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the recipient.", + "name": "scope", + "description": "The name of the scope to which the secret will be associated with.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "Name of the recipient.", + "name": "key", + "description": "A unique name to identify the secret.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "name", - "description": "Name of the recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Name of the recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Gets a share recipient from the metastore. The caller must be one of:\n* A user with **USE_RECIPIENT** privilege on the metastore\n* The owner of the share recipient\n* A metastore admin", - "summary": "Get a share recipient.", - "path": "/api/2.1/unity-catalog/recipients/{name}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetRecipientRequest", - "is_object": true, - "required_fields": [ + ], + "required_request_body_fields": [ { - "name": "name", - "description": "Name of the recipient.", + "name": "scope", + "description": "The name of the scope to which the secret will be associated with.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "Name of the recipient.", + "name": "key", + "description": "A unique name to identify the secret.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -177242,581 +185510,546 @@ ] }, "response": { - "pascal_name": "RecipientInfo", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "Name of the recipient.", - "required": true, - "is_path": true, + "name": "bytes_value", + "description": "If specified, value will be stored as bytes.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Name of the recipient.", + "name": "key", + "description": "A unique name to identify the secret.", "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "List", - "description": "Gets an array of all share recipients within the current metastore where:\n\n* the caller is a metastore admin, or\n* the caller is the owner.\nThere is no guarantee of a specific ordering of the elements in the array.", - "summary": "List share recipients.", - "path": "/api/2.1/unity-catalog/recipients", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListRecipientsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListRecipientsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "data_recipient_global_metastore_id", - "description": "If not provided, all recipients will be returned.\nIf no recipients exist with this ID, no results will be returned.", - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "max_results", - "description": "Maximum number of recipients to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid recipients are returned (not recommended).\n- Note: The number of returned recipients might be less than the specified max_results size, even zero.\nThe only definitive indication that no further recipients can be fetched is when the next_page_token is unset from the response.", - "is_query": true, + "name": "scope", + "description": "The name of the scope to which the secret will be associated with.", + "required": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, + "name": "string_value", + "description": "If specified, note that the value will be stored in UTF-8 (MB4) form.", + "is_request_body_field": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "scope", + "description": "The name of the scope to which the secret will be associated with.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } }, - "max_results": { - "name": "max_results", - "description": "Maximum number of recipients to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid recipients are returned (not recommended).\n- Note: The number of returned recipients might be less than the specified max_results size, even zero.\nThe only definitive indication that no further recipients can be fetched is when the next_page_token is unset from the response.", - "is_query": true, + { + "name": "key", + "description": "A unique name to identify the secret.", + "required": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } } - } - }, + ] + } + ] + }, + { + "id": "catalog.SecretsUc", + "name": "SecretsUc", + "description": "A secret is a Unity Catalog securable object that stores sensitive credential data (such as passwords, tokens, and keys) within a three-level namespace (**catalog_name.schema_name.secret_name**).\n\nSecrets can be managed using standard Unity Catalog permissions and are scoped to a schema within a catalog.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListSecretsRequest" + } + }, + "methods": [ { - "name": "RotateToken", - "description": "Refreshes the specified recipient's delta sharing authentication token with the provided token info.\nThe caller must be the owner of the recipient.", - "summary": "Rotate a token.", - "path": "/api/2.1/unity-catalog/recipients/{name}/rotate-token", + "name": "CreateSecret", + "description": "Creates a new secret in Unity Catalog.\n\nYou must be the owner of the parent schema or have the **CREATE_SECRET** and **USE SCHEMA**\nprivileges on the parent schema and **USE CATALOG** on the parent catalog.\n\nThe secret is stored in the specified catalog and schema, and the **value** field\ncontains the sensitive data to be securely stored.", + "summary": "Create a secret.", + "path": "/api/2.1/unity-catalog/secrets", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RotateRecipientToken", + "pascal_name": "CreateSecretRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "secret", + "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Secret", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "secret", + "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Secret", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "secret", + "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Secret", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + "response": { + "pascal_name": "Secret", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "The name of the Recipient.", + "description": "The name of the secret, relative to its parent schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "existing_token_expire_in_seconds", - "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "The name of the Recipient.", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "existing_token_expire_in_seconds", - "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } - ] - }, - "response": { - "pascal_name": "RecipientInfo", - "is_object": true - }, - "all_fields": [ - { - "name": "existing_token_expire_in_seconds", - "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "name", - "description": "The name of the Recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The name of the Recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "existing_token_expire_in_seconds", - "description": "The expiration time of the bearer token in ISO 8601 format. This will set the expiration_time\nof existing token only to a smaller timestamp, it cannot extend the expiration_time. Use 0 to\nexpire the existing token immediately, negative number will return an error.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "SharePermissions", - "description": "Gets the share permissions for the specified Recipient. The caller must have the **USE_RECIPIENT** privilege on the metastore or be the owner of the Recipient.", - "summary": "Get recipient share permissions.", - "path": "/api/2.1/unity-catalog/recipients/{name}/share-permissions", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "SharePermissionsRequest", - "is_object": true, - "required_fields": [ + ], + "required_request_body_fields": [ { "name": "name", - "description": "The name of the Recipient.", + "description": "The name of the secret, relative to its parent schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "The name of the Recipient.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - "response": { - "pascal_name": "GetRecipientSharePermissionsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "max_results", - "description": "Maximum number of permissions to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid permissions are returned (not recommended).\n- Note: The number of returned permissions might be less than the specified max_results size, even zero.\nThe only definitive indication that no further permissions can be fetched is when the next_page_token is unset from the response.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "name", - "description": "The name of the Recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The name of the Recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates an existing recipient in the metastore. The caller must be a metastore admin or the owner of the recipient.\nIf the recipient name will be updated, the user must be both a metastore admin and the owner of the recipient.", - "summary": "Update a share recipient.", - "path": "/api/2.1/unity-catalog/recipients/{name}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "UpdateRecipient", - "is_object": true, - "required_fields": [ + }, { - "name": "name", - "description": "Name of the recipient.", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "Name of the recipient.", + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "RecipientInfo", - "is_object": true - }, "all_fields": [ { - "name": "comment", - "description": "Description about the recipient.", + "name": "secret", + "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Secret", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "expiration_time", - "description": "Expiration timestamp of the token, in epoch milliseconds.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "id", - "description": "[Create,Update:IGN] common - id of the recipient", - "is_output_only": true, + "name": "comment", + "description": "User-provided free-form text description of the secret.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "ip_access_list", - "description": "IP Access List", + "name": "create_time", + "description": "The time at which this secret was created.", + "is_output_only": true, "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "IpAccessList", - "is_object": true + "is_timestamp": true } }, { - "name": "name", - "description": "Name of the recipient.", - "required": true, - "is_path": true, + "name": "created_by", + "description": "The principal that created the secret.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "new_name", - "description": "New name for the recipient.\n.", + "name": "effective_owner", + "description": "The effective owner of the secret, which may differ from the directly-set **owner** due to\ninheritance.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "Username of the recipient owner.", + "name": "effective_value", + "description": "The secret value. Only populated in responses when you have the **READ_SECRET**\nprivilege and **include_value** is set to true in the request. The maximum size is 60 KiB.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "properties_kvpairs", - "description": "Recipient properties as map of string key-value pairs.\nWhen provided in update request, the specified properties will override the existing\nproperties. To add and remove properties, one would need to perform a read-modify-write.", + "name": "expire_time", + "description": "User-provided expiration time of the secret. This field indicates when the secret should no\nlonger be used and may be displayed as a warning in the UI. It is purely informational and\ndoes not trigger any automatic actions or affect the secret's lifecycle.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "SecurablePropertiesKvPairs", - "is_object": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Name of the recipient.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "sql.RedashConfig", - "name": "RedashConfig", - "description": "Redash V2 service for workspace configurations (internal)", - "package": { - "name": "sql" - }, - "is_hidden_cli": true, - "docs_group": "sql", - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "methods": [ - { - "name": "GetConfig", - "description": "Read workspace configuration for Redash-v2.", - "summary": "Read workspace configuration for Redash-v2.", - "path": "/api/2.0/redash-v2/config", - "is_legacy_empty_request": true, - "is_crud_read": true, - "is_hidden_cli": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "GetConfigRequest", - "is_object": true - }, - "response": { - "pascal_name": "ClientConfig", - "is_object": true - } - } - ] - }, - { - "id": "catalog.RegisteredModels", - "name": "RegisteredModels", - "description": "Databricks provides a hosted version of MLflow Model Registry in Unity Catalog.\nModels in Unity Catalog provide centralized access control, auditing, lineage, and discovery of\nML models across Databricks workspaces.\n\nAn MLflow registered model resides in the third layer of Unity Catalog’s three-level namespace.\nRegistered models contain model versions, which correspond to actual ML models (MLflow models). Creating new\nmodel versions requires use of the MLflow Python client. After model versions are created, you can\nload them for batch inference using MLflow Python client APIs, or deploy them for real-time serving using\nDatabricks Model Serving.\n\nAll operations on registered models and model versions require USE_CATALOG permissions on the enclosing catalog\nand USE_SCHEMA permissions on the enclosing schema. In addition, the following additional privileges are\nrequired for various operations:\n\n* To create a registered model, users must additionally have the CREATE_MODEL permission on the target schema.\n* To view registered model or model version metadata, model version data files, or invoke a model version,\nusers must additionally have the EXECUTE permission on the registered model\n* To update registered model or model version tags, users must additionally have APPLY TAG permissions on the registered model\n* To update other registered model or model version metadata (comments, aliases)\ncreate a new model version, or update permissions on the registered model, users must be owners of the\nregistered model.\n\nNote: The securable type for models is FUNCTION. When using REST APIs (for example, tagging, grants) that specify\na securable type, use FUNCTION as the securable type.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "RegisteredModelInfoNameToFullNameMap" - }, - "request": { - "pascal_name": "ListRegisteredModelsRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a new registered model in Unity Catalog.\n\nFile storage for model versions in the registered model\nwill be located in the default location which is specified by the parent schema,\nor the parent catalog, or the Metastore.\n\nFor registered model creation to succeed, the user must satisfy the following conditions:\n- The caller must be a metastore admin, or be the owner of the parent catalog and schema,\nor have the **USE_CATALOG** privilege on the parent catalog\nand the **USE_SCHEMA** privilege on the parent schema.\n- The caller must have the **CREATE MODEL** or **CREATE FUNCTION** privilege on the parent schema.", - "summary": "Create a Registered Model.", - "path": "/api/2.1/unity-catalog/models", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateRegisteredModelRequest", - "is_object": true - }, - "response": { - "pascal_name": "RegisteredModelInfo", - "is_object": true - }, - "all_fields": [ - { - "name": "aliases", - "description": "List of aliases associated with the registered model", - "is_request_body_field": true, - "entity": { - "pascal_name": "RegisteredModelAliasList", - "array_value": { - "pascal_name": "RegisteredModelAlias", - "is_object": true - } + "is_timestamp": true } }, { - "name": "browse_only", - "description": "Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE privilege when include_browse is enabled in the request.", + "name": "full_name", + "description": "The three-level (fully qualified) name of the secret, in the form of **catalog_name.schema_name.secret_name**.", "is_output_only": true, "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the registered model reside", - "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "comment", - "description": "The comment attached to the registered model", + "name": "metastore_id", + "description": "Unique identifier of the metastore hosting the secret.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "created_at", - "description": "Creation timestamp of the registered model in milliseconds since the Unix epoch", + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "created_by", - "description": "The identifier of the user who created the registered model", + "name": "owner", + "description": "The owner of the secret. Defaults to the creating principal on creation. Can be updated to\ntransfer ownership of the secret to another principal.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "metastore_id", - "description": "The unique identifier of the metastore", + "name": "update_time", + "description": "The time at which this secret was last updated.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "name", - "description": "The name of the registered model", + "name": "updated_by", + "description": "The principal that last updated the secret.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "The identifier of the user who owns the registered model", + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "schema_name", - "description": "The name of the schema where the registered model resides", + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "storage_location", - "description": "The storage location on the cloud under which model version data files are stored", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "updated_at", - "description": "Last-update timestamp of the registered model in milliseconds since the Unix epoch", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "updated_by", - "description": "The identifier of the user who updated the registered model last time", + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true @@ -177825,20 +186058,20 @@ ] }, { - "name": "Delete", - "description": "Deletes a registered model and all its model versions from the specified parent catalog and schema.\n\nThe caller must be a metastore admin or an owner of the registered model.\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.", - "summary": "Delete a Registered Model.", - "path": "/api/2.1/unity-catalog/models/{full_name}", + "name": "DeleteSecret", + "description": "Deletes a secret by its three-level (fully qualified) name.\n\nYou must be the owner of the secret or a metastore admin.", + "summary": "Delete a secret.", + "path": "/api/2.1/unity-catalog/secrets/{full_name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteRegisteredModelRequest", + "pascal_name": "DeleteSecretRequest", "is_object": true, "required_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -177849,7 +186082,7 @@ "required_in_url_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -177864,7 +186097,7 @@ "all_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -177875,7 +186108,7 @@ "required_positional_arguments": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -177885,144 +186118,125 @@ ] }, { - "name": "DeleteAlias", - "description": "Deletes a registered model alias.\n\nThe caller must be a metastore admin or an owner of the registered model.\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.", - "summary": "Delete a Registered Model Alias.", - "path": "/api/2.1/unity-catalog/models/{full_name}/aliases/{alias}", + "name": "GetSecret", + "description": "Gets a secret by its three-level (fully qualified) name.\n\nYou must be a metastore admin, the owner of the secret, or have the **MANAGE**\nprivilege on the secret.\n\nThe secret value isn't returned by default. To retrieve it, you must also have the\n**READ_SECRET** privilege and set **include_value** to true in the request.", + "summary": "Get a secret.", + "path": "/api/2.1/unity-catalog/secrets/{full_name}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteAliasRequest", + "pascal_name": "GetSecretRequest", "is_object": true, "required_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "alias", - "description": "The name of the alias", + "name": "full_name", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "pascal_name": "Secret", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "name", + "description": "The name of the secret, relative to its parent schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "alias", - "description": "The name of the alias", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "alias", - "description": "The name of the alias", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "alias", - "description": "The name of the alias", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Get a registered model.\n\nThe caller must be a metastore admin or an owner of (or have the **EXECUTE**\nprivilege on) the registered model. For the latter case, the caller must also be the owner\nor have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege\non the parent schema.", - "summary": "Get a Registered Model.", - "path": "/api/2.1/unity-catalog/models/{full_name}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetRegisteredModelRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "name", + "description": "The name of the secret, relative to its parent schema.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "RegisteredModelInfo", - "is_object": true - }, "all_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -178030,16 +186244,8 @@ } }, { - "name": "include_aliases", - "description": "Whether to include registered model aliases in the response", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "include_browse", - "description": "Whether to include registered models in the response for which the principal can only access selective metadata for", + "name": "include_value", + "description": "Whether to include the secret value in the response. Defaults to false. Requires the\n**READ_SECRET** privilege.", "is_query": true, "entity": { "is_bool": true @@ -178049,7 +186255,7 @@ "required_positional_arguments": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -178059,41 +186265,33 @@ ] }, { - "name": "List", - "description": "List registered models. You can list registered models under a particular schema,\nor list all registered models 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 registered models.\nA regular user needs to be the owner or have the **EXECUTE** privilege\non the registered model to receive the registered models 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.\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 Registered Models.", - "path": "/api/2.1/unity-catalog/models", + "name": "ListSecrets", + "description": "Lists secrets in Unity Catalog.\n\nYou must be a metastore admin, the owner of the secret, or have the\n**MANAGE** privilege on the secret.\n\nBoth **catalog_name** and **schema_name** must be specified together to filter secrets within\na specific schema. Results are paginated; use the **page_token** field from the response\nto retrieve subsequent pages.", + "summary": "List secrets.", + "path": "/api/2.1/unity-catalog/secrets", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListRegisteredModelsRequest", + "pascal_name": "ListSecretsRequest", "is_object": true }, "response": { - "pascal_name": "ListRegisteredModelsResponse", + "pascal_name": "ListSecretsResponse", "is_object": true }, "all_fields": [ { "name": "catalog_name", - "description": "The identifier of the catalog under which to list registered models.\nIf specified, schema_name must be specified.", + "description": "The name of the catalog under which to list secrets. Both **catalog_name** and\n**schema_name** must be specified together.", "is_query": true, "entity": { "is_string": true } }, { - "name": "include_browse", - "description": "Whether to include registered models in the response for which the principal can only access selective metadata for", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Max number of registered models to return.\n\nIf both catalog and schema are specified:\n- when max_results is not specified, the page length is set to a server configured value (10000, as of 4/2/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 4/2/2024);\n- when set to 0, the page length is set to a server configured value (10000, as of 4/2/2024);\n- when set to a value less than 0, an invalid parameter error is returned;\n\nIf neither schema nor catalog is specified:\n- when max_results is not specified, the page length is set to a server configured value (100, as of 4/2/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (1000, as of 4/2/2024);\n- when set to 0, the page length is set to a server configured value (100, as of 4/2/2024);\n- when set to a value less than 0, an invalid parameter error is returned;", + "name": "page_size", + "description": "Maximum number of secrets to return.\n\n- If not specified, at most 1000 secrets are returned.\n- If set to a value greater than 0, the page length is the minimum of this value and 1000.\n- If set to 0, the page length is set to 1000.\n- If set to a value less than 0, an invalid parameter error is returned.", "is_query": true, "entity": { "is_int": true @@ -178101,7 +186299,7 @@ }, { "name": "page_token", - "description": "Opaque token to send for the next page of results (pagination).", + "description": "Opaque pagination token to go to the next page based on previous query. The maximum page length\nis determined by a server configured value.", "is_query": true, "entity": { "is_string": true @@ -178109,7 +186307,7 @@ }, { "name": "schema_name", - "description": "The identifier of the schema under which to list registered models.\nIf specified, catalog_name must be specified.", + "description": "The name of the schema under which to list secrets. Both **catalog_name** and\n**schema_name** must be specified together.", "is_query": true, "entity": { "is_string": true @@ -178120,7 +186318,7 @@ "token": { "poll_field": { "name": "page_token", - "description": "Opaque token to send for the next page of results (pagination).", + "description": "Opaque pagination token to go to the next page based on previous query. The maximum page length\nis determined by a server configured value.", "is_query": true, "entity": { "is_string": true @@ -178130,22 +186328,23 @@ } }, { - "name": "SetAlias", - "description": "Set an alias on the specified registered model.\n\nThe caller must be a metastore admin or an owner of the registered model.\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.", - "summary": "Set a Registered Model Alias.", - "path": "/api/2.1/unity-catalog/models/{full_name}/aliases/{alias}", + "name": "UpdateSecret", + "description": "Updates an existing secret in Unity Catalog.\n\nYou must be the owner of the secret or a metastore admin. If you are a metastore\nadmin, only the **owner** field can be changed.\n\nUse the **update_mask** field to specify which fields to update. Supported updatable fields\ninclude **value**, **comment**, **owner**, and **expire_time**.", + "summary": "Update a secret.", + "path": "/api/2.1/unity-catalog/secrets/{full_name}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SetRegisteredModelAliasRequest", + "pascal_name": "UpdateSecretRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -178153,28 +186352,29 @@ } }, { - "name": "alias", - "description": "The name of the alias", + "name": "secret", + "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Secret", + "is_object": true } }, { - "name": "version_num", - "description": "The version number of the model version to which the alias points", + "name": "update_mask", + "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_int": true + "is_field_mask": true } } ], "required_in_url_fields": [ { "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -178182,35 +186382,200 @@ } }, { - "name": "alias", - "description": "The name of the alias", + "name": "update_mask", + "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_request_body_fields": [ { - "name": "version_num", - "description": "The version number of the model version to which the alias points", + "name": "secret", + "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", "required": true, "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "Secret", + "is_object": true } } ] }, + "request_body_field": { + "name": "secret", + "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Secret", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, "response": { - "pascal_name": "RegisteredModelAlias", - "is_object": true + "pascal_name": "Secret", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "alias", - "description": "The name of the alias", + "name": "full_name", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", "required": true, "is_path": true, "entity": { @@ -178218,227 +186583,288 @@ } }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "secret", + "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Secret", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "version_num", - "description": "The version number of the model version to which the alias points", + "name": "update_mask", + "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_int": true + "is_field_mask": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "alias", - "description": "The name of the alias", - "required": true, - "is_path": true, + "name": "comment", + "description": "User-provided free-form text description of the secret.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "version_num", - "description": "The version number of the model version to which the alias points", - "required": true, + "name": "create_time", + "description": "The time at which this secret was created.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates the specified registered model.\n\nThe caller must be a metastore admin or an owner of the registered model.\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\nCurrently only the name, the owner or the comment of the registered model can be updated.", - "summary": "Update a Registered Model.", - "path": "/api/2.1/unity-catalog/models/{full_name}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "UpdateRegisteredModelRequest", - "is_object": true, - "required_fields": [ - { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "is_timestamp": true } - ] - }, - "response": { - "pascal_name": "RegisteredModelInfo", - "is_object": true - }, - "all_fields": [ + }, { - "name": "aliases", - "description": "List of aliases associated with the registered model", + "name": "created_by", + "description": "The principal that created the secret.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "RegisteredModelAliasList", - "array_value": { - "pascal_name": "RegisteredModelAlias", - "is_object": true - } + "is_string": true } }, { - "name": "browse_only", - "description": "Indicates whether the principal is limited to retrieving metadata for the associated object through the BROWSE privilege when include_browse is enabled in the request.", + "name": "effective_owner", + "description": "The effective owner of the secret, which may differ from the directly-set **owner** due to\ninheritance.", "is_output_only": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the registered model reside", + "name": "effective_value", + "description": "The secret value. Only populated in responses when you have the **READ_SECRET**\nprivilege and **include_value** is set to true in the request. The maximum size is 60 KiB.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "comment", - "description": "The comment attached to the registered model", + "name": "expire_time", + "description": "User-provided expiration time of the secret. This field indicates when the secret should no\nlonger be used and may be displayed as a warning in the UI. It is purely informational and\ndoes not trigger any automatic actions or affect the secret's lifecycle.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "created_at", - "description": "Creation timestamp of the registered model in milliseconds since the Unix epoch", + "name": "full_name", + "description": "The three-level (fully qualified) name of the secret, in the form of **catalog_name.schema_name.secret_name**.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "created_by", - "description": "The identifier of the user who created the registered model", + "name": "metastore_id", + "description": "Unique identifier of the metastore hosting the secret.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "name", + "description": "The name of the secret, relative to its parent schema.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "metastore_id", - "description": "The unique identifier of the metastore", + "name": "owner", + "description": "The owner of the secret. Defaults to the creating principal on creation. Can be updated to\ntransfer ownership of the secret to another principal.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "The name of the registered model", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "new_name", - "description": "New name for the registered model.", + "name": "update_time", + "description": "The time at which this secret was last updated.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "is_timestamp": true } }, { - "name": "owner", - "description": "The identifier of the user who owns the registered model", + "name": "updated_by", + "description": "The principal that last updated the secret.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "The name of the schema where the registered model resides", + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } + } + ], + "required_positional_arguments": [ + { + "name": "full_name", + "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } }, { - "name": "storage_location", - "description": "The storage location on the cloud under which model version data files are stored", + "name": "update_mask", + "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "name", + "description": "The name of the secret, relative to its parent schema.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "updated_at", - "description": "Last-update timestamp of the registered model in milliseconds since the Unix epoch", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the secret reside.", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "updated_by", - "description": "The identifier of the user who updated the registered model last time", + "name": "schema_name", + "description": "The name of the schema where the secret resides.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the registered model", + "name": "value", + "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -178448,193 +186874,274 @@ ] }, { - "id": "workspace.Repos", - "name": "Repos", - "description": "The Repos API allows users to manage their git repos. Users can use the API to access all\nrepos that they have manage permissions on.\n\nDatabricks Repos is a visual Git client in Databricks. It supports common Git operations\nsuch a cloning a repository, committing and pushing, pulling, branch management, and visual\ncomparison of diffs when committing.\n\nWithin Repos you can develop code in notebooks or other files and follow data science and\nengineering code development best practices using Git for version control, collaboration,\nand CI/CD.", + "id": "oauth2.ServicePrincipalFederationPolicy", + "name": "ServicePrincipalFederationPolicy", + "description": "These APIs manage service principal federation policies.\n\nService principal federation, also known as Workload Identity Federation, allows your automated workloads running outside of Databricks to securely access Databricks APIs without the need for Databricks secrets. With Workload Identity Federation, your application (or workload) authenticates to Databricks as a Databricks service principal, using tokens provided by the workload runtime.\n\nDatabricks strongly recommends using Workload Identity Federation to authenticate to Databricks from automated workloads, over alternatives such as OAuth client secrets or Personal Access Tokens, whenever possible. Workload Identity Federation is supported by many popular services, including Github Actions, Azure DevOps, GitLab, Terraform Cloud, and Kubernetes clusters, among others.\n\nWorkload identity federation is configured in your Databricks account using a service principal federation policy. A service principal federation policy specifies:\n* which IdP, or issuer, the service principal is allowed to authenticate from\n* which workload identity, or subject, is allowed to authenticate as the Databricks service principal\n\nTo configure a federation policy, you provide the following:\n* The required token __issuer__, as specified in the “iss” claim of workload identity tokens. The issuer is an https URL that identifies the workload identity provider.\n* The required token __subject__, as specified in the “sub” claim of workload identity tokens. The subject uniquely identifies the workload in the workload runtime environment.\n* The allowed token __audiences__, as specified in the “aud” claim of workload identity tokens. The audience is intended to represent the recipient of the token. As long as the audience in the token matches at least one audience in the policy, the token is considered a match. If unspecified, the default value is your Databricks account id.\n* Optionally, the public keys used to validate the signature of the workload identity tokens, in JWKS format. If unspecified (recommended), Databricks automatically fetches the public keys from the issuer’s well known endpoint. Databricks strongly recommends relying on the issuer’s well known endpoint for discovering public keys.\n\nAn example service principal federation policy, for a Github Actions workload, is:\n```\nissuer: \"https://token.actions.githubusercontent.com\"\naudiences: [\"https://github.com/my-github-org\"]\nsubject: \"repo:my-github-org/my-repo:environment:prod\"\n```\n\nAn example JWT token body that matches this policy and could be used to authenticate to Databricks is:\n```\n{\n\"iss\": \"https://token.actions.githubusercontent.com\",\n\"aud\": \"https://github.com/my-github-org\",\n\"sub\": \"repo:my-github-org/my-repo:environment:prod\"\n}\n```\n\nYou may also need to configure the workload runtime to generate tokens for your workloads.\n\nYou do not need to configure an OAuth application in Databricks to use token federation.", "package": { - "name": "workspace" + "name": "oauth2" }, - "docs_group": "workspace", + "is_accounts": true, + "docs_group": "oauth2", "launch_stage": "GA", "cli_launch_stage_display": "GA", "list": { - "named_id_map": { - "pascal_name": "RepoInfoPathToIdMap" - }, "request": { - "pascal_name": "ListReposRequest" + "pascal_name": "ListServicePrincipalFederationPoliciesRequest" } }, "methods": [ { "name": "Create", - "description": "Creates a repo in the workspace and links it to the remote Git repo specified.\nNote that repos created programmatically must be linked to a remote Git repo, unlike repos\ncreated in the browser.", - "summary": "Create a repo.", - "path": "/api/2.0/repos", + "description": "Create account federation policy.", + "summary": "Create service principal federation policy.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateRepoRequest", + "pascal_name": "CreateServicePrincipalFederationPolicyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "url", - "description": "URL of the Git repository to be linked.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "name": "policy", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "FederationPolicy", + "is_object": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "url", - "description": "URL of the Git repository to be linked.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", + "name": "policy", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "FederationPolicy", + "is_object": true } } ] }, + "request_body_field": { + "name": "policy", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + }, "response": { - "pascal_name": "CreateRepoResponse", + "pascal_name": "FederationPolicy", "is_object": true }, "all_fields": [ { - "name": "git_credential_id", - "description": "Git credential ID to use when cloning the repository. The Git credential must be\nconfigured for the current user.", + "name": "policy", + "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy. The identifier must contain only lowercase\nalphanumeric characters, numbers, hyphens, and slashes. If unspecified, the id will be\nassigned by Databricks.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", + "required": true, + "is_path": true, "entity": { "is_int64": true } }, { - "name": "path", - "description": "Desired path for the repo in the workspace. Almost any path in the workspace can be chosen.\nIf repo is created in `/Repos`, path must be in the format `/Repos/{folder}/{repo-name}`.", + "name": "create_time", + "description": "Creation time of the federation policy.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", - "required": true, + "name": "description", + "description": "Description of the federation policy.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sparse_checkout", - "description": "If specified, the repo will be created with sparse checkout enabled. You cannot enable/disable\nsparse checkout after the repo is created.", + "name": "name", + "description": "Resource name for the federation policy. Example values include\n`accounts/\u003caccount-id\u003e/federationPolicies/my-federation-policy` for Account Federation Policies, and\n`accounts/\u003caccount-id\u003e/servicePrincipals/\u003cservice-principal-id\u003e/federationPolicies/my-federation-policy`\nfor Service Principal Federation Policies. Typically an output parameter, which does not need to be\nspecified in create or update requests. If specified in a request, must match the value in the\nrequest URL.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "oidc_policy", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "SparseCheckout", + "pascal_name": "OidcFederationPolicy", "is_object": true } }, { - "name": "url", - "description": "URL of the Git repository to be linked.", - "required": true, + "name": "policy_id", + "description": "The ID of the federation policy. Output only.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "url", - "description": "URL of the Git repository to be linked.", - "required": true, + "name": "service_principal_id", + "description": "The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "uid", + "description": "Unique, immutable id of the federation policy.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "provider", - "description": "Git provider. This field is case-insensitive. The available Git providers are `gitHub`,\n`bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including\nMicrosoft Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket\nData Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit`\n(deprecated by AWS, not accepting new customers).", - "required": true, + "name": "update_time", + "description": "Last update time of the federation policy.", + "is_computed": true, + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } } + ], + "required_positional_arguments": [ + { + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } ] }, { "name": "Delete", - "description": "Deletes the specified repo.", - "summary": "Delete a repo.", - "path": "/api/2.0/repos/{repo_id}", + "description": "Delete account federation policy.", + "summary": "Delete service principal federation policy.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies/{policy_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteRepoRequest", + "pascal_name": "DeleteServicePrincipalFederationPolicyRequest", "is_object": true, "required_fields": [ { - "name": "repo_id", - "description": "The ID for the corresponding repo to delete.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "The ID for the corresponding repo to delete.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, "response": { - "pascal_name": "DeleteRepoResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "repo_id", - "description": "The ID for the corresponding repo to delete.", + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { @@ -178644,59 +187151,95 @@ ], "required_positional_arguments": [ { - "name": "repo_id", - "description": "The ID for the corresponding repo to delete.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, { "name": "Get", - "description": "Returns the repo with the given repo ID.", - "summary": "Get a repo.", - "path": "/api/2.0/repos/{repo_id}", + "description": "Get account federation policy.", + "summary": "Get service principal federation policy.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies/{policy_id}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetRepoRequest", + "pascal_name": "GetServicePrincipalFederationPolicyRequest", "is_object": true, "required_fields": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, "response": { - "pascal_name": "GetRepoResponse", + "pascal_name": "FederationPolicy", "is_object": true }, "all_fields": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { @@ -178706,201 +187249,366 @@ ], "required_positional_arguments": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get repo permission levels.", - "path": "/api/2.0/permissions/repos/{repo_id}/permissionLevels", + "name": "List", + "description": "List account federation policies.", + "summary": "List service principal federation policies.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetRepoPermissionLevelsRequest", + "pascal_name": "ListServicePrincipalFederationPoliciesRequest", "is_object": true, "required_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "GetRepoPermissionLevelsResponse", + "pascal_name": "ListFederationPoliciesResponse", "is_object": true }, "all_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "GetPermissions", - "description": "Gets the permissions of a repo. Repos can inherit permissions from their root object.", - "summary": "Get repo permissions.", - "path": "/api/2.0/permissions/repos/{repo_id}", + "name": "Update", + "description": "Update account federation policy.", + "summary": "Update service principal federation policy.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies/{policy_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetRepoPermissionsRequest", + "pascal_name": "UpdateServicePrincipalFederationPolicyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "policy", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "policy", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "policy", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + }, "response": { - "pascal_name": "RepoPermissions", + "pascal_name": "FederationPolicy", "is_object": true }, "all_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "policy", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "FederationPolicy", + "is_object": true + } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - } - ] - }, - { - "name": "List", - "description": "Returns repos that the calling user has Manage permissions on.\nUse `next_page_token` to iterate through additional pages.\n\nDeprecated: This operation does not return a complete list of the repos in the workspace, because\nrepos with the Git CLI enabled are not included in its results. Instead, use the Repos and\nWorkspace APIs to find repos and their associated metadata in the workspace.", - "summary": "Get repos.", - "path": "/api/2.0/repos", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListReposRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListReposResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "next_page_token", - "description": "Token used to get the next page of results. If not specified, returns the first page of\nresults as well as a next page token if there are more results.", + "name": "update_mask", + "description": "The field mask specifies which fields of the policy to update. To specify multiple fields\nin the field mask, use comma as the separator (no space). The special value '*' indicates\nthat all fields should be updated (full replacement). If unspecified, all fields that are\nset in the policy provided in the update request will overwrite the corresponding fields\nin the existing policy. Example value: 'description,oidc_policy.audiences'.", "is_query": true, "entity": { "is_string": true } }, { - "name": "path_prefix", - "description": "Filters repos that have paths starting with the given path prefix.\nIf not provided or when provided an effectively empty prefix (`/` or `/Workspace`)\nGit folders (repos) from `/Workspace/Repos` will be served.", - "is_query": true, + "name": "create_time", + "description": "Creation time of the federation policy.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "description", + "description": "Description of the federation policy.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Resource name for the federation policy. Example values include\n`accounts/\u003caccount-id\u003e/federationPolicies/my-federation-policy` for Account Federation Policies, and\n`accounts/\u003caccount-id\u003e/servicePrincipals/\u003cservice-principal-id\u003e/federationPolicies/my-federation-policy`\nfor Service Principal Federation Policies. Typically an output parameter, which does not need to be\nspecified in create or update requests. If specified in a request, must match the value in the\nrequest URL.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "oidc_policy", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "OidcFederationPolicy", + "is_object": true + } + }, + { + "name": "policy_id", + "description": "The ID of the federation policy. Output only.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "service_principal_id", + "description": "The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "uid", + "description": "Unique, immutable id of the federation policy.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "Last update time of the federation policy.", + "is_computed": true, + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "next_page_token", - "description": "Token used to get the next page of results. If not specified, returns the first page of\nresults as well as a next page token if there are more results.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "service_principal_id", + "description": "The service principal id for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "policy_id", + "description": "The identifier for the federation policy.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } - }, + ] + } + ] + }, + { + "id": "oauth2.ServicePrincipalSecrets", + "name": "ServicePrincipalSecrets", + "description": "These APIs enable administrators to manage service principal secrets.\n\nYou can use the generated secrets to obtain OAuth access tokens for a service principal, which can then be used to access Databricks Accounts and Workspace APIs. For more information, see [Authentication using OAuth tokens for service principals](https://docs.databricks.com/dev-tools/authentication-oauth.html).\n\nIn addition, the generated secrets can be used to configure the Databricks Terraform Provider to authenticate with the service principal. For more information, see [Databricks Terraform Provider](https://github.com/databricks/terraform-provider-databricks/blob/master/docs/index.md#authenticating-with-service-principal).", + "package": { + "name": "oauth2" + }, + "is_accounts": true, + "docs_group": "oauth2", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListServicePrincipalSecretsRequest" + } + }, + "methods": [ { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set repo permissions.", - "path": "/api/2.0/permissions/repos/{repo_id}", + "name": "Create", + "description": "Create a secret for the given service principal.", + "summary": "Create service principal secret.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/credentials/secrets", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RepoPermissionsRequest", + "pascal_name": "CreateServicePrincipalSecretRequest", "is_object": true, "required_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -178910,8 +187618,8 @@ ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -178921,24 +187629,21 @@ ] }, "response": { - "pascal_name": "RepoPermissions", + "pascal_name": "CreateServicePrincipalSecretResponse", "is_object": true }, "all_fields": [ { - "name": "access_control_list", + "name": "lifetime", + "description": "The lifetime of the secret in seconds. If this parameter is not provided, the secret will have a default lifetime of 730 days (63072000s).", "is_request_body_field": true, "entity": { - "pascal_name": "RepoAccessControlRequestList", - "array_value": { - "pascal_name": "RepoAccessControlRequest", - "is_object": true - } + "is_string": true } }, { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -178948,8 +187653,8 @@ ], "required_positional_arguments": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -178959,93 +187664,160 @@ ] }, { - "name": "Update", - "description": "Updates the repo to a different branch or tag, or updates the repo to the latest commit on\nthe same branch.", - "summary": "Update a repo.", - "path": "/api/2.0/repos/{repo_id}", - "can_use_json": true, + "name": "Delete", + "description": "Delete a secret from the given service principal.", + "summary": "Delete service principal secret.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/credentials/secrets/{secret_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateRepoRequest", + "pascal_name": "DeleteServicePrincipalSecretRequest", "is_object": true, "required_fields": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "secret_id", + "description": "The secret ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "secret_id", + "description": "The secret ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ] }, "response": { - "pascal_name": "UpdateRepoResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "branch", - "description": "Branch that the local version of the repo is checked out to.", - "is_request_body_field": true, + "name": "secret_id", + "description": "The secret ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "dangerously_force_discard_all", - "description": "WARNING: DESTRUCTIVE AND IRREVERSIBLE. If true, permanently deletes ALL uncommitted\nchanges in the Git folder — staged, unstaged, and untracked files — before updating.\nLost data CANNOT be recovered.\n\nNEVER use this on Git folders where users author or edit files. This flag is intended\nONLY for automated jobs that treat the Git folder as a read-only mirror of a remote\nbranch and need to force-sync it. If any user has uncommitted work in the Git folder,\nthat work will be permanently destroyed without warning.\n\nLocal commits that have been made but not yet pushed to the remote are preserved.", - "is_request_body_field": true, + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "git_credential_id", - "description": "Git credential ID to use for this update operation. The Git credential must be\nconfigured for the current user.", - "is_request_body_field": true, + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "secret_id", + "description": "The secret ID.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true + } + } + ] + }, + { + "name": "List", + "description": "List all secrets associated with the given service principal. This operation only returns information about the secrets themselves and does not include the secret values.", + "summary": "List service principal secrets.", + "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/credentials/secrets", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListServicePrincipalSecretsRequest", + "is_object": true, + "required_fields": [ + { + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListServicePrincipalSecretsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "is_query": true, + "entity": { + "is_int": true } }, { - "name": "sparse_checkout", - "description": "If specified, update the sparse checkout settings. The update will fail if sparse checkout is\nnot enabled for the repo.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "page_token", + "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", + "is_query": true, "entity": { - "pascal_name": "SparseCheckoutUpdate", - "is_object": true + "is_string": true } }, { - "name": "tag", - "description": "Tag that the local version of the repo is checked out to. Updating the repo to a tag puts\nthe repo in a detached HEAD state. Before committing new changes, you must update the repo to\na branch instead of the detached HEAD.", - "is_request_body_field": true, + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -179053,32 +187825,63 @@ ], "required_positional_arguments": [ { - "name": "repo_id", - "description": "ID of the Git folder (repo) object in the workspace.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } - ] - }, + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + } + ] + }, + { + "id": "oauth2.ServicePrincipalSecretsProxy", + "name": "ServicePrincipalSecretsProxy", + "description": "These APIs enable administrators to manage service principal secrets at the workspace level. To use these APIs, the service principal must be first added to the current workspace.\n\nYou can use the generated secrets to obtain OAuth access tokens for a service principal, which can then be used to access Databricks Accounts and Workspace APIs. For more information, see [Authentication using OAuth tokens for service principals](https://docs.databricks.com/dev-tools/authentication-oauth.html).\n\nIn addition, the generated secrets can be used to configure the Databricks Terraform Providerto authenticate with the service principal. For more information, see [Databricks Terraform Provider](https://github.com/databricks/terraform-provider-databricks/blob/master/docs/index.md#authenticating-with-service-principal).", + "package": { + "name": "oauth2" + }, + "docs_group": "oauth2", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListServicePrincipalSecretsRequest" + } + }, + "methods": [ { - "name": "UpdatePermissions", - "description": "Updates the permissions on a repo. Repos can inherit permissions from their root object.", - "summary": "Update repo permissions.", - "path": "/api/2.0/permissions/repos/{repo_id}", + "name": "Create", + "description": "Create a secret for the given service principal.", + "summary": "Create service principal secret.", + "path": "/api/2.0/accounts/servicePrincipals/{service_principal_id}/credentials/secrets", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RepoPermissionsRequest", + "pascal_name": "CreateServicePrincipalSecretRequest", "is_object": true, "required_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179088,8 +187891,8 @@ ], "required_in_url_fields": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179099,24 +187902,21 @@ ] }, "response": { - "pascal_name": "RepoPermissions", + "pascal_name": "CreateServicePrincipalSecretResponse", "is_object": true }, "all_fields": [ { - "name": "access_control_list", + "name": "lifetime", + "description": "The lifetime of the secret in seconds. If this parameter is not provided, the secret will have a default lifetime of 730 days (63072000s).", "is_request_body_field": true, - "entity": { - "pascal_name": "RepoAccessControlRequestList", - "array_value": { - "pascal_name": "RepoAccessControlRequest", - "is_object": true - } + "entity": { + "is_string": true } }, { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179126,8 +187926,8 @@ ], "required_positional_arguments": [ { - "name": "repo_id", - "description": "The repo for which to get or manage permissions.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179135,50 +187935,22 @@ } } ] - } - ] - }, - { - "id": "catalog.ResourceQuotas", - "name": "ResourceQuotas", - "description": "Unity Catalog enforces resource quotas on all securable objects, which limits the number of resources that can be created. Quotas are expressed in terms of a resource type and a parent (for example, tables per metastore or schemas per catalog). The resource quota APIs enable you to monitor your current usage and limits. For more information on resource quotas see the [Unity Catalog documentation](https://docs.databricks.com/en/data-governance/unity-catalog/index.html#resource-quotas).", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListQuotasRequest" - } - }, - "methods": [ + }, { - "name": "GetQuota", - "description": "The GetQuota API returns usage information for a single resource quota, defined as a\nchild-parent pair. This API also refreshes the quota count if it is out of date.\nRefreshes are triggered asynchronously. The updated count might not be returned in the first call.", - "summary": "Get information for a single resource quota.", - "path": "/api/2.1/unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}", - "is_crud_read": true, + "name": "Delete", + "description": "Delete a secret from the given service principal.", + "summary": "Delete service principal secret.", + "path": "/api/2.0/accounts/servicePrincipals/{service_principal_id}/credentials/secrets/{secret_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetQuotaRequest", + "pascal_name": "DeleteServicePrincipalSecretRequest", "is_object": true, "required_fields": [ { - "name": "parent_securable_type", - "description": "Securable type of the quota parent.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent_full_name", - "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179186,8 +187958,8 @@ } }, { - "name": "quota_name", - "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", + "name": "secret_id", + "description": "The secret ID.", "required": true, "is_path": true, "entity": { @@ -179197,17 +187969,8 @@ ], "required_in_url_fields": [ { - "name": "parent_securable_type", - "description": "Securable type of the quota parent.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent_full_name", - "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179215,8 +187978,8 @@ } }, { - "name": "quota_name", - "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", + "name": "secret_id", + "description": "The secret ID.", "required": true, "is_path": true, "entity": { @@ -179226,22 +187989,12 @@ ] }, "response": { - "pascal_name": "GetQuotaResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "parent_full_name", - "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent_securable_type", - "description": "Securable type of the quota parent.", + "name": "secret_id", + "description": "The secret ID.", "required": true, "is_path": true, "entity": { @@ -179249,8 +188002,8 @@ } }, { - "name": "quota_name", - "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179260,17 +188013,8 @@ ], "required_positional_arguments": [ { - "name": "parent_securable_type", - "description": "Securable type of the quota parent.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "parent_full_name", - "description": "Full name of the parent resource. Provide the metastore ID if the parent is a metastore.", + "name": "service_principal_id", + "description": "The service principal ID.", "required": true, "is_path": true, "entity": { @@ -179278,8 +188022,8 @@ } }, { - "name": "quota_name", - "description": "Name of the quota. Follows the pattern of the quota type, with \"-quota\" added as a suffix.", + "name": "secret_id", + "description": "The secret ID.", "required": true, "is_path": true, "entity": { @@ -179289,25 +188033,46 @@ ] }, { - "name": "ListQuotas", - "description": "ListQuotas returns all quota values under the metastore. There are no SLAs on the freshness of the counts\nreturned. This API does not trigger a refresh of quota counts.\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 all resource quotas under a metastore.", - "path": "/api/2.1/unity-catalog/resource-quotas/all-resource-quotas", + "name": "List", + "description": "List all secrets associated with the given service principal. This operation only returns information about the secrets themselves and does not include the secret values.", + "summary": "List service principal secrets.", + "path": "/api/2.0/accounts/servicePrincipals/{service_principal_id}/credentials/secrets", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListQuotasRequest", - "is_object": true + "pascal_name": "ListServicePrincipalSecretsRequest", + "is_object": true, + "required_fields": [ + { + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListQuotasResponse", + "pascal_name": "ListServicePrincipalSecretsResponse", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "The number of quotas to return.", + "name": "page_size", "is_query": true, "entity": { "is_int": true @@ -179315,18 +188080,38 @@ }, { "name": "page_token", - "description": "Opaque token for the next page of results.", + "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", "is_query": true, "entity": { "is_string": true } + }, + { + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "service_principal_id", + "description": "The service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], "pagination": { "token": { "poll_field": { "name": "page_token", - "description": "Opaque token for the next page of results.", + "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", "is_query": true, "entity": { "is_string": true @@ -179338,119 +188123,192 @@ ] }, { - "id": "settings.RestrictWorkspaceAdmins", - "name": "RestrictWorkspaceAdmins", - "description": "The Restrict Workspace Admins setting lets you control the capabilities of workspace admins.\nWith the setting status set to ALLOW_ALL, workspace admins can create service principal personal access\ntokens on behalf of any service principal in their workspace. Workspace admins can also change a job owner to\nany user in their workspace. And they can change the job run_as setting to any user in their workspace or to a\nservice principal on which they have the Service Principal User role. With the setting status set to RESTRICT_TOKENS_AND_JOB_RUN_AS,\nworkspace admins can only create personal access tokens on behalf of service principals they have the\nService Principal User role on. They can also only change a job owner to themselves. And they can change the job\nrun_as setting to themselves or to a service principal on which they have the Service Principal User role.", + "id": "iam.ServicePrincipalsV2", + "name": "ServicePrincipalsV2", + "description": "Identities for use with jobs, automated tools, and systems such as scripts, apps, and\nCI/CD platforms. Databricks recommends creating service principals to run production jobs\nor modify production data. If all processes that act on production data run with service\nprincipals, interactive users do not need any write, delete, or modify privileges in\nproduction. This eliminates the risk of a user overwriting production data by accident.", "package": { - "name": "settings" + "name": "iam" }, - "has_parent": true, - "docs_group": "settings", + "docs_group": "iam", "launch_stage": "PUBLIC_PREVIEW", "cli_launch_stage_label": "*Public Preview*", "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", - "parent_service_id": "settings.Settings", + "list": { + "request": { + "pascal_name": "ListServicePrincipalsRequest" + } + }, "methods": [ { - "name": "Delete", - "description": "Reverts the restrict workspace admins setting status for the workspace. A fresh etag needs\nto be provided in `DELETE` requests (as a query parameter). The etag can be retrieved by making a `GET` request\nbefore the DELETE request. If the setting is updated/deleted concurrently, `DELETE` fails with 409 and the\nrequest must be retried by using the fresh etag in the 409 response.", - "summary": "Delete the restrict workspace admins setting.", - "path": "/api/2.0/settings/types/restrict_workspace_admins/names/default", + "name": "Create", + "description": "Creates a new service principal in the Databricks workspace.", + "summary": "Create a service principal.", + "path": "/api/2.0/preview/scim/v2/ServicePrincipals", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "PUBLIC_PREVIEW", "cli_launch_stage_label": "*Public Preview*", "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteRestrictWorkspaceAdminsSettingRequest", + "pascal_name": "CreateServicePrincipalRequest", "is_object": true }, "response": { - "pascal_name": "DeleteRestrictWorkspaceAdminsSettingResponse", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true + }, + "all_fields": [ + { + "name": "active", + "description": "If this user is active", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "applicationId", + "description": "UUID relating to the service principal", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "displayName", + "description": "String that represents a concatenation of given and family names.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entitlements", + "description": "Entitlements assigned to the service principal. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true } } - ], - "required_request_body_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + }, + { + "name": "externalId", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "groups", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true } } - ] - }, - "all_fields": [ + }, { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, + "name": "id", + "description": "Databricks service principal ID.", + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "roles", + "description": "Corresponds to AWS instance profile/arn role.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } + } + }, + { + "name": "schemas", + "description": "The schema of the List response.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipalSchemaList", + "array_value": { + "pascal_name": "ServicePrincipalSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal" + } + ] + } + } } ] }, { - "name": "Get", - "description": "Gets the restrict workspace admins setting.", - "summary": "Get the restrict workspace admins setting.", - "path": "/api/2.0/settings/types/restrict_workspace_admins/names/default", - "is_crud_read": true, + "name": "Delete", + "description": "Delete a single service principal in the Databricks workspace.", + "summary": "Delete a service principal.", + "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", "has_required_positional_arguments": true, "launch_stage": "PUBLIC_PREVIEW", "cli_launch_stage_label": "*Public Preview*", "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetRestrictWorkspaceAdminsSettingRequest", - "is_object": true - }, - "response": { - "pascal_name": "RestrictWorkspaceAdminsSetting", + "pascal_name": "DeleteServicePrincipalRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "restrict_workspace_admins", + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "RestrictWorkspaceAdminsMessage", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "restrict_workspace_admins", + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "RestrictWorkspaceAdminsMessage", - "is_object": true + "is_string": true } } ] }, + "response": { + "is_empty_response": true + }, "all_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -179458,73 +188316,36 @@ ] }, { - "name": "Update", - "description": "Updates the restrict workspace admins setting for the workspace. A fresh etag needs\nto be provided in `PATCH` requests (as part of the setting field). The etag can be retrieved by making a GET\nrequest before the `PATCH` request. If the setting is updated concurrently, `PATCH` fails with 409 and the\nrequest must be retried by using the fresh etag in the 409 response.", - "summary": "Update the restrict workspace admins setting.", - "path": "/api/2.0/settings/types/restrict_workspace_admins/names/default", - "can_use_json": true, - "must_use_json": true, + "name": "Get", + "description": "Gets the details for a single service principal define in the Databricks workspace.", + "summary": "Get service principal details.", + "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", + "is_crud_read": true, + "has_required_positional_arguments": true, "launch_stage": "PUBLIC_PREVIEW", "cli_launch_stage_label": "*Public Preview*", "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "UpdateRestrictWorkspaceAdminsSettingRequest", + "pascal_name": "GetServicePrincipalRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "RestrictWorkspaceAdminsSetting", - "is_object": true - } - }, - { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ - { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "RestrictWorkspaceAdminsSetting", - "is_object": true - } - }, + "required_in_url_fields": [ { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -179532,139 +188353,153 @@ ] }, "response": { - "pascal_name": "RestrictWorkspaceAdminsSetting", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "restrict_workspace_admins", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "RestrictWorkspaceAdminsMessage", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "restrict_workspace_admins", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "RestrictWorkspaceAdminsMessage", - "is_object": true - } - } - ] + "pascal_name": "ServicePrincipal", + "is_object": true }, "all_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "setting", + "name": "id", + "description": "Unique ID for a service principal in the Databricks workspace.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "RestrictWorkspaceAdminsSetting", - "is_object": true + "is_string": true } } ] - } - ] - }, - { - "id": "catalog.Rfa", - "name": "Rfa", - "description": "Request for Access enables users to request access for Unity Catalog securables.\n\nThese APIs provide a standardized way for securable owners (or users with MANAGE privileges) to manage access request destinations.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "methods": [ + }, { - "name": "BatchCreateAccessRequests", - "description": "Creates access requests for Unity Catalog permissions for a specified principal on a securable object.\nThis Batch API can take in multiple principals, securable objects,\nand permissions as the input and returns the access request destinations for each.\nPrincipals must be unique across the API call.\n\nThe supported securable types are: \"metastore\", \"catalog\", \"schema\", \"table\",\n\"external_location\", \"connection\", \"credential\", \"function\", \"registered_model\", and \"volume\".", - "summary": "Create Access Requests.", - "path": "/api/3.0/rfa/requests", - "can_use_json": true, - "is_crud_create": true, + "name": "List", + "description": "Gets the set of service principals associated with a Databricks workspace.", + "summary": "List service principals.", + "path": "/api/2.0/preview/scim/v2/ServicePrincipals", "has_required_positional_arguments": true, "launch_stage": "PUBLIC_PREVIEW", "cli_launch_stage_label": "*Public Preview*", "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "BatchCreateAccessRequestsRequest", + "pascal_name": "ListServicePrincipalsRequest", "is_object": true }, "response": { - "pascal_name": "BatchCreateAccessRequestsResponse", + "pascal_name": "ListServicePrincipalResponse", "is_object": true }, "all_fields": [ { - "name": "requests", - "description": "A list of individual access requests, where each request corresponds to\na set of permissions being requested on a list of securables for a specified principal.\n\nAt most 30 requests per API call.", - "is_request_body_field": true, + "name": "attributes", + "description": "Comma-separated list of attributes to return in response.", + "is_query": true, "entity": { - "pascal_name": "CreateAccessRequestList", - "array_value": { - "pascal_name": "CreateAccessRequest", - "is_object": true - } + "is_string": true + } + }, + { + "name": "count", + "description": "Desired number of results per page.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "excludedAttributes", + "description": "Comma-separated list of attributes to exclude in response.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "filter", + "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "sortBy", + "description": "Attribute to sort the results.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "sortOrder", + "description": "The order to sort the results.", + "is_query": true, + "entity": { + "pascal_name": "ListSortOrder", + "enum": [ + { + "content": "ascending" + }, + { + "content": "descending" + } + ] + } + }, + { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true } } - ] + ], + "pagination": { + "offset": { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + "limit": { + "name": "count", + "description": "Desired number of results per page.", + "is_query": true, + "entity": { + "is_int64": true + } + } + } }, { - "name": "GetAccessRequestDestinations", - "description": "Gets an array of access request destinations for the specified securable.\nAny caller can see URL destinations or the destinations on the metastore.\nOtherwise, only those with **BROWSE** permissions on the securable can see destinations.\n\nThe supported securable types are: \"metastore\", \"catalog\", \"schema\", \"table\",\n\"external_location\", \"connection\", \"credential\", \"function\", \"registered_model\", and \"volume\".", - "summary": "Get Access Request Destinations.", - "path": "/api/3.0/rfa/destinations/{securable_type}/{full_name}", - "is_crud_read": true, + "name": "Patch", + "description": "Partially updates the details of a single service principal in the Databricks workspace.", + "summary": "Update service principal details.", + "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "PUBLIC_PREVIEW", "cli_launch_stage_label": "*Public Preview*", "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetAccessRequestDestinationsRequest", + "pascal_name": "PatchServicePrincipalRequest", "is_object": true, "required_fields": [ { - "name": "securable_type", - "description": "The type of the securable.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "full_name", - "description": "The full name of the securable.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -179674,17 +188509,8 @@ ], "required_in_url_fields": [ { - "name": "securable_type", - "description": "The type of the securable.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "full_name", - "description": "The full name of the securable.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -179694,38 +188520,12 @@ ] }, "response": { - "pascal_name": "AccessRequestDestinations", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "full_name", - "description": "The full name of the securable.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -179733,28 +188533,37 @@ } }, { - "name": "securable_type", - "description": "The type of the securable.", - "required": true, - "is_path": true, + "name": "Operations", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PatchList", + "array_value": { + "pascal_name": "Patch", + "is_object": true + } } - } - ], - "required_positional_arguments": [ + }, { - "name": "securable_type", - "description": "The type of the securable.", - "required": true, - "is_path": true, + "name": "schemas", + "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PatchSchemaList", + "array_value": { + "pascal_name": "PatchSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" + } + ] + } } - }, + } + ], + "required_positional_arguments": [ { - "name": "full_name", - "description": "The full name of the securable.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -179764,10 +188573,10 @@ ] }, { - "name": "UpdateAccessRequestDestinations", - "description": "Updates the access request destinations for the given securable.\nThe caller must be a metastore admin, the owner of the securable, or a user that has the **MANAGE** privilege on the securable in order to assign destinations.\nA maximum of 5 emails and 5 external notification destinations (Slack, Microsoft Teams, and Generic Webhook destinations) can be assigned to a securable.\nIf a URL destination is assigned, no other destinations can be set.\n\nThe supported securable types are: \"metastore\", \"catalog\", \"schema\", \"table\",\n\"external_location\", \"connection\", \"credential\", \"function\", \"registered_model\", and \"volume\".", - "summary": "Update Access Request Destinations.", - "path": "/api/3.0/rfa/destinations", + "name": "Update", + "description": "Updates the details of a single service principal.\n\nThis action replaces the existing service principal with the same name.", + "summary": "Replace service principal.", + "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "PUBLIC_PREVIEW", @@ -179775,25 +188584,14 @@ "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "UpdateAccessRequestDestinationsRequest", + "pascal_name": "UpdateServicePrincipalRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "access_request_destinations", - "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AccessRequestDestinations", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "id", + "description": "Databricks service principal ID.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -179801,387 +188599,230 @@ ], "required_in_url_fields": [ { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "id", + "description": "Databricks service principal ID.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "access_request_destinations", - "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AccessRequestDestinations", - "is_object": true - } - } ] }, - "request_body_field": { - "name": "access_request_destinations", - "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AccessRequestDestinations", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ] - } - }, "response": { - "pascal_name": "AccessRequestDestinations", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "access_request_destinations", - "description": "The access request destinations to assign to the securable.\nFor each destination, a **destination_id** and **destination_type** must be defined.", - "required": true, + "name": "active", + "description": "If this user is active", "is_request_body_field": true, "entity": { - "pascal_name": "AccessRequestDestinations", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } - } - ] + "is_bool": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_query": true, + "name": "applicationId", + "description": "UUID relating to the service principal", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "are_any_destinations_hidden", - "description": "Indicates whether any destinations are hidden from the caller due to a lack of permissions.\nThis value is true if the caller does not have permission to see all destinations.", - "is_output_only": true, + "name": "displayName", + "description": "String that represents a concatenation of given and family names.", "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "destination_source_securable", - "description": "The source securable from which the destinations are inherited. Either the same value as securable (if destination\nis set directly on the securable) or the nearest parent securable with destinations set.", - "is_output_only": true, + "name": "entitlements", + "description": "Entitlements assigned to the service principal. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Securable", - "is_object": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } }, { - "name": "destinations", - "description": "The access request destinations for the securable.", + "name": "externalId", "is_request_body_field": true, "entity": { - "pascal_name": "NotificationDestinationList", + "is_string": true + } + }, + { + "name": "groups", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", "array_value": { - "pascal_name": "NotificationDestination", + "pascal_name": "ComplexValue", "is_object": true } } }, { - "name": "full_name", - "description": "The full name of the securable. Redundant with the name in the securable object, but necessary for Terraform integration", - "is_output_only": true, - "is_request_body_field": true, + "name": "id", + "description": "Databricks service principal ID.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, + "name": "roles", + "description": "Corresponds to AWS instance profile/arn role.", "is_request_body_field": true, "entity": { - "pascal_name": "Securable", - "is_object": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } }, { - "name": "securable_type", - "description": "The type of the securable. Redundant with the type in the securable object, but necessary for Terraform integration", - "is_output_only": true, + "name": "schemas", + "description": "The schema of the List response.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipalSchemaList", + "array_value": { + "pascal_name": "ServicePrincipalSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal" + } + ] + } } } ], "required_positional_arguments": [ { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "id", + "description": "Databricks service principal ID.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "securable", - "description": "The securable for which the access request destinations are being modified or read.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Securable", - "is_object": true - } } ] } ] }, { - "id": "catalog.Schemas", - "name": "Schemas", - "description": "A schema (also called a database) is the second layer of Unity Catalog’s three-level\nnamespace. A schema organizes tables, views, and functions. To access (or list) a table or view in\na schema, users must have the USE_SCHEMA data permission on the schema and its parent catalog,\nand they must have the SELECT permission on the table or view.", + "id": "iam.AccountServicePrincipalsV2", + "name": "AccountServicePrincipalsV2", + "description": "Identities for use with jobs, automated tools, and systems such as scripts, apps, and\nCI/CD platforms. Databricks recommends creating service principals to run production jobs\nor modify production data. If all processes that act on production data run with service\nprincipals, interactive users do not need any write, delete, or modify privileges in\nproduction. This eliminates the risk of a user overwriting production data by accident.", "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListSchemasRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a new schema for catalog in the Metastore.\nThe caller must be a metastore admin, or have the **CREATE_SCHEMA** privilege in the parent catalog.", - "summary": "Create a schema.", - "path": "/api/2.1/unity-catalog/schemas", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateSchema", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "Name of schema, relative to parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "Name of schema, relative to parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "name": "iam" + }, + "is_accounts": true, + "docs_group": "iam", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListAccountServicePrincipalsRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a new service principal in the Databricks account.", + "summary": "Create a service principal.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateAccountServicePrincipalRequest", + "is_object": true }, "response": { - "pascal_name": "SchemaInfo", + "pascal_name": "AccountServicePrincipal", "is_object": true }, "all_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, + "name": "active", + "description": "If this user is active", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "comment", - "description": "User-provided free-form text description.", + "name": "applicationId", + "description": "UUID relating to the service principal", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "custom_max_retention_hours", - "description": "Custom maximum retention period in hours for the schema.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "name", - "description": "Name of schema, relative to parent catalog.", - "required": true, + "name": "displayName", + "description": "String that represents a concatenation of given and family names.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "properties", - "description": "A map of key-value properties attached to the securable.", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "storage_root", - "description": "Storage root URL for managed tables within schema.", + "name": "externalId", "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Name of schema, relative to parent catalog.", - "required": true, + "name": "id", + "description": "Databricks service principal ID.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, + "name": "roles", + "description": "Indicates if the group has the admin role.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } } ] }, { "name": "Delete", - "description": "Deletes the specified schema from the parent catalog.\nThe caller must be the owner of the schema or an owner of the parent catalog.", - "summary": "Delete a schema.", - "path": "/api/2.1/unity-catalog/schemas/{full_name}", + "description": "Delete a single service principal in the Databricks account.", + "summary": "Delete a service principal.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteSchemaRequest", + "pascal_name": "DeleteAccountServicePrincipalRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180191,8 +188832,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180202,22 +188843,12 @@ ] }, "response": { - "pascal_name": "DeleteResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "force", - "description": "Force deletion even if the schema is not empty.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180227,8 +188858,8 @@ ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180239,20 +188870,20 @@ }, { "name": "Get", - "description": "Gets the specified schema within the metastore.\nThe caller must be a metastore admin, the owner of the schema, or a user that has the **USE_SCHEMA** privilege on the schema.", - "summary": "Get a schema.", - "path": "/api/2.1/unity-catalog/schemas/{full_name}", + "description": "Gets the details for a single service principal define in the Databricks account.", + "summary": "Get service principal details.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetSchemaRequest", + "pascal_name": "GetAccountServicePrincipalRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180262,8 +188893,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180273,32 +188904,24 @@ ] }, "response": { - "pascal_name": "SchemaInfo", + "pascal_name": "AccountServicePrincipal", "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "include_browse", - "description": "Whether to include schemas in the response for which the principal can only access selective metadata for", - "is_query": true, - "entity": { - "is_bool": true - } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID for a service principal in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -180309,125 +188932,121 @@ }, { "name": "List", - "description": "Gets an array of schemas for a catalog in the metastore.\nIf the caller is the metastore admin or the owner of the parent catalog, all schemas for the catalog will be retrieved.\nOtherwise, only schemas owned by the caller (or for which the caller has the **USE_SCHEMA** privilege) will be retrieved.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 schemas.", - "path": "/api/2.1/unity-catalog/schemas", + "description": "Gets the set of service principals associated with a Databricks account.", + "summary": "List service principals.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSchemasRequest", - "is_object": true, - "required_fields": [ - { - "name": "catalog_name", - "description": "Parent catalog for schemas of interest.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "catalog_name", - "description": "Parent catalog for schemas of interest.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListAccountServicePrincipalsRequest", + "is_object": true }, "response": { - "pascal_name": "ListSchemasResponse", + "pascal_name": "ListAccountServicePrincipalsResponse", "is_object": true }, "all_fields": [ { - "name": "catalog_name", - "description": "Parent catalog for schemas of interest.", - "required": true, + "name": "attributes", + "description": "Comma-separated list of attributes to return in response.", "is_query": true, "entity": { "is_string": true } }, { - "name": "include_browse", - "description": "Whether to include schemas in the response for which the principal can only access selective metadata for", + "name": "count", + "description": "Desired number of results per page. Default is 10000.", "is_query": true, "entity": { - "is_bool": true + "is_int64": true } }, { - "name": "max_results", - "description": "Maximum number of schemas to return.\nIf not set, all the schemas are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "name": "excludedAttributes", + "description": "Comma-separated list of attributes to exclude in response.", "is_query": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", + "name": "filter", + "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "catalog_name", - "description": "Parent catalog for schemas of interest.", - "required": true, + "name": "sortBy", + "description": "Attribute to sort the results.", "is_query": true, "entity": { "is_string": true } + }, + { + "name": "sortOrder", + "description": "The order to sort the results.", + "is_query": true, + "entity": { + "pascal_name": "ListSortOrder", + "enum": [ + { + "content": "ascending" + }, + { + "content": "descending" + } + ] + } + }, + { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true + } } ], "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } + "offset": { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true } }, - "max_results": { - "name": "max_results", - "description": "Maximum number of schemas to return.\nIf not set, all the schemas are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "limit": { + "name": "count", + "description": "Desired number of results per page. Default is 10000.", "is_query": true, "entity": { - "is_int": true + "is_int64": true } } } }, { - "name": "Update", - "description": "Updates a schema for a catalog. The caller must be the owner of the schema or a metastore admin.\nIf the caller is a metastore admin, only the __owner__ field can be changed in the update.\nIf the __name__ field must be updated, the caller must be a metastore admin or have the **CREATE_SCHEMA** privilege on the parent catalog.", - "summary": "Update a schema.", - "path": "/api/2.1/unity-catalog/schemas/{full_name}", + "name": "Patch", + "description": "Partially updates the details of a single service principal in the Databricks account.", + "summary": "Update service principal details.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateSchema", + "pascal_name": "PatchAccountServicePrincipalRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -180437,8 +189056,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -180448,48 +189067,12 @@ ] }, "response": { - "pascal_name": "SchemaInfo", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "comment", - "description": "User-provided free-form text description.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "custom_max_retention_hours", - "description": "Custom maximum retention period in hours for the schema.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "enable_predictive_optimization", - "description": "Whether predictive optimization should be enabled for this object and objects under it.", - "is_request_body_field": true, - "entity": { - "pascal_name": "EnablePredictiveOptimization", - "enum": [ - { - "content": "DISABLE" - }, - { - "content": "ENABLE" - }, - { - "content": "INHERIT" - } - ] - } - }, - { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -180497,36 +189080,37 @@ } }, { - "name": "new_name", - "description": "New name for the schema.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "owner", - "description": "Username of current owner of schema.", + "name": "Operations", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PatchList", + "array_value": { + "pascal_name": "Patch", + "is_object": true + } } }, { - "name": "properties", - "description": "A map of key-value properties attached to the securable.", + "name": "schemas", + "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true + "pascal_name": "PatchSchemaList", + "array_value": { + "pascal_name": "PatchSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" + } + ] } } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the schema.", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -180534,55 +189118,36 @@ } } ] - } - ] - }, - { - "id": "workspace.Secrets", - "name": "Secrets", - "description": "The Secrets API allows you to manage secrets, secret scopes, and access permissions.\n\nSometimes accessing data requires that you authenticate to external data sources through JDBC.\nInstead of directly entering your credentials into a notebook, use Databricks secrets to store\nyour credentials and reference them in notebooks and jobs.\n\nAdministrators, secret creators, and users granted permission can read Databricks secrets.\nWhile Databricks makes an effort to redact secret values that might be displayed in notebooks,\nit is not possible to prevent such users from reading secrets.", - "package": { - "name": "workspace" - }, - "docs_group": "workspace", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListSecretsRequest" - } - }, - "methods": [ + }, { - "name": "CreateScope", - "description": "Creates a new secret scope.\n\nThe scope name must consist of alphanumeric characters, dashes, underscores, and\nperiods, and may not exceed 128 characters.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-simple-databricks-scope\",\n\"initial_manage_principal\": \"users\"\n\"scope_backend_type\": \"databricks|azure_keyvault\",\n# below is only required if scope type is azure_keyvault\n\"backend_azure_keyvault\": {\n\"resource_id\": \"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/xxxx\",\n\"tenant_id\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n\"dns_name\": \"https://xxxx.vault.azure.net/\",\n}\n}\n\nIf ``initial_manage_principal`` is specified, the initial ACL applied to the scope is\napplied to the supplied principal (user or group) with ``MANAGE`` permissions.\nThe only supported principal for this option is the group ``users``, which\ncontains all users in the workspace. If ``initial_manage_principal`` is not specified,\nthe initial ACL with ``MANAGE`` permission applied to the scope is assigned to the\nAPI request issuer's user identity.\n\nIf ``scope_backend_type`` is ``azure_keyvault``, a secret scope is created with secrets\nfrom a given Azure KeyVault. The caller must provide the keyvault_resource_id and the tenant_id\nfor the key vault. If ``scope_backend_type`` is ``databricks`` or is unspecified, an empty\nsecret scope is created and stored in Databricks's own storage.\n\nThrows ``RESOURCE_ALREADY_EXISTS`` if a scope with the given name already exists.\nThrows ``RESOURCE_LIMIT_EXCEEDED`` if maximum number of scopes in the workspace is exceeded.\nThrows ``INVALID_PARAMETER_VALUE`` if the scope name is invalid.\nThrows ``BAD_REQUEST`` if request violated constraints.\nThrows ``CUSTOMER_UNAUTHORIZED`` if normal user attempts to create a scope with name reserved for databricks internal usage.\nThrows ``UNAUTHENTICATED`` if unable to verify user access permission on Azure KeyVault", - "summary": "Create a new secret scope.", - "path": "/api/2.0/secrets/scopes/create", + "name": "Update", + "description": "Updates the details of a single service principal.\n\nThis action replaces the existing service principal with the same name.", + "summary": "Replace service principal.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateScope", + "pascal_name": "UpdateAccountServicePrincipalRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "scope", - "description": "Scope name requested by the user. Scope names are unique.", + "name": "id", + "description": "Databricks service principal ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "scope", - "description": "Scope name requested by the user. Scope names are unique.", + "name": "id", + "description": "Databricks service principal ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -180594,109 +189159,136 @@ }, "all_fields": [ { - "name": "backend_azure_keyvault", - "description": "The metadata for the secret scope if the type is ``AZURE_KEYVAULT``", + "name": "active", + "description": "If this user is active", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "AzureKeyVaultSecretScopeMetadata", - "is_object": true + "is_bool": true } }, { - "name": "initial_manage_principal", - "description": "The principal that is initially granted ``MANAGE`` permission to the created scope.", + "name": "applicationId", + "description": "UUID relating to the service principal", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "scope", - "description": "Scope name requested by the user. Scope names are unique.", - "required": true, + "name": "displayName", + "description": "String that represents a concatenation of given and family names.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "scope_backend_type", - "description": "The backend type the scope will be created with. If not specified, will default to ``DATABRICKS``", + "name": "externalId", "is_request_body_field": true, "entity": { - "pascal_name": "ScopeBackendType", - "enum": [ - { - "content": "AZURE_KEYVAULT" - }, - { - "content": "DATABRICKS" - } - ] + "is_string": true + } + }, + { + "name": "id", + "description": "Databricks service principal ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "roles", + "description": "Indicates if the group has the admin role.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } } ], "required_positional_arguments": [ { - "name": "scope", - "description": "Scope name requested by the user. Scope names are unique.", + "name": "id", + "description": "Databricks service principal ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] - }, + } + ] + }, + { + "id": "serving.ServingEndpoints", + "name": "ServingEndpoints", + "description": "The Serving Endpoints API allows you to create, update, and delete model serving endpoints.\n\nYou can use a serving endpoint to serve models from the Databricks Model Registry or from Unity Catalog.\nEndpoints expose the underlying models as scalable REST API endpoints using serverless compute. This means\nthe endpoints and associated compute resources are fully managed by Databricks and will not appear in\nyour cloud account. A serving endpoint can consist of one or more MLflow models from the Databricks\nModel Registry, called served entities. A serving endpoint can have at most ten served entities. You can configure\ntraffic settings to define how requests should be routed to your served entities behind an endpoint.\nAdditionally, you can configure the scale of resources that should be applied to each served entity.", + "package": { + "name": "serving" + }, + "docs_group": "serving", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "is_legacy_empty_request": true, + "request": { + "pascal_name": "ListServingEndpointsRequest" + } + }, + "methods": [ { - "name": "DeleteAcl", - "description": "Deletes the given ACL on the given scope.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\",\n\"principal\": \"data-scientists\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope, principal, or ACL exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``INVALID_PARAMETER_VALUE`` if the permission or principal is invalid.", - "summary": "Delete an ACL.", - "path": "/api/2.0/secrets/acls/delete", - "can_use_json": true, + "name": "BuildLogs", + "description": "Retrieves the build logs associated with the provided served model.", + "summary": "Get build logs for a served model.", + "path": "/api/2.0/serving-endpoints/{name}/served-models/{served_model_name}/build-logs", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteAcl", + "pascal_name": "BuildLogsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope to remove permissions from.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "principal", - "description": "The principal to remove an existing ACL from.", + "name": "served_model_name", + "description": "The name of the served model that build logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "scope", - "description": "The name of the scope to remove permissions from.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "principal", - "description": "The principal to remove an existing ACL from.", + "name": "served_model_name", + "description": "The name of the served model that build logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -180704,23 +189296,47 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "BuildLogsResponse", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "logs", + "description": "The logs associated with building the served entity's environment.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "logs", + "description": "The logs associated with building the served entity's environment.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "principal", - "description": "The principal to remove an existing ACL from.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "scope", - "description": "The name of the scope to remove permissions from.", + "name": "served_model_name", + "description": "The name of the served model that build logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -180728,19 +189344,19 @@ ], "required_positional_arguments": [ { - "name": "scope", - "description": "The name of the scope to remove permissions from.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "principal", - "description": "The principal to remove an existing ACL from.", + "name": "served_model_name", + "description": "The name of the served model that build logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -180748,22 +189364,23 @@ ] }, { - "name": "DeleteScope", - "description": "Deletes a secret scope.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if the scope does not exist.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``BAD_REQUEST`` if system user attempts to delete internal secret scope.", - "summary": "Delete a secret scope.", - "path": "/api/2.0/secrets/scopes/delete", + "name": "Create", + "description": "Create a new serving endpoint.", + "summary": "Create a new serving endpoint.", + "path": "/api/2.0/serving-endpoints", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteScope", + "pascal_name": "CreateServingEndpoint", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "scope", - "description": "Name of the scope to delete.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { @@ -180773,8 +189390,8 @@ ], "required_request_body_fields": [ { - "name": "scope", - "description": "Name of the scope to delete.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { @@ -180784,48 +189401,160 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "ServingEndpointDetailed", + "is_object": true }, "all_fields": [ { - "name": "scope", - "description": "Name of the scope to delete.", + "name": "ai_gateway", + "description": "The AI Gateway configuration for the serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AiGatewayConfig", + "is_object": true + } + }, + { + "name": "budget_policy_id", + "description": "The budget policy to be applied to the serving endpoint.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "config", + "description": "The core config of the serving endpoint.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EndpointCoreConfigInput", + "is_object": true + } + }, + { + "name": "description", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "email_notifications", + "description": "Email notification settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EmailNotifications", + "is_object": true + } + }, + { + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "rate_limits", + "description": "Rate limits to be applied to the serving endpoint. NOTE: this field is deprecated, please use AI Gateway to manage rate limits.", + "is_request_body_field": true, + "entity": { + "pascal_name": "RateLimitList", + "array_value": { + "pascal_name": "RateLimit", + "is_object": true + } + } + }, + { + "name": "route_optimized", + "description": "Enable route optimization for the serving endpoint.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "tags", + "description": "Tags to be attached to the serving endpoint and automatically propagated to billing logs.", + "is_request_body_field": true, + "entity": { + "pascal_name": "EndpointTagList", + "array_value": { + "pascal_name": "EndpointTag", + "is_object": true + } + } + }, + { + "name": "telemetry_config", + "description": "Configuration for persisting endpoint telemetry (logs, traces, and metrics) to Unity Catalog tables.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "TelemetryConfig", + "is_object": true + } } ], "required_positional_arguments": [ { - "name": "scope", - "description": "Name of the scope to delete.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } } - ] + ], + "wait": { + "success": [ + { + "content": "NOT_UPDATING" + } + ], + "timeout": 20, + "poll": { + "response": { + "pascal_name": "ServingEndpointDetailed" + } + }, + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "ConfigUpdate" + } + ] + } }, { - "name": "DeleteSecret", - "description": "Deletes the secret stored in this secret scope. You must have ``WRITE`` or ``MANAGE``\npermission on the Secret Scope.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\",\n\"key\": \"my-secret-key\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope or secret exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``BAD_REQUEST`` if system user attempts to delete an internal secret, or request is made against Azure KeyVault backed scope.", - "summary": "Delete a secret.", - "path": "/api/2.0/secrets/delete", + "name": "CreateProvisionedThroughputEndpoint", + "description": "Create a new PT serving endpoint.", + "summary": "Create a new PT serving endpoint.", + "path": "/api/2.0/serving-endpoints/pt", "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "must_use_json": true, + "is_crud_create": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteSecret", + "pascal_name": "CreatePtEndpointRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope that contains the secret to delete.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { @@ -180833,19 +189562,20 @@ } }, { - "name": "key", - "description": "Name of the secret to delete.", + "name": "config", + "description": "The core config of the serving endpoint.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PtEndpointCoreConfig", + "is_object": true } } ], "required_request_body_fields": [ { - "name": "scope", - "description": "The name of the scope that contains the secret to delete.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { @@ -180853,108 +189583,190 @@ } }, { - "name": "key", - "description": "Name of the secret to delete.", + "name": "config", + "description": "The core config of the serving endpoint.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PtEndpointCoreConfig", + "is_object": true } } ] }, "response": { - "pascal_name": "DeleteSecretResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "ServingEndpointDetailed", + "is_object": true }, "all_fields": [ { - "name": "key", - "description": "Name of the secret to delete.", - "required": true, + "name": "ai_gateway", + "description": "The AI Gateway configuration for the serving endpoint.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "AiGatewayConfig", + "is_object": true } }, { - "name": "scope", - "description": "The name of the scope that contains the secret to delete.", - "required": true, + "name": "budget_policy_id", + "description": "The budget policy associated with the endpoint.", "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "scope", - "description": "The name of the scope that contains the secret to delete.", + "name": "config", + "description": "The core config of the serving endpoint.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PtEndpointCoreConfig", + "is_object": true } }, { - "name": "key", - "description": "Name of the secret to delete.", + "name": "email_notifications", + "description": "Email notification settings.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EmailNotifications", + "is_object": true + } + }, + { + "name": "name", + "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "tags", + "description": "Tags to be attached to the serving endpoint and automatically propagated to billing logs.", + "is_request_body_field": true, + "entity": { + "pascal_name": "EndpointTagList", + "array_value": { + "pascal_name": "EndpointTag", + "is_object": true + } + } } - ] + ], + "wait": { + "success": [ + { + "content": "NOT_UPDATING" + } + ], + "timeout": 20, + "poll": { + "response": { + "pascal_name": "ServingEndpointDetailed" + } + }, + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "ConfigUpdate" + } + ] + } }, { - "name": "GetAcl", - "description": "Describes the details about the given ACL, such as the group and permission.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample response:\n\n.. code::\n\n{\n\"principal\": \"data-scientists\",\n\"permission\": \"READ\"\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``INVALID_PARAMETER_VALUE`` if the permission or principal is invalid.", - "summary": "Get secret ACL details.", - "path": "/api/2.0/secrets/acls/get", + "name": "Delete", + "description": "Delete a serving endpoint.", + "summary": "Delete a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetAclRequest", + "pascal_name": "DeleteServingEndpointRequest", "is_object": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "principal", - "description": "The principal to fetch ACL information for.", + "name": "name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "ExportMetrics", + "description": "Retrieves the metrics associated with the provided serving endpoint in either Prometheus or OpenMetrics exposition format.", + "summary": "Get metrics of a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/metrics", + "is_crud_read": true, + "is_response_byte_stream": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ExportMetricsRequest", + "is_object": true, + "required_fields": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "name", + "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "principal", - "description": "The principal to fetch ACL information for.", + "name": "name", + "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -180962,87 +189774,80 @@ ] }, "response": { - "pascal_name": "AclItem", + "pascal_name": "ExportMetricsResponse", + "is_object": true + }, + "response_body_field": { + "pascal_name": "Contents" + }, + "all_fields": [ + { + "name": "name", + "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Get", + "description": "Retrieves the details for a single serving endpoint.", + "summary": "Get a single serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetServingEndpointRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "principal", - "description": "The principal in which the permission is applied.", + "name": "name", + "description": "The name of the serving endpoint. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "permission", - "description": "The permission level applied to the principal.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AclPermission", - "enum": [ - { - "content": "MANAGE" - }, - { - "content": "READ" - }, - { - "content": "WRITE" - } - ] - } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "principal", - "description": "The principal in which the permission is applied.", + "name": "name", + "description": "The name of the serving endpoint. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "permission", - "description": "The permission level applied to the principal.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "AclPermission", - "enum": [ - { - "content": "MANAGE" - }, - { - "content": "READ" - }, - { - "content": "WRITE" - } - ] - } } ] }, + "response": { + "pascal_name": "ServingEndpointDetailed", + "is_object": true + }, "all_fields": [ { - "name": "principal", - "description": "The principal to fetch ACL information for.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "name", + "description": "The name of the serving endpoint. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181050,19 +189855,10 @@ ], "required_positional_arguments": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "principal", - "description": "The principal to fetch ACL information for.", + "name": "name", + "description": "The name of the serving endpoint. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181070,31 +189866,26 @@ ] }, { - "name": "GetSecret", - "description": "Gets a secret for a given key and scope. This API can only be called from the DBUtils\ninterface. Users need the READ permission to make this call.\n\nExample response:\n\n.. code::\n\n{\n\"key\": \"my-string-key\",\n\"value\": \u003cbytes of the secret value\u003e\n}\n\nNote that the secret value returned is in bytes. The interpretation of the bytes\nis determined by the caller in DBUtils and the type the data is decoded into.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret or secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\n\nNote: This is explicitly an undocumented API. It also doesn't need to be supported\nfor the /preview prefix, because it's not a customer-facing API (i.e. only used\nfor DBUtils SecretUtils to fetch secrets).\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope or secret exists.\nThrows ``BAD_REQUEST`` if normal user calls get secret outside of a notebook.\nAKV specific errors:\nThrows ``INVALID_PARAMETER_VALUE`` if secret name is not alphanumeric or too long.\nThrows ``PERMISSION_DENIED`` if secret manager cannot access AKV with 403 error\nThrows ``MALFORMED_REQUEST`` if secret manager cannot access AKV with any other 4xx error", - "summary": "Get a secret.", - "path": "/api/2.0/secrets/get", + "name": "GetOpenApi", + "description": "Get the query schema of the serving endpoint in OpenAPI format. The schema contains information for the supported paths, input and output format and datatypes.", + "summary": "Get the schema for a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/openapi", + "is_crud_read": true, + "is_response_byte_stream": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetSecretRequest", + "pascal_name": "GetOpenApiRequest", "is_object": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope that contains the secret.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "Name of the secret to fetch value information.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181102,19 +189893,10 @@ ], "required_in_url_fields": [ { - "name": "scope", - "description": "The name of the scope that contains the secret.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "Name of the secret to fetch value information.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181122,24 +189904,18 @@ ] }, "response": { - "pascal_name": "GetSecretResponse", + "pascal_name": "GetOpenApiResponse", "is_object": true }, + "response_body_field": { + "pascal_name": "Contents" + }, "all_fields": [ { - "name": "key", - "description": "Name of the secret to fetch value information.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "scope", - "description": "The name of the scope that contains the secret.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181147,19 +189923,10 @@ ], "required_positional_arguments": [ { - "name": "scope", - "description": "The name of the scope that contains the secret.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "Name of the secret to fetch value information.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181167,22 +189934,22 @@ ] }, { - "name": "ListAcls", - "description": "Lists the ACLs set on the given scope.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample response:\n\n.. code::\n\n{\n\"acls\": [{\n\"principal\": \"admins\",\n\"permission\": \"MANAGE\"\n},{\n\"principal\": \"data-scientists\",\n\"permission\": \"READ\"\n}]\n}\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", - "summary": "Lists ACLs.", - "path": "/api/2.0/secrets/acls/list", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get serving endpoint permission levels.", + "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}/permissionLevels", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListAclsRequest", + "pascal_name": "GetServingEndpointPermissionLevelsRequest", "is_object": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181190,10 +189957,10 @@ ], "required_in_url_fields": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181201,15 +189968,15 @@ ] }, "response": { - "pascal_name": "ListAclsResponse", + "pascal_name": "GetServingEndpointPermissionLevelsResponse", "is_object": true }, "all_fields": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181217,52 +189984,33 @@ ], "required_positional_arguments": [ { - "name": "scope", - "description": "The name of the scope to fetch ACL information from.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": {} - }, - { - "name": "ListScopes", - "description": "Lists all secret scopes available in the workspace.\n\nExample response:\n\n.. code::\n\n{\n\"scopes\": [{\n\"name\": \"my-databricks-scope\",\n\"backend_type\": \"DATABRICKS\"\n},{\n\"name\": \"mount-points\",\n\"backend_type\": \"DATABRICKS\"\n}]\n}\n\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", - "summary": "List all scopes.", - "path": "/api/2.0/secrets/scopes/list", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListScopesRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListScopesResponse", - "is_object": true - }, - "pagination": {} + ] }, { - "name": "ListSecrets", - "description": "Lists the secret keys that are stored at this scope. This is a metadata-only\noperation; secret data cannot be retrieved using this API. Users need the READ\npermission to make this call.\n\nExample response:\n\n.. code::\n\n{\n\"secrets\": [\n{\n\"key\": \"my-string-key\"\",\n\"last_updated_timestamp\": \"1520467595000\"\n},\n{\n\"key\": \"my-byte-key\",\n\"last_updated_timestamp\": \"1520467595000\"\n},\n]\n}\n\nThe lastUpdatedTimestamp returned is in milliseconds since epoch.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", - "summary": "List secret keys.", - "path": "/api/2.0/secrets/list", + "name": "GetPermissions", + "description": "Gets the permissions of a serving endpoint. Serving endpoints can inherit permissions from their root object.", + "summary": "Get serving endpoint permissions.", + "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSecretsRequest", + "pascal_name": "GetServingEndpointPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope to list secrets within.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181270,10 +190018,10 @@ ], "required_in_url_fields": [ { - "name": "scope", - "description": "The name of the scope to list secrets within.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181281,15 +190029,15 @@ ] }, "response": { - "pascal_name": "ListSecretsResponse", + "pascal_name": "ServingEndpointPermissions", "is_object": true }, "all_fields": [ { - "name": "scope", - "description": "The name of the scope to list secrets within.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -181297,43 +190045,35 @@ ], "required_positional_arguments": [ { - "name": "scope", - "description": "The name of the scope to list secrets within.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": {} + ] }, { - "name": "PutAcl", - "description": "Creates or overwrites the ACL associated with the given principal (user or group) on the\nspecified scope point. In general, a user or group will use the most powerful\npermission available to them, and permissions are ordered as follows:\n\n* ``MANAGE`` - Allowed to change ACLs, and read and write to this secret scope.\n* ``WRITE`` - Allowed to read and write to this secret scope.\n* ``READ`` - Allowed to read this secret scope and list what secrets are available.\n\nNote that in general, secret values can only be read from within a command\non a cluster (for example, through a notebook). There is no API to read the actual\nsecret value material outside of a cluster. However, the user's permission will be\napplied based on who is executing the command, and they must have at least READ permission.\n\nUsers must have the ``MANAGE`` permission to invoke this API.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-secret-scope\",\n\"principal\": \"data-scientists\",\n\"permission\": \"READ\"\n}\n\nThe principal is a user or group name corresponding to an existing Databricks\nprincipal to be granted or revoked access.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``RESOURCE_ALREADY_EXISTS`` if a permission for the principal already exists.\nThrows ``INVALID_PARAMETER_VALUE`` if the permission or principal is invalid.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.", - "summary": "Create/update an ACL.", - "path": "/api/2.0/secrets/acls/put", + "name": "HttpRequest", + "description": "Make external services call using the credentials stored in UC Connection.", + "summary": "Make external services call using the credentials stored in UC Connection.", + "path": "/api/2.0/external-function", "can_use_json": true, + "is_hidden_cli": true, + "is_response_byte_stream": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "PutAcl", + "pascal_name": "ExternalFunctionRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope to apply permissions to.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "principal", - "description": "The principal in which the permission is applied.", + "name": "connection_name", + "description": "The connection name to use. This is required to identify the external connection.", "required": true, "is_request_body_field": true, "entity": { @@ -181341,39 +190081,45 @@ } }, { - "name": "permission", - "description": "The permission level applied to the principal.", + "name": "method", + "description": "The HTTP method to use (e.g., 'GET', 'POST').", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AclPermission", + "pascal_name": "ExternalFunctionRequestHttpMethod", "enum": [ { - "content": "MANAGE" + "content": "DELETE" }, { - "content": "READ" + "content": "GET" }, { - "content": "WRITE" + "content": "PATCH" + }, + { + "content": "POST" + }, + { + "content": "PUT" } ] } - } - ], - "required_request_body_fields": [ + }, { - "name": "scope", - "description": "The name of the scope to apply permissions to.", + "name": "path", + "description": "The relative path for the API endpoint. This is required.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "principal", - "description": "The principal in which the permission is applied.", + "name": "connection_name", + "description": "The connection name to use. This is required to identify the external connection.", "required": true, "is_request_body_field": true, "entity": { @@ -181381,83 +190127,131 @@ } }, { - "name": "permission", - "description": "The permission level applied to the principal.", + "name": "method", + "description": "The HTTP method to use (e.g., 'GET', 'POST').", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AclPermission", + "pascal_name": "ExternalFunctionRequestHttpMethod", "enum": [ { - "content": "MANAGE" + "content": "DELETE" }, { - "content": "READ" + "content": "GET" }, { - "content": "WRITE" + "content": "PATCH" + }, + { + "content": "POST" + }, + { + "content": "PUT" } ] } + }, + { + "name": "path", + "description": "The relative path for the API endpoint. This is required.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] }, "response": { - "is_empty_response": true + "pascal_name": "HttpRequestResponse", + "is_object": true + }, + "response_body_field": { + "pascal_name": "Contents" }, "all_fields": [ { - "name": "permission", - "description": "The permission level applied to the principal.", + "name": "connection_name", + "description": "The connection name to use. This is required to identify the external connection.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AclPermission", + "is_string": true + } + }, + { + "name": "headers", + "description": "Additional headers for the request. If not provided, only auth headers from connections would be passed.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "json", + "description": "The JSON payload to send in the request body.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "method", + "description": "The HTTP method to use (e.g., 'GET', 'POST').", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ExternalFunctionRequestHttpMethod", "enum": [ { - "content": "MANAGE" + "content": "DELETE" }, { - "content": "READ" + "content": "GET" }, { - "content": "WRITE" + "content": "PATCH" + }, + { + "content": "POST" + }, + { + "content": "PUT" } ] } }, { - "name": "principal", - "description": "The principal in which the permission is applied.", - "required": true, + "name": "params", + "description": "Query parameters for the request.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "scope", - "description": "The name of the scope to apply permissions to.", + "name": "path", + "description": "The relative path for the API endpoint. This is required.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "scope", - "description": "The name of the scope to apply permissions to.", - "required": true, + "name": "sub_domain", + "description": "Optional subdomain to prepend to the connection URL's host. If provided, this will be\nadded as a prefix to the connection URL's host. For example, if the connection URL is\n`https://api.example.com/v1` and `sub_domain` is `\"custom\"`, the resulting URL will be\n`https://custom.api.example.com/v1`.", "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "principal", - "description": "The principal in which the permission is applied.", + "name": "connection_name", + "description": "The connection name to use. This is required to identify the external connection.", "required": true, "is_request_body_field": true, "entity": { @@ -181465,75 +190259,107 @@ } }, { - "name": "permission", - "description": "The permission level applied to the principal.", + "name": "method", + "description": "The HTTP method to use (e.g., 'GET', 'POST').", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "AclPermission", + "pascal_name": "ExternalFunctionRequestHttpMethod", "enum": [ { - "content": "MANAGE" + "content": "DELETE" }, { - "content": "READ" + "content": "GET" }, { - "content": "WRITE" + "content": "PATCH" + }, + { + "content": "POST" + }, + { + "content": "PUT" } ] } + }, + { + "name": "path", + "description": "The relative path for the API endpoint. This is required.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] }, { - "name": "PutSecret", - "description": "Inserts a secret under the provided scope with the given name. If a secret already\nexists with the same name, this command overwrites the existing secret's value.\nThe server encrypts the secret using the secret scope's encryption settings before\nstoring it. You must have ``WRITE`` or ``MANAGE`` permission on the secret scope.\n\nThe secret key must consist of alphanumeric characters, dashes, underscores,\nand periods, and cannot exceed 128 characters. The maximum allowed secret\nvalue size is 128 KB. The maximum number of secrets in a given scope is\n1000.\n\nExample request:\n\n.. code::\n\n{\n\"scope\": \"my-databricks-scope\",\n\"key\": \"my-string-key\",\n\"string_value\": \"foobar\"\n}\n\nThe input fields \"string_value\" or \"bytes_value\"\nspecify the type of the secret, which will determine the value returned when\nthe secret value is requested. Exactly one must be specified.\n\nThrows ``RESOURCE_DOES_NOT_EXIST`` if no such secret scope exists.\nThrows ``RESOURCE_LIMIT_EXCEEDED`` if maximum number of secrets in scope is exceeded.\nThrows ``INVALID_PARAMETER_VALUE`` if the request parameters are invalid.\nThrows ``PERMISSION_DENIED`` if the user does not have permission to make this API call.\nThrows ``MALFORMED_REQUEST`` if request is incorrectly formatted or conflicting.\nThrows ``BAD_REQUEST`` if request is made against Azure KeyVault backed scope.", - "summary": "Add a secret.", - "path": "/api/2.0/secrets/put", - "can_use_json": true, + "name": "List", + "description": "Get all serving endpoints.", + "summary": "Get all serving endpoints.", + "path": "/api/2.0/serving-endpoints", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListServingEndpointsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListEndpointsResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "Logs", + "description": "Retrieves the service logs associated with the provided served model.", + "summary": "Get the latest logs for a served model.", + "path": "/api/2.0/serving-endpoints/{name}/served-models/{served_model_name}/logs", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PutSecret", + "pascal_name": "LogsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "scope", - "description": "The name of the scope to which the secret will be associated with.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "A unique name to identify the secret.", + "name": "served_model_name", + "description": "The name of the served model that logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "scope", - "description": "The name of the scope to which the secret will be associated with.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "A unique name to identify the secret.", + "name": "served_model_name", + "description": "The name of the served model that logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -181541,39 +190367,47 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "ServerLogsResponse", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "logs", + "description": "The most recent log lines of the model server processing invocation requests.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "logs", + "description": "The most recent log lines of the model server processing invocation requests.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "bytes_value", - "description": "If specified, value will be stored as bytes.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "key", - "description": "A unique name to identify the secret.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "scope", - "description": "The name of the scope to which the secret will be associated with.", + "name": "served_model_name", + "description": "The name of the served model that logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "string_value", - "description": "If specified, note that the value will be stored in UTF-8 (MB4) form.", - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -181581,507 +190415,176 @@ ], "required_positional_arguments": [ { - "name": "scope", - "description": "The name of the scope to which the secret will be associated with.", + "name": "name", + "description": "The name of the serving endpoint that the served model belongs to. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "key", - "description": "A unique name to identify the secret.", + "name": "served_model_name", + "description": "The name of the served model that logs will be retrieved for. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "catalog.SecretsUc", - "name": "SecretsUc", - "description": "A secret is a Unity Catalog securable object that stores sensitive credential data (such as passwords, tokens, and keys) within a three-level namespace (**catalog_name.schema_name.secret_name**).\n\nSecrets can be managed using standard Unity Catalog permissions and are scoped to a schema within a catalog.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListSecretsRequest" - } - }, - "methods": [ + }, { - "name": "CreateSecret", - "description": "Creates a new secret in Unity Catalog.\n\nYou must be the owner of the parent schema or have the **CREATE_SECRET** and **USE SCHEMA**\nprivileges on the parent schema and **USE CATALOG** on the parent catalog.\n\nThe secret is stored in the specified catalog and schema, and the **value** field\ncontains the sensitive data to be securely stored.", - "summary": "Create a secret.", - "path": "/api/2.1/unity-catalog/secrets", + "name": "Patch", + "description": "Used to batch add and delete tags from a serving endpoint with a single API call.", + "summary": "Update tags of a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/tags", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateSecretRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "secret", - "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "secret", - "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true - } - } - ] - }, - "request_body_field": { - "name": "secret", - "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - "response": { - "pascal_name": "Secret", + "pascal_name": "PatchServingEndpointTags", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "description": "The name of the serving endpoint who's tags to patch. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "description": "The name of the serving endpoint who's tags to patch. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] }, + "response": { + "pascal_name": "EndpointTags", + "is_object": true + }, "all_fields": [ { - "name": "secret", - "description": "The secret object to create. The **name**, **catalog_name**, **schema_name**, and **value**\nfields are required.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "comment", - "description": "User-provided free-form text description of the secret.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "description": "The time at which this secret was created.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "is_timestamp": true - } - }, - { - "name": "created_by", - "description": "The principal that created the secret.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "effective_owner", - "description": "The effective owner of the secret, which may differ from the directly-set **owner** due to\ninheritance.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "effective_value", - "description": "The secret value. Only populated in responses when you have the **READ_SECRET**\nprivilege and **include_value** is set to true in the request. The maximum size is 60 KiB.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "expire_time", - "description": "User-provided expiration time of the secret. This field indicates when the secret should no\nlonger be used and may be displayed as a warning in the UI. It is purely informational and\ndoes not trigger any automatic actions or affect the secret's lifecycle.", + "name": "add_tags", + "description": "List of endpoint tags to add", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "EndpointTagList", + "array_value": { + "pascal_name": "EndpointTag", + "is_object": true + } } }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret, in the form of **catalog_name.schema_name.secret_name**.", - "is_output_only": true, + "name": "delete_tags", + "description": "List of tag keys to delete", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "metastore_id", - "description": "Unique identifier of the metastore hosting the secret.", - "is_output_only": true, - "is_request_body_field": true, + "name": "name", + "description": "The name of the serving endpoint who's tags to patch. This field is required.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { "name": "name", - "description": "The name of the secret, relative to its parent schema.", + "description": "The name of the serving endpoint who's tags to patch. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "owner", - "description": "The owner of the secret. Defaults to the creating principal on creation. Can be updated to\ntransfer ownership of the secret to another principal.", - "is_request_body_field": true, - "entity": { - "is_string": true + } + ] + }, + { + "name": "PatchTelemetryConfig", + "description": "Updates the telemetry configuration of a serving endpoint.", + "summary": "Update the telemetry config of a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/telemetry-config", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "PatchTelemetryConfigRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ServingEndpointDetailed", + "is_object": true + }, + "all_fields": [ { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", + "name": "name", + "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "update_time", - "description": "The time at which this secret was last updated.", - "is_output_only": true, + "name": "telemetry_config", + "description": "The telemetry configuration to be applied to the serving endpoint.\nCan specify either a telemetry_profile_id to use an existing profile,\nor table_names to create a new profile with the specified Unity Catalog tables.\nIf not provided, the telemetry configuration will be removed from the endpoint.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "is_timestamp": true - } - }, - { - "name": "updated_by", - "description": "The principal that last updated the secret.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "pascal_name": "TelemetryConfig", + "is_object": true } } ], "required_positional_arguments": [ { "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -182089,20 +190592,23 @@ ] }, { - "name": "DeleteSecret", - "description": "Deletes a secret by its three-level (fully qualified) name.\n\nYou must be the owner of the secret or a metastore admin.", - "summary": "Delete a secret.", - "path": "/api/2.1/unity-catalog/secrets/{full_name}", + "name": "Put", + "description": "Deprecated: Please use AI Gateway to manage rate limits instead.", + "summary": "Update rate limits of a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/rate-limits", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "DeleteSecretRequest", + "pascal_name": "PutRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -182112,8 +190618,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -182123,23 +190629,36 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "PutResponse", + "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "rate_limits", + "description": "The list of endpoint rate limits.", + "is_request_body_field": true, + "entity": { + "pascal_name": "RateLimitList", + "array_value": { + "pascal_name": "RateLimit", + "is_object": true + } + } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -182149,21 +190668,21 @@ ] }, { - "name": "GetSecret", - "description": "Gets a secret by its three-level (fully qualified) name.\n\nYou must be a metastore admin, the owner of the secret, or have the **MANAGE**\nprivilege on the secret.\n\nThe secret value isn't returned by default. To retrieve it, you must also have the\n**READ_SECRET** privilege and set **include_value** to true in the request.", - "summary": "Get a secret.", - "path": "/api/2.1/unity-catalog/secrets/{full_name}", - "is_crud_read": true, + "name": "PutAiGateway", + "description": "Used to update the AI Gateway of a serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables.", + "summary": "Update AI Gateway of a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/ai-gateway", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetSecretRequest", + "pascal_name": "PutAiGatewayRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -182173,8 +190692,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -182184,971 +190703,512 @@ ] }, "response": { - "pascal_name": "Secret", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "PutAiGatewayResponse", + "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", - "required": true, - "is_path": true, + "name": "fallback_config", + "description": "Configuration for traffic fallback which auto fallbacks to other served entities if the request to a served\nentity fails with certain error codes, to increase availability.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "FallbackConfig", + "is_object": true } }, { - "name": "include_value", - "description": "Whether to include the secret value in the response. Defaults to false. Requires the\n**READ_SECRET** privilege.", - "is_query": true, + "name": "guardrails", + "description": "Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and responses.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_bool": true + "pascal_name": "AiGatewayGuardrails", + "is_object": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", - "required": true, - "is_path": true, + "name": "inference_table_config", + "description": "Configuration for payload logging using inference tables.\nUse these tables to monitor and audit data being sent to and received from model APIs and to improve model quality.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "AiGatewayInferenceTableConfig", + "is_object": true } - } - ] - }, - { - "name": "ListSecrets", - "description": "Lists secrets in Unity Catalog.\n\nYou must be a metastore admin, the owner of the secret, or have the\n**MANAGE** privilege on the secret.\n\nBoth **catalog_name** and **schema_name** must be specified together to filter secrets within\na specific schema. Results are paginated; use the **page_token** field from the response\nto retrieve subsequent pages.", - "summary": "List secrets.", - "path": "/api/2.1/unity-catalog/secrets", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListSecretsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListSecretsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "catalog_name", - "description": "The name of the catalog under which to list secrets. Both **catalog_name** and\n**schema_name** must be specified together.", - "is_query": true, + "name": "name", + "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "page_size", - "description": "Maximum number of secrets to return.\n\n- If not specified, at most 1000 secrets are returned.\n- If set to a value greater than 0, the page length is the minimum of this value and 1000.\n- If set to 0, the page length is set to 1000.\n- If set to a value less than 0, an invalid parameter error is returned.", - "is_query": true, + "name": "rate_limits", + "description": "Configuration for rate limits which can be set to limit endpoint traffic.", + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "AiGatewayRateLimitList", + "array_value": { + "pascal_name": "AiGatewayRateLimit", + "is_object": true + } } }, { - "name": "page_token", - "description": "Opaque pagination token to go to the next page based on previous query. The maximum page length\nis determined by a server configured value.", - "is_query": true, + "name": "usage_tracking_config", + "description": "Configuration to enable usage tracking using system tables.\nThese tables allow you to monitor operational usage on endpoints and their associated costs.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "AiGatewayUsageTrackingConfig", + "is_object": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "schema_name", - "description": "The name of the schema under which to list secrets. Both **catalog_name** and\n**schema_name** must be specified together.", - "is_query": true, + "name": "name", + "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", + "required": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to the next page based on previous query. The maximum page length\nis determined by a server configured value.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "UpdateSecret", - "description": "Updates an existing secret in Unity Catalog.\n\nYou must be the owner of the secret or a metastore admin. If you are a metastore\nadmin, only the **owner** field can be changed.\n\nUse the **update_mask** field to specify which fields to update. Supported updatable fields\ninclude **value**, **comment**, **owner**, and **expire_time**.", - "summary": "Update a secret.", - "path": "/api/2.1/unity-catalog/secrets/{full_name}", + "name": "Query", + "description": "Query a serving endpoint", + "summary": "Query a serving endpoint.", + "path": "/serving-endpoints/{name}/invocations", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateSecretRequest", + "pascal_name": "QueryEndpointInput", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "secret", - "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "secret", - "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true - } } ] }, - "request_body_field": { - "name": "secret", - "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Secret", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "Secret", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "QueryEndpointResponse", + "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "secret", - "description": "The secret object containing the fields to update. Only fields specified in **update_mask**\nwill be updated.", - "required": true, + "name": "client_request_id", + "description": "Optional user-provided request identifier that will be recorded in the inference table and the usage tracking table.", "is_request_body_field": true, "entity": { - "pascal_name": "Secret", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "update_mask", - "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true + "is_string": true } }, { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, + "name": "dataframe_records", + "description": "Pandas Dataframe input in the records orientation.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_any": true + } } }, { - "name": "comment", - "description": "User-provided free-form text description of the secret.", + "name": "dataframe_split", + "description": "Pandas Dataframe input in the split orientation.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "DataframeSplitInput", + "is_object": true } }, { - "name": "create_time", - "description": "The time at which this secret was created.", - "is_output_only": true, + "name": "extra_params", + "description": "The extra parameters field used ONLY for __completions, chat,__ and __embeddings external \u0026 foundation\nmodel__ serving endpoints. This is a map of strings and should only be used with other external/foundation\nmodel query fields.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "map_value": { + "is_string": true + } } }, { - "name": "created_by", - "description": "The principal that created the secret.", - "is_output_only": true, + "name": "input", + "description": "The input string (or array of strings) field used ONLY for __embeddings external \u0026 foundation model__\nserving endpoints and is the only field (along with extra_params if needed) used by embeddings queries.", "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } }, { - "name": "effective_owner", - "description": "The effective owner of the secret, which may differ from the directly-set **owner** due to\ninheritance.", - "is_output_only": true, + "name": "inputs", + "description": "Tensor-based input in columnar format.", "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } }, { - "name": "effective_value", - "description": "The secret value. Only populated in responses when you have the **READ_SECRET**\nprivilege and **include_value** is set to true in the request. The maximum size is 60 KiB.", - "is_output_only": true, + "name": "instances", + "description": "Tensor-based input in row format.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_any": true + } } }, { - "name": "expire_time", - "description": "User-provided expiration time of the secret. This field indicates when the secret should no\nlonger be used and may be displayed as a warning in the UI. It is purely informational and\ndoes not trigger any automatic actions or affect the secret's lifecycle.", + "name": "max_tokens", + "description": "The max tokens field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is an integer and should only be used with other chat/completions query fields.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "is_int": true } }, { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret, in the form of **catalog_name.schema_name.secret_name**.", - "is_output_only": true, + "name": "messages", + "description": "The messages field used ONLY for __chat external \u0026 foundation model__ serving endpoints.\nThis is an array of ChatMessage objects and should only be used with other chat query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ChatMessageList", + "array_value": { + "pascal_name": "ChatMessage", + "is_object": true + } } }, { - "name": "metastore_id", - "description": "Unique identifier of the metastore hosting the secret.", - "is_output_only": true, + "name": "n", + "description": "The n (number of candidates) field used ONLY for __completions__ and __chat external \u0026 foundation model__\nserving endpoints. This is an integer between 1 and 5 with a default of 1 and should only be used with\nother chat/completions query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "is_int": true } }, { "name": "name", - "description": "The name of the secret, relative to its parent schema.", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "The owner of the secret. Defaults to the creating principal on creation. Can be updated to\ntransfer ownership of the secret to another principal.", + "name": "prompt", + "description": "The prompt string (or array of strings) field used ONLY for __completions external \u0026 foundation model__\nserving endpoints and should only be used with other completions query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } }, { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", - "required": true, + "name": "stop", + "description": "The stop sequences field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a list of strings and should only be used with other chat/completions query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "update_time", - "description": "The time at which this secret was last updated.", - "is_output_only": true, + "name": "stream", + "description": "The stream field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving endpoints.\nThis is a boolean defaulting to false and should only be used with other chat/completions query fields.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "is_bool": true } }, { - "name": "updated_by", - "description": "The principal that last updated the secret.", - "is_output_only": true, + "name": "temperature", + "description": "The temperature field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a float between 0.0 and 2.0 with a default of 1.0 and should only be used with other\nchat/completions query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "is_float64": true } }, { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", - "required": true, + "name": "usage_context", + "description": "Optional user-provided context that will be recorded in the usage tracking table.", "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "The three-level (fully qualified) name of the secret\n(for example, **catalog_name.schema_name.secret_name**).", + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The field mask specifying which fields of the secret to update.\n- If **update_mask** is **\"*\"**, all fields specified in **secret** are updated.\n- If **update_mask** specifies one or more fields, only those fields are updated.\nEach specified field must be set in **secret**.\nSupported fields: **value**, **comment**, **owner**, **expire_time**. To change the secret\nname, delete and recreate the secret.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true + } + ] + }, + { + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set serving endpoint permissions.", + "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ServingEndpointPermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, - { - "name": "name", - "description": "The name of the secret, relative to its parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + ], + "required_in_url_fields": [ + { + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ] + }, + "response": { + "pascal_name": "ServingEndpointPermissions", + "is_object": true + }, + "all_fields": [ { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the secret reside.", - "required": true, + "name": "access_control_list", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServingEndpointAccessControlRequestList", + "array_value": { + "pascal_name": "ServingEndpointAccessControlRequest", + "is_object": true + } } }, { - "name": "schema_name", - "description": "The name of the schema where the secret resides.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "value", - "description": "The secret value to store. This field is input-only and is not returned in responses — use\nthe **effective_value** field (via GetSecret with **include_value** set to true) to read the\nsecret value. The maximum size is 60 KiB (pre-encryption). Accepted content includes\npasswords, tokens, keys, and other sensitive credential data.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "oauth2.ServicePrincipalFederationPolicy", - "name": "ServicePrincipalFederationPolicy", - "description": "These APIs manage service principal federation policies.\n\nService principal federation, also known as Workload Identity Federation, allows your automated workloads running outside of Databricks to securely access Databricks APIs without the need for Databricks secrets. With Workload Identity Federation, your application (or workload) authenticates to Databricks as a Databricks service principal, using tokens provided by the workload runtime.\n\nDatabricks strongly recommends using Workload Identity Federation to authenticate to Databricks from automated workloads, over alternatives such as OAuth client secrets or Personal Access Tokens, whenever possible. Workload Identity Federation is supported by many popular services, including Github Actions, Azure DevOps, GitLab, Terraform Cloud, and Kubernetes clusters, among others.\n\nWorkload identity federation is configured in your Databricks account using a service principal federation policy. A service principal federation policy specifies:\n* which IdP, or issuer, the service principal is allowed to authenticate from\n* which workload identity, or subject, is allowed to authenticate as the Databricks service principal\n\nTo configure a federation policy, you provide the following:\n* The required token __issuer__, as specified in the “iss” claim of workload identity tokens. The issuer is an https URL that identifies the workload identity provider.\n* The required token __subject__, as specified in the “sub” claim of workload identity tokens. The subject uniquely identifies the workload in the workload runtime environment.\n* The allowed token __audiences__, as specified in the “aud” claim of workload identity tokens. The audience is intended to represent the recipient of the token. As long as the audience in the token matches at least one audience in the policy, the token is considered a match. If unspecified, the default value is your Databricks account id.\n* Optionally, the public keys used to validate the signature of the workload identity tokens, in JWKS format. If unspecified (recommended), Databricks automatically fetches the public keys from the issuer’s well known endpoint. Databricks strongly recommends relying on the issuer’s well known endpoint for discovering public keys.\n\nAn example service principal federation policy, for a Github Actions workload, is:\n```\nissuer: \"https://token.actions.githubusercontent.com\"\naudiences: [\"https://github.com/my-github-org\"]\nsubject: \"repo:my-github-org/my-repo:environment:prod\"\n```\n\nAn example JWT token body that matches this policy and could be used to authenticate to Databricks is:\n```\n{\n\"iss\": \"https://token.actions.githubusercontent.com\",\n\"aud\": \"https://github.com/my-github-org\",\n\"sub\": \"repo:my-github-org/my-repo:environment:prod\"\n}\n```\n\nYou may also need to configure the workload runtime to generate tokens for your workloads.\n\nYou do not need to configure an OAuth application in Databricks to use token federation.", - "package": { - "name": "oauth2" - }, - "is_accounts": true, - "docs_group": "oauth2", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListServicePrincipalFederationPoliciesRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Create account federation policy.", - "summary": "Create service principal federation policy.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies", + "name": "UpdateConfig", + "description": "Updates any combination of the serving endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. An endpoint that already has an update in progress can not be updated until the current update completes or fails.", + "summary": "Update config of a serving endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/config", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateServicePrincipalFederationPolicyRequest", + "pascal_name": "EndpointCoreConfigInput", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true - } - }, - { - "name": "policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true - } - } - ], - "required_request_body_fields": [ - { - "name": "policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true - } - }, "response": { - "pascal_name": "FederationPolicy", + "pascal_name": "ServingEndpointDetailed", "is_object": true }, "all_fields": [ { - "name": "policy", - "required": true, + "name": "auto_capture_config", + "description": "Configuration for legacy Inference Tables which automatically log requests and responses to Unity\nCatalog.\nDeprecated: please use AI Gateway inference tables instead. See\nhttps://docs.databricks.com/aws/en/ai-gateway/inference-tables.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "FederationPolicy", + "pascal_name": "AutoCaptureConfigInput", "is_object": true } }, { - "name": "policy_id", - "description": "The identifier for the federation policy. The identifier must contain only lowercase\nalphanumeric characters, numbers, hyphens, and slashes. If unspecified, the id will be\nassigned by Databricks.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint to update. This field is required.", "required": true, "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "create_time", - "description": "Creation time of the federation policy.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "description", - "description": "Description of the federation policy.", + "name": "served_entities", + "description": "The list of served entities under the serving endpoint config.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServedEntityInputList", + "array_value": { + "pascal_name": "ServedEntityInput", + "is_object": true + } } }, { - "name": "name", - "description": "Resource name for the federation policy. Example values include\n`accounts/\u003caccount-id\u003e/federationPolicies/my-federation-policy` for Account Federation Policies, and\n`accounts/\u003caccount-id\u003e/servicePrincipals/\u003cservice-principal-id\u003e/federationPolicies/my-federation-policy`\nfor Service Principal Federation Policies. Typically an output parameter, which does not need to be\nspecified in create or update requests. If specified in a request, must match the value in the\nrequest URL.", - "is_output_only": true, + "name": "served_models", + "description": "(Deprecated, use served_entities instead) The list of served models under the serving endpoint config.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServedModelInputList", + "array_value": { + "pascal_name": "ServedModelInput", + "is_object": true + } } }, { - "name": "oidc_policy", + "name": "traffic_config", + "description": "The traffic configuration associated with the serving endpoint config.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "OidcFederationPolicy", + "pascal_name": "TrafficConfig", "is_object": true } - }, - { - "name": "policy_id", - "description": "The ID of the federation policy. Output only.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "service_principal_id", - "description": "The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "uid", - "description": "Unique, immutable id of the federation policy.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_time", - "description": "Last update time of the federation policy.", - "is_computed": true, - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } - ] + ], + "wait": { + "success": [ + { + "content": "NOT_UPDATING" + } + ], + "timeout": 20, + "poll": { + "response": { + "pascal_name": "ServingEndpointDetailed" + } + }, + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "ConfigUpdate" + } + ] + } }, { - "name": "Delete", - "description": "Delete account federation policy.", - "summary": "Delete service principal federation policy.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies/{policy_id}", + "name": "UpdateNotifications", + "description": "Updates the email and webhook notification settings for an endpoint.", + "summary": "Update the email and webhook notification settings for an endpoint.", + "path": "/api/2.0/serving-endpoints/{name}/notifications", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteServicePrincipalFederationPolicyRequest", + "pascal_name": "UpdateInferenceEndpointNotifications", "is_object": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -183158,41 +191218,34 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "UpdateInferenceEndpointNotificationsResponse", + "is_object": true }, "all_fields": [ { - "name": "policy_id", - "description": "The identifier for the federation policy.", - "required": true, - "is_path": true, + "name": "email_notifications", + "description": "The email notification settings to update. Specify email addresses to notify when endpoint state changes occur.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "EmailNotifications", + "is_object": true } }, { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", "required": true, "is_path": true, "entity": { @@ -183202,30 +191255,21 @@ ] }, { - "name": "Get", - "description": "Get account federation policy.", - "summary": "Get service principal federation policy.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies/{policy_id}", - "is_crud_read": true, + "name": "UpdatePermissions", + "description": "Updates the permissions on a serving endpoint. Serving endpoints can inherit permissions from their root object.", + "summary": "Update serving endpoint permissions.", + "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetServicePrincipalFederationPolicyRequest", + "pascal_name": "ServingEndpointPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -183235,17 +191279,8 @@ ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -183255,42 +191290,35 @@ ] }, "response": { - "pascal_name": "FederationPolicy", + "pascal_name": "ServingEndpointPermissions", "is_object": true }, "all_fields": [ { - "name": "policy_id", - "description": "The identifier for the federation policy.", - "required": true, - "is_path": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServingEndpointAccessControlRequestList", + "array_value": { + "pascal_name": "ServingEndpointAccessControlRequest", + "is_object": true + } } }, { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "serving_endpoint_id", + "description": "The serving endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -183300,302 +191328,328 @@ ] }, { - "name": "List", - "description": "List account federation policies.", - "summary": "List service principal federation policies.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies", + "name": "UpdateProvisionedThroughputEndpointConfig", + "description": "Updates any combination of the pt endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. Updates are instantaneous and endpoint should be updated instantly", + "summary": "Update config of a PT serving endpoint.", + "path": "/api/2.0/serving-endpoints/pt/{name}/config", + "can_use_json": true, + "must_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListServicePrincipalFederationPoliciesRequest", + "pascal_name": "UpdateProvisionedThroughputEndpointConfigRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the pt endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true + } + }, + { + "name": "config", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PtEndpointCoreConfig", + "is_object": true } } ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the pt endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "config", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PtEndpointCoreConfig", + "is_object": true } } ] }, "response": { - "pascal_name": "ListFederationPoliciesResponse", + "pascal_name": "ServingEndpointDetailed", "is_object": true }, "all_fields": [ { - "name": "page_size", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "is_query": true, + "name": "config", + "required": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PtEndpointCoreConfig", + "is_object": true } }, { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the pt endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", + "name": "name", + "description": "The name of the pt endpoint to update. This field is required.", "required": true, "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } + "wait": { + "success": [ + { + "content": "NOT_UPDATING" } - } + ], + "timeout": 20, + "poll": { + "response": { + "pascal_name": "ServingEndpointDetailed" + } + }, + "status_path": [ + { + "pascal_name": "State" + }, + { + "pascal_name": "ConfigUpdate" + } + ] } - }, + } + ] + }, + { + "id": "serving.ServingEndpointsDataPlane", + "name": "ServingEndpointsDataPlane", + "description": "Serving endpoints DataPlane provides a set of operations to interact with data plane endpoints for Serving endpoints service.", + "package": { + "name": "serving" + }, + "is_data_plane": true, + "docs_group": "serving", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "Update", - "description": "Update account federation policy.", - "summary": "Update service principal federation policy.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/federationPolicies/{policy_id}", + "name": "Query", + "description": "Query a serving endpoint", + "summary": "Query a serving endpoint.", + "path": "/serving-endpoints/{name}/invocations", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateServicePrincipalFederationPolicyRequest", + "pascal_name": "QueryEndpointInput", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true - } } ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true - } - } ] }, - "request_body_field": { - "name": "policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "FederationPolicy", - "is_object": true - } - }, "response": { - "pascal_name": "FederationPolicy", + "pascal_name": "QueryEndpointResponse", "is_object": true }, "all_fields": [ { - "name": "policy", - "required": true, + "name": "client_request_id", + "description": "Optional user-provided request identifier that will be recorded in the inference table and the usage tracking table.", "is_request_body_field": true, "entity": { - "pascal_name": "FederationPolicy", - "is_object": true + "is_string": true } }, { - "name": "policy_id", - "description": "The identifier for the federation policy.", - "required": true, - "is_path": true, + "name": "dataframe_records", + "description": "Pandas Dataframe input in the records orientation.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_any": true + } } }, { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, + "name": "dataframe_split", + "description": "Pandas Dataframe input in the split orientation.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int64": true + "pascal_name": "DataframeSplitInput", + "is_object": true } }, { - "name": "update_mask", - "description": "The field mask specifies which fields of the policy to update. To specify multiple fields\nin the field mask, use comma as the separator (no space). The special value '*' indicates\nthat all fields should be updated (full replacement). If unspecified, all fields that are\nset in the policy provided in the update request will overwrite the corresponding fields\nin the existing policy. Example value: 'description,oidc_policy.audiences'.", - "is_query": true, + "name": "extra_params", + "description": "The extra parameters field used ONLY for __completions, chat,__ and __embeddings external \u0026 foundation\nmodel__ serving endpoints. This is a map of strings and should only be used with other external/foundation\nmodel query fields.", + "is_request_body_field": true, "entity": { - "is_string": true + "map_value": { + "is_string": true + } } }, { - "name": "create_time", - "description": "Creation time of the federation policy.", - "is_computed": true, - "is_output_only": true, + "name": "input", + "description": "The input string (or array of strings) field used ONLY for __embeddings external \u0026 foundation model__\nserving endpoints and is the only field (along with extra_params if needed) used by embeddings queries.", "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } }, { - "name": "description", - "description": "Description of the federation policy.", + "name": "inputs", + "description": "Tensor-based input in columnar format.", "is_request_body_field": true, "entity": { - "is_string": true + "is_any": true } }, { - "name": "name", - "description": "Resource name for the federation policy. Example values include\n`accounts/\u003caccount-id\u003e/federationPolicies/my-federation-policy` for Account Federation Policies, and\n`accounts/\u003caccount-id\u003e/servicePrincipals/\u003cservice-principal-id\u003e/federationPolicies/my-federation-policy`\nfor Service Principal Federation Policies. Typically an output parameter, which does not need to be\nspecified in create or update requests. If specified in a request, must match the value in the\nrequest URL.", - "is_output_only": true, + "name": "instances", + "description": "Tensor-based input in row format.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_any": true + } } }, { - "name": "oidc_policy", + "name": "max_tokens", + "description": "The max tokens field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is an integer and should only be used with other chat/completions query fields.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "OidcFederationPolicy", - "is_object": true + "is_int": true } }, { - "name": "policy_id", - "description": "The ID of the federation policy. Output only.", - "is_output_only": true, + "name": "messages", + "description": "The messages field used ONLY for __chat external \u0026 foundation model__ serving endpoints.\nThis is an array of ChatMessage objects and should only be used with other chat query fields.", "is_request_body_field": true, + "entity": { + "pascal_name": "ChatMessageList", + "array_value": { + "pascal_name": "ChatMessage", + "is_object": true + } + } + }, + { + "name": "n", + "description": "The n (number of candidates) field used ONLY for __completions__ and __chat external \u0026 foundation model__\nserving endpoints. This is an integer between 1 and 5 with a default of 1 and should only be used with\nother chat/completions query fields.", + "is_request_body_field": true, + "entity": { + "is_int": true + } + }, + { + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "service_principal_id", - "description": "The service principal ID that this federation policy applies to. Output only. Only set for service principal federation policies.", - "is_output_only": true, + "name": "prompt", + "description": "The prompt string (or array of strings) field used ONLY for __completions external \u0026 foundation model__\nserving endpoints and should only be used with other completions query fields.", "is_request_body_field": true, "entity": { - "is_int64": true + "is_any": true } }, { - "name": "uid", - "description": "Unique, immutable id of the federation policy.", - "is_computed": true, - "is_output_only": true, + "name": "stop", + "description": "The stop sequences field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a list of strings and should only be used with other chat/completions query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "update_time", - "description": "Last update time of the federation policy.", - "is_computed": true, - "is_output_only": true, + "name": "stream", + "description": "The stream field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving endpoints.\nThis is a boolean defaulting to false and should only be used with other chat/completions query fields.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "service_principal_id", - "description": "The service principal id for the federation policy.", - "required": true, - "is_path": true, + "name": "temperature", + "description": "The temperature field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a float between 0.0 and 2.0 with a default of 1.0 and should only be used with other\nchat/completions query fields.", + "is_request_body_field": true, "entity": { - "is_int64": true + "is_float64": true } }, { - "name": "policy_id", - "description": "The identifier for the federation policy.", + "name": "usage_context", + "description": "Optional user-provided context that will be recorded in the usage tracking table.", + "is_request_body_field": true, + "entity": { + "map_value": { + "is_string": true + } + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", "required": true, "is_path": true, "entity": { @@ -183607,39 +191661,92 @@ ] }, { - "id": "oauth2.ServicePrincipalSecrets", - "name": "ServicePrincipalSecrets", - "description": "These APIs enable administrators to manage service principal secrets.\n\nYou can use the generated secrets to obtain OAuth access tokens for a service principal, which can then be used to access Databricks Accounts and Workspace APIs. For more information, see [Authentication using OAuth tokens for service principals](https://docs.databricks.com/dev-tools/authentication-oauth.html).\n\nIn addition, the generated secrets can be used to configure the Databricks Terraform Provider to authenticate with the service principal. For more information, see [Databricks Terraform Provider](https://github.com/databricks/terraform-provider-databricks/blob/master/docs/index.md#authenticating-with-service-principal).", + "id": "settings.Settings", + "name": "Settings", + "description": "Workspace Settings API allows users to manage settings at the workspace level.", "package": { - "name": "oauth2" + "name": "settings" + }, + "has_subservices": true, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "subservice_ids": [ + "settings.AibiDashboardEmbeddingAccessPolicy", + "settings.AibiDashboardEmbeddingApprovedDomains", + "settings.AutomaticClusterUpdate", + "settings.ComplianceSecurityProfile", + "settings.DashboardEmailSubscriptions", + "settings.DefaultNamespace", + "settings.DefaultWarehouseId", + "settings.DisableLegacyAccess", + "settings.DisableLegacyDbfs", + "settings.EnableExportNotebook", + "settings.EnableNotebookTableClipboard", + "settings.EnableResultsDownloading", + "settings.EnhancedSecurityMonitoring", + "settings.LlmProxyPartnerPoweredWorkspace", + "settings.RestrictWorkspaceAdmins", + "settings.SqlResultsDownload" + ] + }, + { + "id": "settings.AccountSettings", + "name": "AccountSettings", + "description": "Accounts Settings API allows users to manage settings at the account level.", + "package": { + "name": "settings" }, "is_accounts": true, - "docs_group": "oauth2", + "has_subservices": true, + "docs_group": "settings", "launch_stage": "GA", "cli_launch_stage_display": "GA", + "subservice_ids": [ + "settings.CspEnablementAccount", + "settings.DisableLegacyFeatures", + "settings.EnableIpAccessLists", + "settings.EsmEnablementAccount", + "settings.LlmProxyPartnerPoweredAccount", + "settings.LlmProxyPartnerPoweredEnforce", + "settings.PersonalCompute" + ] + }, + { + "id": "settingsv2.AccountSettingsV2", + "name": "AccountSettingsV2", + "description": "APIs to manage account level settings", + "package": { + "name": "settingsv2" + }, + "is_accounts": true, + "docs_group": "settings", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "list": { "request": { - "pascal_name": "ListServicePrincipalSecretsRequest" + "pascal_name": "ListAccountSettingsMetadataRequest" } }, "methods": [ { - "name": "Create", - "description": "Create a secret for the given service principal.", - "summary": "Create service principal secret.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/credentials/secrets", - "can_use_json": true, - "is_crud_create": true, + "name": "GetPublicAccountSetting", + "description": "Get a setting value at account level. See :method:settingsv2/listaccountsettingsmetadata for list of setting available via public APIs at account level.", + "summary": "Get an account setting.", + "path": "/api/2.1/accounts/{account_id}/settings/{name}", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateServicePrincipalSecretRequest", + "pascal_name": "GetPublicAccountSettingRequest", "is_object": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { @@ -183649,8 +191756,7 @@ ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { @@ -183660,21 +191766,12 @@ ] }, "response": { - "pascal_name": "CreateServicePrincipalSecretResponse", + "pascal_name": "Setting", "is_object": true }, "all_fields": [ { - "name": "lifetime", - "description": "The lifetime of the secret in seconds. If this parameter is not provided, the secret will have a default lifetime of 730 days (63072000s).", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { @@ -183684,8 +191781,7 @@ ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { @@ -183695,20 +191791,22 @@ ] }, { - "name": "Delete", - "description": "Delete a secret from the given service principal.", - "summary": "Delete service principal secret.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/credentials/secrets/{secret_id}", + "name": "GetPublicAccountUserPreference", + "description": "Get a user preference for a specific user.\nUser preferences are personal settings that allow individual customization without affecting other users.\nSee :method:settingsv2/listaccountuserpreferencesmetadata for list of user preferences available via public APIs.", + "summary": "Get a user preference.", + "path": "/api/2.1/accounts/{account_id}/users/{user_id}/settings/{name}", "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": "DeleteServicePrincipalSecretRequest", + "pascal_name": "GetPublicAccountUserPreferenceRequest", "is_object": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183716,8 +191814,8 @@ } }, { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", + "description": "User Setting name.", "required": true, "is_path": true, "entity": { @@ -183727,8 +191825,8 @@ ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183736,8 +191834,8 @@ } }, { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", + "description": "User Setting name.", "required": true, "is_path": true, "entity": { @@ -183747,12 +191845,13 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "UserPreference", + "is_object": true }, "all_fields": [ { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", + "description": "User Setting name.", "required": true, "is_path": true, "entity": { @@ -183760,8 +191859,8 @@ } }, { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183771,8 +191870,8 @@ ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183780,8 +191879,8 @@ } }, { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", + "description": "User Setting name.", "required": true, "is_path": true, "entity": { @@ -183791,20 +191890,71 @@ ] }, { - "name": "List", - "description": "List all secrets associated with the given service principal. This operation only returns information about the secrets themselves and does not include the secret values.", - "summary": "List service principal secrets.", - "path": "/api/2.0/accounts/{account_id}/servicePrincipals/{service_principal_id}/credentials/secrets", + "name": "ListAccountSettingsMetadata", + "description": "List valid setting keys and metadata. These settings are available to be referenced via\nGET :method:settingsv2/getpublicaccountsetting and\nPATCH :method:settingsv2/patchpublicaccountsetting APIs", + "summary": "List valid setting keys and their metadata.", + "path": "/api/2.1/accounts/{account_id}/settings-metadata", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListServicePrincipalSecretsRequest", + "pascal_name": "ListAccountSettingsMetadataRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListAccountSettingsMetadataResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "The maximum number of settings to return. The service may return fewer than this value.\nIf unspecified, at most 200 settings will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous `ListAccountSettingsMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountSettingsMetadataRequest` must match\nthe call that provided the page token.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListAccountSettingsMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountSettingsMetadataRequest` must match\nthe call that provided the page token.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListAccountUserPreferencesMetadata", + "description": "List valid user preferences and their metadata for a specific user.\nUser preferences are personal settings that allow individual customization without affecting other users.\nThese settings are available to be referenced via\nGET :method:settingsv2/getpublicaccountuserpreference and\nPATCH :method:settingsv2/patchpublicaccountuserpreference APIs", + "summary": "List user preferences and their metadata.", + "path": "/api/2.1/accounts/{account_id}/users/{user_id}/settings-metadata", + "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": "ListAccountUserPreferencesMetadataRequest", "is_object": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose settings metadata is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183814,8 +191964,8 @@ ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose settings metadata is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183825,12 +191975,13 @@ ] }, "response": { - "pascal_name": "ListServicePrincipalSecretsResponse", + "pascal_name": "ListAccountUserPreferencesMetadataResponse", "is_object": true }, "all_fields": [ { "name": "page_size", + "description": "The maximum number of settings to return. The service may return fewer than this value.\nIf unspecified, at most 200 settings will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.", "is_query": true, "entity": { "is_int": true @@ -183838,15 +191989,15 @@ }, { "name": "page_token", - "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", + "description": "A page token, received from a previous `ListAccountUserPreferencesMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountUserPreferencesMetadataRequest` must match\nthe call that provided the page token.", "is_query": true, "entity": { "is_string": true } }, { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose settings metadata is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183856,8 +192007,8 @@ ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose settings metadata is being retrieved.", "required": true, "is_path": true, "entity": { @@ -183869,7 +192020,7 @@ "token": { "poll_field": { "name": "page_token", - "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", + "description": "A page token, received from a previous `ListAccountUserPreferencesMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountUserPreferencesMetadataRequest` must match\nthe call that provided the page token.", "is_query": true, "entity": { "is_string": true @@ -183877,88 +192028,332 @@ } } } - } - ] - }, - { - "id": "oauth2.ServicePrincipalSecretsProxy", - "name": "ServicePrincipalSecretsProxy", - "description": "These APIs enable administrators to manage service principal secrets at the workspace level. To use these APIs, the service principal must be first added to the current workspace.\n\nYou can use the generated secrets to obtain OAuth access tokens for a service principal, which can then be used to access Databricks Accounts and Workspace APIs. For more information, see [Authentication using OAuth tokens for service principals](https://docs.databricks.com/dev-tools/authentication-oauth.html).\n\nIn addition, the generated secrets can be used to configure the Databricks Terraform Providerto authenticate with the service principal. For more information, see [Databricks Terraform Provider](https://github.com/databricks/terraform-provider-databricks/blob/master/docs/index.md#authenticating-with-service-principal).", - "package": { - "name": "oauth2" - }, - "docs_group": "oauth2", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListServicePrincipalSecretsRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Create a secret for the given service principal.", - "summary": "Create service principal secret.", - "path": "/api/2.0/accounts/servicePrincipals/{service_principal_id}/credentials/secrets", + "name": "PatchPublicAccountSetting", + "description": "Patch a setting value at account level. See :method:settingsv2/listaccountsettingsmetadata for list of setting available via public APIs at account level.\nTo determine the correct field to include in a patch request, refer to the type field of the setting returned in the :method:settingsv2/listaccountsettingsmetadata response.\n\nNote: Page refresh is required for changes to take effect in UI.", + "summary": "Update an account setting.", + "path": "/api/2.1/accounts/{account_id}/settings/{name}", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateServicePrincipalSecretRequest", + "pascal_name": "PatchPublicAccountSettingRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Setting", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Setting", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Setting", + "is_object": true + } + }, "response": { - "pascal_name": "CreateServicePrincipalSecretResponse", + "pascal_name": "Setting", "is_object": true }, "all_fields": [ { - "name": "lifetime", - "description": "The lifetime of the secret in seconds. If this parameter is not provided, the secret will have a default lifetime of 730 days (63072000s).", - "is_request_body_field": true, + "name": "name", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "setting", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Setting", + "is_object": true + } + }, + { + "name": "aibi_dashboard_embedding_access_policy", + "description": "Setting value for aibi_dashboard_embedding_access_policy setting. This is the setting value set by consumers, check effective_aibi_dashboard_embedding_access_policy for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AibiDashboardEmbeddingAccessPolicy", + "is_object": true + } + }, + { + "name": "aibi_dashboard_embedding_approved_domains", + "description": "Setting value for aibi_dashboard_embedding_approved_domains setting. This is the setting value set by consumers, check effective_aibi_dashboard_embedding_approved_domains for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AibiDashboardEmbeddingApprovedDomains", + "is_object": true + } + }, + { + "name": "allowed_apps_user_api_scopes", + "description": "Setting value for allowed_apps_user_api_scopes setting. This is the setting value set by consumers, check effective_allowed_apps_user_api_scopes for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AllowedAppsUserApiScopesMessage", + "is_object": true + } + }, + { + "name": "automatic_cluster_update_workspace", + "description": "Setting value for automatic_cluster_update_workspace setting. This is the setting value set by consumers, check effective_automatic_cluster_update_workspace for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "ClusterAutoRestartMessage", + "is_object": true + } + }, + { + "name": "boolean_val", + "description": "Setting value for boolean type setting. This is the setting value set by consumers, check effective_boolean_val for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + }, + { + "name": "collaboration_platform_connectivity", + "description": "Setting value for collaboration_platform_connectivity setting. This is the setting value set by consumers, check effective_collaboration_platform_connectivity for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CollaborationPlatformConnectivityMessage", + "is_object": true + } + }, + { + "name": "effective_aibi_dashboard_embedding_access_policy", + "description": "Effective setting value for aibi_dashboard_embedding_access_policy setting. This is the final effective value of setting. To set a value use aibi_dashboard_embedding_access_policy.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AibiDashboardEmbeddingAccessPolicy", + "is_object": true + } + }, + { + "name": "effective_aibi_dashboard_embedding_approved_domains", + "description": "Effective setting value for aibi_dashboard_embedding_approved_domains setting. This is the final effective value of setting. To set a value use aibi_dashboard_embedding_approved_domains.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AibiDashboardEmbeddingApprovedDomains", + "is_object": true + } + }, + { + "name": "effective_allowed_apps_user_api_scopes", + "description": "Effective setting value for allowed_apps_user_api_scopes setting. This is the final effective value of setting. To set a value use allowed_apps_user_api_scopes.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AllowedAppsUserApiScopesMessage", + "is_object": true + } + }, + { + "name": "effective_automatic_cluster_update_workspace", + "description": "Effective setting value for automatic_cluster_update_workspace setting. This is the final effective value of setting. To set a value use automatic_cluster_update_workspace.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "ClusterAutoRestartMessage", + "is_object": true + } + }, + { + "name": "effective_boolean_val", + "description": "Effective setting value for boolean type setting. This is the final effective value of setting. To set a value use boolean_val.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + }, + { + "name": "effective_collaboration_platform_connectivity", + "description": "Effective setting value for collaboration_platform_connectivity setting. This is the final effective value of setting. To set a value use collaboration_platform_connectivity.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CollaborationPlatformConnectivityMessage", + "is_object": true + } + }, + { + "name": "effective_integer_val", + "description": "Effective setting value for integer type setting. This is the final effective value of setting. To set a value use integer_val.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IntegerMessage", + "is_object": true + } + }, + { + "name": "effective_operational_email_custom_recipient", + "description": "Effective setting value for operational_email_custom_recipient setting. This is the final effective value of setting. To set a value use operational_email_custom_recipient.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "OperationalEmailCustomRecipientMessage", + "is_object": true + } + }, + { + "name": "effective_personal_compute", + "description": "Effective setting value for personal_compute setting. This is the final effective value of setting. To set a value use personal_compute.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PersonalComputeMessage", + "is_object": true + } + }, + { + "name": "effective_restrict_workspace_admins", + "description": "Effective setting value for restrict_workspace_admins setting. This is the final effective value of setting. To set a value use restrict_workspace_admins.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsMessage", + "is_object": true + } + }, + { + "name": "effective_string_val", + "description": "Effective setting value for string type setting. This is the final effective value of setting. To set a value use string_val.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "StringMessage", + "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.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "IntegerMessage", + "is_object": true + } + }, + { + "name": "name", + "description": "Name of the setting.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "operational_email_custom_recipient", + "description": "Setting value for operational_email_custom_recipient setting. This is the setting value set by consumers, check effective_operational_email_custom_recipient for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "OperationalEmailCustomRecipientMessage", + "is_object": true + } + }, + { + "name": "personal_compute", + "description": "Setting value for personal_compute setting. This is the setting value set by consumers, check effective_personal_compute for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "PersonalComputeMessage", + "is_object": true + } + }, + { + "name": "restrict_workspace_admins", + "description": "Setting value for restrict_workspace_admins setting. This is the setting value set by consumers, check effective_restrict_workspace_admins for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RestrictWorkspaceAdminsMessage", + "is_object": true + } + }, + { + "name": "string_val", + "description": "Setting value for string type setting. This is the setting value set by consumers, check effective_string_val for final setting value.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "StringMessage", + "is_object": true } } ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "name", "required": true, "is_path": true, "entity": { @@ -183968,20 +192363,24 @@ ] }, { - "name": "Delete", - "description": "Delete a secret from the given service principal.", - "summary": "Delete service principal secret.", - "path": "/api/2.0/accounts/servicePrincipals/{service_principal_id}/credentials/secrets/{secret_id}", + "name": "PatchPublicAccountUserPreference", + "description": "Update a user preference for a specific user.\nUser preferences are personal settings that allow individual customization without affecting other users.\nSee :method:settingsv2/listaccountuserpreferencesmetadata for list of user preferences available via public APIs.\n\nNote: Page refresh is required for changes to take effect in UI.", + "summary": "Update a user preference.", + "path": "/api/2.1/accounts/{account_id}/users/{user_id}/settings/{name}", + "can_use_json": 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": "DeleteServicePrincipalSecretRequest", + "pascal_name": "PatchPublicAccountUserPreferenceRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being updated.", "required": true, "is_path": true, "entity": { @@ -183989,19 +192388,27 @@ } }, { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserPreference", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being updated.", "required": true, "is_path": true, "entity": { @@ -184009,23 +192416,42 @@ } }, { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserPreference", + "is_object": true + } + } ] }, + "request_body_field": { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserPreference", + "is_object": true + } + }, "response": { - "is_empty_response": true + "pascal_name": "UserPreference", + "is_object": true }, "all_fields": [ { - "name": "secret_id", - "description": "The secret ID.", + "name": "name", "required": true, "is_path": true, "entity": { @@ -184033,19 +192459,17 @@ } }, { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "setting", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserPreference", + "is_object": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being updated.", "required": true, "is_path": true, "entity": { @@ -184053,75 +192477,55 @@ } }, { - "name": "secret_id", - "description": "The secret ID.", - "required": true, - "is_path": true, + "name": "boolean_val", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "List", - "description": "List all secrets associated with the given service principal. This operation only returns information about the secrets themselves and does not include the secret values.", - "summary": "List service principal secrets.", - "path": "/api/2.0/accounts/servicePrincipals/{service_principal_id}/credentials/secrets", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListServicePrincipalSecretsRequest", - "is_object": true, - "required_fields": [ - { - "name": "service_principal_id", - "description": "The service principal ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "BooleanMessage", + "is_object": true } - ], - "required_in_url_fields": [ - { - "name": "service_principal_id", - "description": "The service principal ID.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "effective_boolean_val", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true } - ] - }, - "response": { - "pascal_name": "ListServicePrincipalSecretsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "page_size", - "is_query": true, + "name": "effective_string_val", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int": true + "pascal_name": "StringMessage", + "is_object": true } }, { - "name": "page_token", - "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", - "is_query": true, + "name": "name", + "description": "Name of the setting.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "service_principal_id", - "description": "The service principal ID.", - "required": true, - "is_path": true, + "name": "string_val", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "StringMessage", + "is_object": true + } + }, + { + "name": "user_id", + "description": "User ID of the user.", + "is_request_body_field": true, "entity": { "is_string": true } @@ -184129,178 +192533,137 @@ ], "required_positional_arguments": [ { - "name": "service_principal_id", - "description": "The service principal ID.", + "name": "user_id", + "description": "User ID of the user whose setting is being updated.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "An opaque page token which was the `next_page_token` in the response of the previous request to list the secrets for this service principal. Provide this token to retrieve the next page of secret entries.\nWhen providing a `page_token`, all other parameters provided to the request must match the previous request.\nTo list all of the secrets for a service principal, it is necessary to continue requesting pages of entries until the response contains no `next_page_token`. Note that the number of entries returned must not be used to determine when the listing is complete.", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "name", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } + ] } ] }, { - "id": "iam.ServicePrincipalsV2", - "name": "ServicePrincipalsV2", - "description": "Identities for use with jobs, automated tools, and systems such as scripts, apps, and\nCI/CD platforms. Databricks recommends creating service principals to run production jobs\nor modify production data. If all processes that act on production data run with service\nprincipals, interactive users do not need any write, delete, or modify privileges in\nproduction. This eliminates the risk of a user overwriting production data by accident.", + "id": "sharing.Shares", + "name": "Shares", + "description": "A share is a container instantiated with :method:shares/create. Once created you can\niteratively register a collection of existing data assets defined within the metastore\nusing :method:shares/update. You can register data assets under their original name,\nqualified by their original schema, or provide alternate exposed names.", "package": { - "name": "iam" + "name": "sharing" }, - "docs_group": "iam", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "docs_group": "sharing", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "request": { - "pascal_name": "ListServicePrincipalsRequest" + "pascal_name": "SharesListRequest" } }, "methods": [ { "name": "Create", - "description": "Creates a new service principal in the Databricks workspace.", - "summary": "Create a service principal.", - "path": "/api/2.0/preview/scim/v2/ServicePrincipals", + "description": "Creates a new share for data objects. Data objects can be added after creation with **update**.\nThe caller must be a metastore admin or have the **CREATE_SHARE** privilege on the metastore.", + "summary": "Create a share.", + "path": "/api/2.1/unity-catalog/shares", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateServicePrincipalRequest", - "is_object": true + "pascal_name": "CreateShare", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "Name of the share.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "name", + "description": "Name of the share.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ServicePrincipal", + "pascal_name": "ShareInfo", "is_object": true }, "all_fields": [ { - "name": "active", - "description": "If this user is active", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "applicationId", - "description": "UUID relating to the service principal", + "name": "comment", + "description": "User-provided free-form text description.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "displayName", - "description": "String that represents a concatenation of given and family names.", + "name": "name", + "description": "Name of the share.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entitlements", - "description": "Entitlements assigned to the service principal. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } - } - }, - { - "name": "externalId", + "name": "storage_root", + "description": "Storage root URL for the share.", "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "groups", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } - } - }, + } + ], + "required_positional_arguments": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "name", + "description": "Name of the share.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "roles", - "description": "Corresponds to AWS instance profile/arn role.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } - } - }, - { - "name": "schemas", - "description": "The schema of the List response.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ServicePrincipalSchemaList", - "array_value": { - "pascal_name": "ServicePrincipalSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal" - } - ] - } - } } ] }, { "name": "Delete", - "description": "Delete a single service principal in the Databricks workspace.", - "summary": "Delete a service principal.", - "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", + "description": "Deletes a data object share from the metastore. The caller must be an owner of the share.", + "summary": "Delete a share.", + "path": "/api/2.1/unity-catalog/shares/{name}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteServicePrincipalRequest", + "pascal_name": "DeleteShareRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184310,8 +192673,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184325,8 +192688,8 @@ }, "all_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184336,8 +192699,8 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184348,22 +192711,20 @@ }, { "name": "Get", - "description": "Gets the details for a single service principal define in the Databricks workspace.", - "summary": "Get service principal details.", - "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", + "description": "Gets a data object share from the metastore. The caller must have the USE_SHARE privilege on the metastore or be the owner of the share.", + "summary": "Get a share.", + "path": "/api/2.1/unity-catalog/shares/{name}", "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetServicePrincipalRequest", + "pascal_name": "GetShareRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184373,8 +192734,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184384,13 +192745,21 @@ ] }, "response": { - "pascal_name": "ServicePrincipal", + "pascal_name": "ShareInfo", "is_object": true }, "all_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "include_shared_data", + "description": "Query for data to include in the share.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184400,8 +192769,8 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks workspace.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184411,126 +192780,76 @@ ] }, { - "name": "List", - "description": "Gets the set of service principals associated with a Databricks workspace.", - "summary": "List service principals.", - "path": "/api/2.0/preview/scim/v2/ServicePrincipals", + "name": "ListShares", + "description": "Gets an array of data object shares from the metastore. If the caller has the USE_SHARE privilege on the metastore, all shares are returned. Otherwise, only shares owned by the caller are returned.\nThere is no guarantee of a specific ordering of the elements in the array.", + "summary": "List shares.", + "path": "/api/2.1/unity-catalog/shares", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListServicePrincipalsRequest", + "pascal_name": "SharesListRequest", "is_object": true }, "response": { - "pascal_name": "ListServicePrincipalResponse", + "pascal_name": "ListSharesResponse", "is_object": true }, "all_fields": [ { - "name": "attributes", - "description": "Comma-separated list of attributes to return in response.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "count", - "description": "Desired number of results per page.", - "is_query": true, - "entity": { - "is_int64": true - } - }, - { - "name": "excludedAttributes", - "description": "Comma-separated list of attributes to exclude in response.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "filter", - "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "name": "max_results", + "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "sortBy", - "description": "Attribute to sort the results.", + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } - }, - { - "name": "sortOrder", - "description": "The order to sort the results.", - "is_query": true, - "entity": { - "pascal_name": "ListSortOrder", - "enum": [ - { - "content": "ascending" - }, - { - "content": "descending" - } - ] - } - }, - { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, - "entity": { - "is_int64": true - } } ], "pagination": { - "offset": { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, - "entity": { - "is_int64": true + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } } }, - "limit": { - "name": "count", - "description": "Desired number of results per page.", + "max_results": { + "name": "max_results", + "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", "is_query": true, "entity": { - "is_int64": true + "is_int": true } } } }, { - "name": "Patch", - "description": "Partially updates the details of a single service principal in the Databricks workspace.", - "summary": "Update service principal details.", - "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", - "can_use_json": true, + "name": "SharePermissions", + "description": "Gets the permissions for a data share from the metastore.\nThe caller must have the USE_SHARE privilege on the metastore or be the owner of the share.", + "summary": "Get permissions.", + "path": "/api/2.1/unity-catalog/shares/{name}/permissions", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchServicePrincipalRequest", + "pascal_name": "SharePermissionsRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "name", + "description": "The name of the Recipient.", "required": true, "is_path": true, "entity": { @@ -184540,8 +192859,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "name", + "description": "The name of the Recipient.", "required": true, "is_path": true, "entity": { @@ -184551,50 +192870,40 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "GetSharePermissionsResponse", + "is_object": true }, "all_fields": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", - "required": true, - "is_path": true, + "name": "max_results", + "description": "Maximum number of permissions to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid permissions are returned (not recommended).\n- Note: The number of returned permissions might be less than the specified max_results size, even zero.\nThe only definitive indication that no further permissions can be fetched is when the next_page_token is unset from the response.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "Operations", - "is_request_body_field": true, + "name": "name", + "description": "The name of the Recipient.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "PatchList", - "array_value": { - "pascal_name": "Patch", - "is_object": true - } + "is_string": true } }, { - "name": "schemas", - "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", - "is_request_body_field": true, + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { - "pascal_name": "PatchSchemaList", - "array_value": { - "pascal_name": "PatchSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" - } - ] - } + "is_string": true } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "name", + "description": "The name of the Recipient.", "required": true, "is_path": true, "entity": { @@ -184605,22 +192914,20 @@ }, { "name": "Update", - "description": "Updates the details of a single service principal.\n\nThis action replaces the existing service principal with the same name.", - "summary": "Replace service principal.", - "path": "/api/2.0/preview/scim/v2/ServicePrincipals/{id}", + "description": "Updates the share with the changes and data objects in the request.\nThe caller must be the owner of the share or a metastore admin.\n\nWhen the caller is a metastore admin, only the __owner__ field can be updated.\n\nIn the case the share name is changed, **updateShare** requires that the caller is the owner of the share\nand has the CREATE_SHARE privilege.\n\nIf there are notebook files in the share, the __storage_root__ field cannot be updated.\n\nFor each table that is added through this method, the share owner must also have **SELECT** privilege on the table.\nThis privilege must be maintained indefinitely for recipients to be able to access the table.\nTypically, you should use a group as the share owner.\n\nTable removals through **update** do not require additional privileges.", + "summary": "Update a share.", + "path": "/api/2.1/unity-catalog/shares/{name}", "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateServicePrincipalRequest", + "pascal_name": "UpdateShare", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184630,8 +192937,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184641,105 +192948,150 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "ShareInfo", + "is_object": true }, "all_fields": [ { - "name": "active", - "description": "If this user is active", + "name": "comment", + "description": "User-provided free-form text description.", "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "applicationId", - "description": "UUID relating to the service principal", - "is_request_body_field": true, + "name": "name", + "description": "The name of the share.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "displayName", - "description": "String that represents a concatenation of given and family names.", + "name": "new_name", + "description": "New name for the share.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entitlements", - "description": "Entitlements assigned to the service principal. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", + "name": "owner", + "description": "Username of current owner of share.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_string": true } }, { - "name": "externalId", + "name": "storage_root", + "description": "Storage root URL for the share.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "groups", + "name": "updates", + "description": "Array of shared data object updates.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", + "pascal_name": "SharedDataObjectUpdateList", "array_value": { - "pascal_name": "ComplexValue", + "pascal_name": "SharedDataObjectUpdate", "is_object": true } } - }, + } + ], + "required_positional_arguments": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "UpdatePermissions", + "description": "Updates the permissions for a data share in the metastore.\nThe caller must have both the USE_SHARE and SET_SHARE_PERMISSION privileges on the metastore,\nor be the owner of the share.\n\nFor new recipient grants, the user must also be the owner of the recipients.\nrecipient revocations do not require additional privileges.", + "summary": "Update permissions.", + "path": "/api/2.1/unity-catalog/shares/{name}/permissions", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateSharePermissions", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The name of the share.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The name of the share.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "UpdateSharePermissionsResponse", + "is_object": true + }, + "all_fields": [ { - "name": "roles", - "description": "Corresponds to AWS instance profile/arn role.", + "name": "changes", + "description": "Array of permissions change objects.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", + "pascal_name": "PermissionsChangeList", "array_value": { - "pascal_name": "ComplexValue", + "pascal_name": "PermissionsChange", "is_object": true } } }, { - "name": "schemas", - "description": "The schema of the List response.", + "name": "name", + "description": "The name of the share.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "omit_permissions_list", + "description": "Optional. Whether to return the latest permissions list of the share in the response.", "is_request_body_field": true, "entity": { - "pascal_name": "ServicePrincipalSchemaList", - "array_value": { - "pascal_name": "ServicePrincipalSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal" - } - ] - } + "is_bool": true } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "name", + "description": "The name of the share.", "required": true, "is_path": true, "entity": { @@ -184751,109 +193103,284 @@ ] }, { - "id": "iam.AccountServicePrincipalsV2", - "name": "AccountServicePrincipalsV2", - "description": "Identities for use with jobs, automated tools, and systems such as scripts, apps, and\nCI/CD platforms. Databricks recommends creating service principals to run production jobs\nor modify production data. If all processes that act on production data run with service\nprincipals, interactive users do not need any write, delete, or modify privileges in\nproduction. This eliminates the risk of a user overwriting production data by accident.", + "id": "settings.SqlResultsDownload", + "name": "SqlResultsDownload", + "description": "Controls whether users within the workspace are allowed to download results from the SQL Editor and AI/BI Dashboards UIs. By default, this setting is enabled (set to `true`)", "package": { - "name": "iam" - }, - "is_accounts": true, - "docs_group": "iam", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListAccountServicePrincipalsRequest" - } + "name": "settings" }, + "has_parent": true, + "docs_group": "settings", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "parent_service_id": "settings.Settings", "methods": [ { - "name": "Create", - "description": "Creates a new service principal in the Databricks account.", - "summary": "Create a service principal.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals", - "can_use_json": true, - "is_crud_create": true, + "name": "Delete", + "description": "Reverts the SQL Results Download setting to its default value.", + "summary": "Delete the SQL Results Download setting.", + "path": "/api/2.0/settings/types/sql_results_download/names/default", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateAccountServicePrincipalRequest", + "pascal_name": "DeleteSqlResultsDownloadRequest", "is_object": true }, "response": { - "pascal_name": "AccountServicePrincipal", - "is_object": true + "pascal_name": "DeleteSqlResultsDownloadResponse", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] }, "all_fields": [ { - "name": "active", - "description": "If this user is active", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "applicationId", - "description": "UUID relating to the service principal", - "is_request_body_field": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "Get", + "description": "Gets the SQL Results Download setting.", + "summary": "Get the SQL Results Download setting.", + "path": "/api/2.0/settings/types/sql_results_download/names/default", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetSqlResultsDownloadRequest", + "is_object": true + }, + "response": { + "pascal_name": "SqlResultsDownload", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ] + }, + "all_fields": [ { - "name": "displayName", - "description": "String that represents a concatenation of given and family names.", - "is_request_body_field": true, + "name": "etag", + "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "is_query": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "Update", + "description": "Updates the SQL Results Download setting.", + "summary": "Update the SQL Results Download setting.", + "path": "/api/2.0/settings/types/sql_results_download/names/default", + "can_use_json": true, + "must_use_json": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "UpdateSqlResultsDownloadRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SqlResultsDownload", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "setting", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SqlResultsDownload", + "is_object": true + } + }, + { + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "SqlResultsDownload", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ], + "required_request_body_fields": [ + { + "name": "boolean_val", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "BooleanMessage", + "is_object": true + } + } + ] + }, + "all_fields": [ { - "name": "externalId", + "name": "allow_missing", + "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "id", - "description": "Databricks service principal ID.", + "name": "field_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "roles", - "description": "Indicates if the group has the admin role.", + "name": "setting", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "pascal_name": "SqlResultsDownload", + "is_object": true } } ] - }, + } + ] + }, + { + "id": "sql.StatementExecution", + "name": "StatementExecution", + "description": "The Databricks SQL Statement Execution API can be used to execute SQL statements on a SQL warehouse and fetch the result.\n\n**Getting started**\n\nWe suggest beginning with the [Databricks SQL Statement Execution API tutorial](https://docs.databricks.com/sql/api/sql-execution-tutorial.html).\n\n**Overview of statement execution and result fetching**\n\nStatement execution begins by issuing a :method:statementexecution/executeStatement request with a valid\nSQL statement and warehouse ID, along with optional parameters such as the data catalog and output format.\nIf no other parameters are specified, the server will wait for up to 10s before returning a response.\nIf the statement has completed within this timespan, the response will include the result data as a JSON\narray and metadata.\nOtherwise, if no result is available after the 10s timeout expired, the response will provide the\nstatement ID that can be used to poll for results by using a :method:statementexecution/getStatement\nrequest.\n\nYou can specify whether the call should behave synchronously, asynchronously\nor start synchronously with a fallback to asynchronous execution.\nThis is controlled with the `wait_timeout` and `on_wait_timeout` settings.\nIf `wait_timeout` is set between 5-50 seconds (default:\n10s), the call waits for results up to\nthe specified timeout; when set to `0s`, the call is asynchronous and responds immediately with a\nstatement ID. The `on_wait_timeout` setting specifies what should happen when the timeout is reached while\nthe statement execution has not yet finished. This can be set to either `CONTINUE`, to fallback to\nasynchronous mode, or it can be set to `CANCEL`, which cancels the statement.\n\nIn summary:\n- **Synchronous mode** (`wait_timeout=30s` and `on_wait_timeout=CANCEL`):\nThe call waits up to 30 seconds; if the statement execution finishes within this time,\nthe result data is returned directly in the response. If the execution takes longer than 30 seconds,\nthe execution is canceled and the call returns with a `CANCELED` state.\n- **Asynchronous mode** (`wait_timeout=0s` and `on_wait_timeout` is ignored):\nThe call doesn't wait for the statement to finish but returns directly with a statement ID.\nThe status of the statement execution can be polled by issuing :method:statementexecution/getStatement with the statement ID.\nOnce the execution has succeeded, this call also returns the result and metadata in the response.\n- **[Default] Hybrid mode** (`wait_timeout=10s` and `on_wait_timeout=CONTINUE`):\nThe call waits for up to 10 seconds; if the statement execution finishes within this time,\nthe result data is returned directly in the response. If the execution takes longer than 10\nseconds, a statement ID is returned. The statement ID can be used to fetch status and results in\nthe same way as in the asynchronous mode.\n\nDepending on the size, the result can be split into multiple chunks. If the statement execution is\nsuccessful, the statement response contains a manifest and the first chunk of the result. The manifest\ncontains schema information and provides metadata for each chunk in the result. Result chunks can be\nretrieved by index with :method:statementexecution/getStatementResultChunkN which may be called in any\norder and in parallel. For sequential fetching, each chunk, apart from the last, also contains a\n`next_chunk_index` and `next_chunk_internal_link` that point to the next chunk.\n\nA statement can be canceled with :method:statementexecution/cancelExecution.\n\n**Fetching result data: format and disposition**\n\nTo specify the format of the result data, use the `format` field, which can be set to one of the following\noptions: `JSON_ARRAY` (JSON), `ARROW_STREAM`\n([Apache Arrow Columnar](https://arrow.apache.org/overview/)), or `CSV`.\n\nThere are two ways to receive statement results, controlled by the `disposition` setting,\nwhich can be either `INLINE` or `EXTERNAL_LINKS`:\n\n- `INLINE`: In this mode, the result data is directly included in the response. It's best suited for smaller results.\nThis mode can only be used with the `JSON_ARRAY` format.\n\n- `EXTERNAL_LINKS`: In this mode, the response provides links that can be used to download the result data in chunks separately.\nThis approach is ideal for larger results and offers higher throughput.\nThis mode can be used with all the formats: `JSON_ARRAY`, `ARROW_STREAM`, and `CSV`.\n\nBy default, the API uses `format=JSON_ARRAY` and `disposition=INLINE`.\n\n**Limits and limitations**\n\nNote: The byte limit for INLINE disposition is based on internal storage metrics and will not exactly match the byte count of the actual payload.\n\n- Statements with `disposition=INLINE` are limited to 25 MiB and will fail when this limit is\nexceeded.\n- Statements with `disposition=EXTERNAL_LINKS` are limited to 100 GiB. Result sets larger than\nthis limit will be truncated. Truncation is indicated by the `truncated` field in the result manifest.\n- The maximum query text size is 16 MiB.\n- Cancelation might silently fail. A successful response from a cancel request indicates that the cancel request\nwas successfully received and sent to the processing engine. However, an outstanding statement\nmight have already completed execution when the cancel request arrives. Polling\nfor status until a terminal state is reached is a reliable way to determine the final state.\n- Wait timeouts are approximate, occur server-side, and cannot account for things such as caller delays and network latency from caller to service.\n- To keep a statement alive, poll for its status at least once every 15 minutes. Regular polling guarantees the statement stays alive.\n- To stop a statement you no longer need, cancel it explicitly with :method:statementexecution/cancelExecution. Stopping polling does not cancel a statement. Explicit cancellation is the only way to end statement execution on demand.\n- The results are only available for one hour after success; polling does not extend this.\n- The SQL Execution API must be used for the entire lifecycle of the statement. For example, you cannot use the Jobs API to execute the command, and then the SQL Execution API to cancel it.", + "package": { + "name": "sql" + }, + "docs_group": "sql", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "Delete", - "description": "Delete a single service principal in the Databricks account.", - "summary": "Delete a service principal.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", + "name": "CancelExecution", + "description": "Requests that an executing statement be canceled. Callers must poll for status to see the\nterminal state. Cancel response is empty; receiving response indicates successful receipt.", + "summary": "Cancel statement execution.", + "path": "/api/2.0/sql/statements/{statement_id}/cancel", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteAccountServicePrincipalRequest", + "pascal_name": "CancelExecutionRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -184863,8 +193390,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -184878,8 +193405,8 @@ }, "all_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -184889,8 +193416,8 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -184900,34 +193427,53 @@ ] }, { - "name": "Get", - "description": "Gets the details for a single service principal define in the Databricks account.", - "summary": "Get service principal details.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", - "is_crud_read": true, + "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.", + "summary": "Execute a SQL statement.", + "path": "/api/2.0/sql/statements", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetAccountServicePrincipalRequest", + "pascal_name": "ExecuteStatementRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", + "name": "statement", + "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "warehouse_id", + "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", + "name": "statement", + "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "warehouse_id", + "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -184935,149 +193481,180 @@ ] }, "response": { - "pascal_name": "AccountServicePrincipal", + "pascal_name": "StatementResponse", "is_object": true }, "all_fields": [ { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", - "required": true, - "is_path": true, + "name": "byte_limit", + "description": "Applies the given byte limit to the statement's result size. Byte counts are based on internal data\nrepresentations and might not match the final size in the requested `format`. If the result was truncated due to\nthe byte limit, then `truncated` in the response is set to `true`.\nWhen using `EXTERNAL_LINKS` disposition, a default `byte_limit` of 100 GiB is applied if `byte_limit` is not\nexplicitly set.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "id", - "description": "Unique ID for a service principal in the Databricks account.", - "required": true, - "is_path": true, + "name": "catalog", + "description": "Sets default catalog for statement execution, similar to\n[`USE CATALOG`](https://docs.databricks.com/sql/language-manual/sql-ref-syntax-ddl-use-catalog.html)\nin SQL.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "List", - "description": "Gets the set of service principals associated with a Databricks account.", - "summary": "List service principals.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListAccountServicePrincipalsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListAccountServicePrincipalsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "attributes", - "description": "Comma-separated list of attributes to return in response.", - "is_query": true, + "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.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Disposition", + "enum": [ + { + "content": "EXTERNAL_LINKS" + }, + { + "content": "INLINE" + } + ] } }, { - "name": "count", - "description": "Desired number of results per page. Default is 10000.", - "is_query": true, + "name": "format", + "description": "Statement execution supports three result formats: `JSON_ARRAY` (default), `ARROW_STREAM`, and `CSV`.\n\nImportant: The formats `ARROW_STREAM` and `CSV` are supported only with `EXTERNAL_LINKS` disposition.\n`JSON_ARRAY` is supported in `INLINE` and `EXTERNAL_LINKS` disposition.\n\nWhen specifying `format=JSON_ARRAY`, result data will be formatted as an array of arrays of values, where each\nvalue is either the *string representation* of a value, or `null`.\nFor example, the output of `SELECT concat('id-', id) AS strCol, id AS intCol, null AS nullCol FROM range(3)` would\nlook like this:\n\n```\n[\n[ \"id-1\", \"1\", null ],\n[ \"id-2\", \"2\", null ],\n[ \"id-3\", \"3\", null ],\n]\n```\n\nWhen specifying `format=JSON_ARRAY` and `disposition=EXTERNAL_LINKS`, each chunk in the result contains compact\nJSON with no indentation or extra whitespace.\n\nWhen specifying `format=ARROW_STREAM` and `disposition=EXTERNAL_LINKS`, each chunk in the result will be formatted\nas Apache Arrow Stream. See the\n[Apache Arrow streaming format](https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format).\n\nWhen specifying `format=CSV` and `disposition=EXTERNAL_LINKS`, each chunk in the result will be a CSV according to\n[RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) standard.\nAll the columns values will have *string representation* similar to the `JSON_ARRAY` format, and `null` values will\nbe encoded as “null”.\nOnly the first chunk in the result would contain a header row with column names.\nFor example, the output of `SELECT concat('id-', id) AS strCol, id AS intCol, null as nullCol FROM range(3)` would\nlook like this:\n\n```\nstrCol,intCol,nullCol\nid-1,1,null\nid-2,2,null\nid-3,3,null\n```", + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "Format", + "enum": [ + { + "content": "ARROW_STREAM" + }, + { + "content": "CSV" + }, + { + "content": "JSON_ARRAY" + } + ] } }, { - "name": "excludedAttributes", - "description": "Comma-separated list of attributes to exclude in response.", - "is_query": true, + "name": "on_wait_timeout", + "description": "When `wait_timeout \u003e 0s`, the call will block up to the specified time. If the statement execution doesn't\nfinish within this time, `on_wait_timeout` determines whether the execution should continue or be canceled.\nWhen set to `CONTINUE`, the statement execution continues asynchronously and the call returns a statement ID\nwhich can be used for polling with :method:statementexecution/getStatement. When set to `CANCEL`,\nthe statement execution is canceled and the call returns with a `CANCELED` state.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ExecuteStatementRequestOnWaitTimeout", + "enum": [ + { + "content": "CANCEL" + }, + { + "content": "CONTINUE" + } + ] } }, { - "name": "filter", - "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", - "is_query": true, + "name": "parameters", + "description": "A list of parameters to pass into a SQL statement containing parameter markers. A\nparameter consists of a name, a value, and optionally a type. To represent a NULL\nvalue, the `value` field may be omitted or set to `null` explicitly. If the `type` field\nis omitted, the value is interpreted as a string.\n\nIf the type is given, parameters will be checked for type correctness according\nto the given type. A value is correct if the provided string can be converted to\nthe requested type using the `cast` function. The exact semantics are described in\nthe section [`cast` function](https://docs.databricks.com/sql/language-manual/functions/cast.html) of the SQL language reference.\n\nFor example, the following statement contains two parameters, `my_name` and `my_date`:\n\n```\nSELECT * FROM my_table WHERE name = :my_name AND date = :my_date\n```\n\nThe parameters can be passed in the request body as follows:\n\n`\n{\n...,\n\"statement\": \"SELECT * FROM my_table WHERE name = :my_name AND date = :my_date\",\n\"parameters\": [\n{ \"name\": \"my_name\", \"value\": \"the name\" },\n{ \"name\": \"my_date\", \"value\": \"2020-01-01\", \"type\": \"DATE\" }\n]\n}\n`\n\nCurrently, positional parameters denoted by a `?` marker are not supported by the\nDatabricks SQL Statement Execution API.\n\nAlso see the section [Parameter markers](https://docs.databricks.com/sql/language-manual/sql-ref-parameter-marker.html) of the SQL language reference.", + "is_request_body_field": true, + "entity": { + "pascal_name": "StatementParameterListItemList", + "array_value": { + "pascal_name": "StatementParameterListItem", + "is_object": true + } + } + }, + { + "name": "query_tags", + "description": "An array of query tags to annotate a SQL statement. A query tag\nconsists of a non-empty key and, optionally, a value. To represent a NULL\nvalue, either omit the `value` field or manually set it to `null` or white space.\nRefer to the SQL language reference for the format specification of query tags.\nThere's no significance to the order of tags. Only one value per key will be recorded.\nA sequence in excess of 20 query tags will be coerced to 20.\nExample:\n\n{\n...,\n\"query_tags\": [\n{ \"key\": \"team\", \"value\": \"eng\" },\n{ \"key\": \"some key only tag\" }\n]\n}", + "is_request_body_field": true, + "entity": { + "pascal_name": "QueryTagList", + "array_value": { + "pascal_name": "QueryTag", + "is_object": true + } + } + }, + { + "name": "row_limit", + "description": "Applies the given row limit to the statement's result set, but unlike the `LIMIT` clause in SQL,\nit also sets the `truncated` field in the response to indicate whether the result was trimmed due to the limit or\nnot.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "schema", + "description": "Sets default schema for statement execution, similar to\n[`USE SCHEMA`](https://docs.databricks.com/sql/language-manual/sql-ref-syntax-ddl-use-schema.html)\nin SQL.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sortBy", - "description": "Attribute to sort the results.", - "is_query": true, + "name": "statement", + "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sortOrder", - "description": "The order to sort the results.", - "is_query": true, + "name": "wait_timeout", + "description": "The time in seconds the call will wait for the statement's result set as `Ns`, where `N` can be set to 0 or to a\nvalue between 5 and 50.\n\nWhen set to `0s`, the statement will execute in asynchronous mode and the call will not wait for the execution to\nfinish. In this case, the call returns directly with `PENDING` state and a statement ID which can be used for\npolling with :method:statementexecution/getStatement.\n\nWhen set between 5 and 50 seconds, the call will behave synchronously up to this timeout and wait for the statement\nexecution to finish. If the execution finishes within this time, the call returns immediately with a manifest and\nresult data (or a `FAILED` state in case of an execution error). If the statement takes longer to execute,\n`on_wait_timeout` determines what should happen after the timeout is reached.", + "is_request_body_field": true, "entity": { - "pascal_name": "ListSortOrder", - "enum": [ - { - "content": "ascending" - }, - { - "content": "descending" - } - ] + "is_string": true } }, { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, + "name": "warehouse_id", + "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "required": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], - "pagination": { - "offset": { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, + "required_positional_arguments": [ + { + "name": "statement", + "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", + "required": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, - "limit": { - "name": "count", - "description": "Desired number of results per page. Default is 10000.", - "is_query": true, + { + "name": "warehouse_id", + "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "required": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } - } + ] }, { - "name": "Patch", - "description": "Partially updates the details of a single service principal in the Databricks account.", - "summary": "Update service principal details.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", - "can_use_json": true, + "name": "GetStatement", + "description": "This request can be used to poll for the statement's status. StatementResponse contains\n`statement_id` and `status`; other fields might be absent or present depending on context.\nWhen the `status.state` field is `SUCCEEDED` it will also return the result manifest and the\nfirst chunk of the result data. When the statement is in the terminal states `CANCELED`,\n`CLOSED` or `FAILED`, it returns HTTP 200 with the state set. After at least 12 hours in\nterminal state, the statement is removed from the warehouse and further calls will receive an\nHTTP 404 response.\n\n**NOTE**\nThis call currently might take up to 5 seconds to get the latest status and result.", + "summary": "Get status, manifest, and result first chunk.", + "path": "/api/2.0/sql/statements/{statement_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchAccountServicePrincipalRequest", + "pascal_name": "GetStatementRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -185087,8 +193664,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -185098,50 +193675,24 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "StatementResponse", + "is_object": true }, "all_fields": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "Operations", - "is_request_body_field": true, - "entity": { - "pascal_name": "PatchList", - "array_value": { - "pascal_name": "Patch", - "is_object": true - } - } - }, - { - "name": "schemas", - "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", - "is_request_body_field": true, - "entity": { - "pascal_name": "PatchSchemaList", - "array_value": { - "pascal_name": "PatchSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" - } - ] - } - } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID in the Databricks workspace.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -185151,78 +193702,82 @@ ] }, { - "name": "Update", - "description": "Updates the details of a single service principal.\n\nThis action replaces the existing service principal with the same name.", - "summary": "Replace service principal.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id}", - "can_use_json": true, + "name": "GetStatementResultChunkN", + "description": "After the statement execution has `SUCCEEDED`, this request can be used to fetch any chunk by\nindex. Whereas the first chunk with `chunk_index=0` is typically fetched with\n:method:statementexecution/executeStatement or :method:statementexecution/getStatement, this\nrequest can be used to fetch subsequent chunks. The response structure is identical to the\nnested `result` element described in the :method:statementexecution/getStatement request, and\nsimilarly includes the `next_chunk_index` and `next_chunk_internal_link` fields for simple\niteration through the result set. Depending on `disposition`, the response returns chunks of\ndata either inline, or as links.", + "summary": "Get result chunk by index.", + "path": "/api/2.0/sql/statements/{statement_id}/result/chunks/{chunk_index}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateAccountServicePrincipalRequest", + "pascal_name": "GetStatementResultChunkNRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "chunk_index", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ], "required_in_url_fields": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "chunk_index", + "required": true, + "is_path": true, + "entity": { + "is_int": true + } } ] }, "response": { - "is_empty_response": true + "pascal_name": "ResultData", + "is_object": true }, "all_fields": [ { - "name": "active", - "description": "If this user is active", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "applicationId", - "description": "UUID relating to the service principal", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "displayName", - "description": "String that represents a concatenation of given and family names.", - "is_request_body_field": true, + "name": "chunk_index", + "required": true, + "is_path": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "externalId", - "is_request_body_field": true, + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "id", - "description": "Databricks service principal ID.", + "name": "statement_id", + "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", "required": true, "is_path": true, "entity": { @@ -185230,26 +193785,11 @@ } }, { - "name": "roles", - "description": "Indicates if the group has the admin role.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } - } - } - ], - "required_positional_arguments": [ - { - "name": "id", - "description": "Databricks service principal ID.", + "name": "chunk_index", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int": true } } ] @@ -185257,115 +193797,147 @@ ] }, { - "id": "serving.ServingEndpoints", - "name": "ServingEndpoints", - "description": "The Serving Endpoints API allows you to create, update, and delete model serving endpoints.\n\nYou can use a serving endpoint to serve models from the Databricks Model Registry or from Unity Catalog.\nEndpoints expose the underlying models as scalable REST API endpoints using serverless compute. This means\nthe endpoints and associated compute resources are fully managed by Databricks and will not appear in\nyour cloud account. A serving endpoint can consist of one or more MLflow models from the Databricks\nModel Registry, called served entities. A serving endpoint can have at most ten served entities. You can configure\ntraffic settings to define how requests should be routed to your served entities behind an endpoint.\nAdditionally, you can configure the scale of resources that should be applied to each served entity.", + "id": "provisioning.Storage", + "name": "Storage", + "description": "These APIs manage storage configurations for this workspace. A root storage S3 bucket in\nyour account is required to store objects like cluster logs, notebook revisions, and job\nresults. You can also use the root storage S3 bucket for storage of non-production DBFS\ndata. A storage configuration encapsulates this bucket information, and its ID is used when\ncreating a new workspace.", "package": { - "name": "serving" + "name": "provisioning" }, - "docs_group": "serving", + "is_accounts": true, + "docs_group": "provisioning", "launch_stage": "GA", "cli_launch_stage_display": "GA", - "list": { - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListServingEndpointsRequest" - } - }, "methods": [ { - "name": "BuildLogs", - "description": "Retrieves the build logs associated with the provided served model.", - "summary": "Get build logs for a served model.", - "path": "/api/2.0/serving-endpoints/{name}/served-models/{served_model_name}/build-logs", - "is_crud_read": true, - "has_required_positional_arguments": true, + "name": "Create", + "description": "Creates a Databricks storage configuration for an account.", + "summary": "Create a storage configuration.", + "path": "/api/2.0/accounts/{account_id}/storage-configurations", + "can_use_json": true, + "must_use_json": true, + "is_crud_create": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "BuildLogsRequest", + "pascal_name": "CreateStorageConfigurationRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "name": "storage_configuration_name", + "description": "The human-readable name of the storage configuration.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "served_model_name", - "description": "The name of the served model that build logs will be retrieved for. This field is required.", + "name": "root_bucket_info", + "description": "Root S3 bucket information.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "RootBucketInfo", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "name": "storage_configuration_name", + "description": "The human-readable name of the storage configuration.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "served_model_name", - "description": "The name of the served model that build logs will be retrieved for. This field is required.", + "name": "root_bucket_info", + "description": "Root S3 bucket information.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "RootBucketInfo", + "is_object": true } } ] }, "response": { - "pascal_name": "BuildLogsResponse", + "pascal_name": "StorageConfiguration", + "is_object": true + }, + "all_fields": [ + { + "name": "role_arn", + "description": "Optional IAM role that is used to access the workspace catalog which is created during workspace creation\nfor UC by Default. If a storage configuration with this field populated is used to create a workspace,\nthen a workspace catalog is created together with the workspace. The workspace catalog shares the root\nbucket with internal workspace storage (including DBFS root) but uses a dedicated bucket path prefix.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "root_bucket_info", + "description": "Root S3 bucket information.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "RootBucketInfo", + "is_object": true + } + }, + { + "name": "storage_configuration_name", + "description": "The human-readable name of the storage configuration.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "Delete", + "description": "Deletes a Databricks storage configuration. You cannot delete a storage configuration that is associated with any workspace.", + "summary": "Delete a storage configuration.", + "path": "/api/2.0/accounts/{account_id}/storage-configurations/{storage_configuration_id}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteStorageRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "logs", - "description": "The logs associated with building the served entity's environment.", + "name": "storage_configuration_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "logs", - "description": "The logs associated with building the served entity's environment.", + "name": "storage_configuration_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ] }, + "response": { + "pascal_name": "StorageConfiguration", + "is_object": true + }, "all_fields": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "served_model_name", - "description": "The name of the served model that build logs will be retrieved for. This field is required.", + "name": "storage_configuration_id", "required": true, "is_path": true, "entity": { @@ -185375,17 +193947,7 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "served_model_name", - "description": "The name of the served model that build logs will be retrieved for. This field is required.", + "name": "storage_configuration_id", "required": true, "is_path": true, "entity": { @@ -185395,36 +193957,32 @@ ] }, { - "name": "Create", - "description": "Create a new serving endpoint.", - "summary": "Create a new serving endpoint.", - "path": "/api/2.0/serving-endpoints", - "can_use_json": true, - "is_crud_create": true, + "name": "Get", + "description": "Gets a Databricks storage configuration for an account, both specified by ID.", + "summary": "Get a storage configuration.", + "path": "/api/2.0/accounts/{account_id}/storage-configurations/{storage_configuration_id}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateServingEndpoint", + "pascal_name": "GetStorageRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "name": "storage_configuration_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "name": "storage_configuration_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -185432,245 +193990,172 @@ ] }, "response": { - "pascal_name": "ServingEndpointDetailed", + "pascal_name": "StorageConfiguration", "is_object": true }, "all_fields": [ { - "name": "ai_gateway", - "description": "The AI Gateway configuration for the serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AiGatewayConfig", - "is_object": true - } - }, - { - "name": "budget_policy_id", - "description": "The budget policy to be applied to the serving endpoint.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "config", - "description": "The core config of the serving endpoint.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EndpointCoreConfigInput", - "is_object": true - } - }, - { - "name": "description", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "email_notifications", - "description": "Email notification settings.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EmailNotifications", - "is_object": true - } - }, - { - "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "name": "storage_configuration_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "rate_limits", - "description": "Rate limits to be applied to the serving endpoint. NOTE: this field is deprecated, please use AI Gateway to manage rate limits.", - "is_request_body_field": true, - "entity": { - "pascal_name": "RateLimitList", - "array_value": { - "pascal_name": "RateLimit", - "is_object": true - } - } - }, - { - "name": "route_optimized", - "description": "Enable route optimization for the serving endpoint.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "tags", - "description": "Tags to be attached to the serving endpoint and automatically propagated to billing logs.", - "is_request_body_field": true, - "entity": { - "pascal_name": "EndpointTagList", - "array_value": { - "pascal_name": "EndpointTag", - "is_object": true - } - } - }, - { - "name": "telemetry_config", - "description": "Configuration for persisting endpoint telemetry (logs, traces, and metrics) to Unity Catalog tables.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "TelemetryConfig", - "is_object": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "name": "storage_configuration_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } - ], - "wait": { - "success": [ - { - "content": "NOT_UPDATING" - } - ], - "timeout": 20, - "poll": { - "response": { - "pascal_name": "ServingEndpointDetailed" - } - }, - "status_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "ConfigUpdate" - } - ] - } + ] }, { - "name": "CreateProvisionedThroughputEndpoint", - "description": "Create a new PT serving endpoint.", - "summary": "Create a new PT serving endpoint.", - "path": "/api/2.0/serving-endpoints/pt", + "name": "List", + "description": "Lists Databricks storage configurations for an account, specified by ID.", + "summary": "List storage configurations.", + "path": "/api/2.0/accounts/{account_id}/storage-configurations", + "is_legacy_empty_request": true, + "is_crud_read": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListStorageRequest", + "is_object": true + }, + "response": { + "pascal_name": "StorageConfigurationList", + "array_value": { + "pascal_name": "StorageConfiguration", + "is_object": true + } + } + } + ] + }, + { + "id": "catalog.StorageCredentials", + "name": "StorageCredentials", + "description": "A storage credential represents an authentication and authorization mechanism for accessing\ndata stored on your cloud tenant. Each storage credential is subject to\nUnity Catalog access-control policies that control which users and groups can access\nthe credential. If a user does not have access to a storage credential in Unity Catalog,\nthe request fails and Unity Catalog does not attempt to authenticate to your cloud tenant\non the user’s behalf.\n\nDatabricks recommends using external locations rather than using storage credentials\ndirectly.\n\nTo create storage credentials, you must be a Databricks account admin. The account admin\nwho creates the storage credential can delegate ownership to another user or group to\nmanage permissions on it.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListStorageCredentialsRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a new storage credential.\n\nThe caller must be a metastore admin or have the **CREATE_STORAGE_CREDENTIAL** privilege on the metastore.", + "summary": "Create a storage credential.", + "path": "/api/2.1/unity-catalog/storage-credentials", "can_use_json": true, - "must_use_json": true, "is_crud_create": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreatePtEndpointRequest", + "pascal_name": "CreateStorageCredential", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "config", - "description": "The core config of the serving endpoint.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PtEndpointCoreConfig", - "is_object": true - } } ], "required_request_body_fields": [ { "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "config", - "description": "The core config of the serving endpoint.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PtEndpointCoreConfig", - "is_object": true - } } ] }, "response": { - "pascal_name": "ServingEndpointDetailed", + "pascal_name": "StorageCredentialInfo", "is_object": true }, "all_fields": [ { - "name": "ai_gateway", - "description": "The AI Gateway configuration for the serving endpoint.", + "name": "aws_iam_role", + "description": "The AWS IAM role configuration.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "AiGatewayConfig", + "pascal_name": "AwsIamRoleRequest", "is_object": true } }, { - "name": "budget_policy_id", - "description": "The budget policy associated with the endpoint.", + "name": "azure_managed_identity", + "description": "The Azure managed identity configuration.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "AzureManagedIdentityRequest", + "is_object": true } }, { - "name": "config", - "description": "The core config of the serving endpoint.", - "required": true, + "name": "azure_service_principal", + "description": "The Azure service principal configuration.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "PtEndpointCoreConfig", + "pascal_name": "AzureServicePrincipal", "is_object": true } }, { - "name": "email_notifications", - "description": "Email notification settings.", + "name": "cloudflare_api_token", + "description": "The Cloudflare API token configuration.", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "EmailNotifications", + "pascal_name": "CloudflareApiToken", + "is_object": true + } + }, + { + "name": "comment", + "description": "Comment associated with the credential.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "databricks_gcp_service_account", + "description": "The Databricks managed GCP service account configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DatabricksGcpServiceAccountRequest", "is_object": true } }, { "name": "name", - "description": "The name of the serving endpoint. This field is required and must be unique across a Databricks workspace.\nAn endpoint name can consist of alphanumeric characters, dashes, and underscores.", + "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", "required": true, "is_request_body_field": true, "entity": { @@ -185678,54 +194163,49 @@ } }, { - "name": "tags", - "description": "Tags to be attached to the serving endpoint and automatically propagated to billing logs.", + "name": "read_only", + "description": "Whether the credential is usable only for read operations. Only applicable\nwhen purpose is **STORAGE**.", "is_request_body_field": true, "entity": { - "pascal_name": "EndpointTagList", - "array_value": { - "pascal_name": "EndpointTag", - "is_object": true - } + "is_bool": true + } + }, + { + "name": "skip_validation", + "description": "Supplying true to this argument skips validation of the created credential.", + "is_request_body_field": true, + "entity": { + "is_bool": true } } ], - "wait": { - "success": [ - { - "content": "NOT_UPDATING" - } - ], - "timeout": 20, - "poll": { - "response": { - "pascal_name": "ServingEndpointDetailed" - } - }, - "status_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "ConfigUpdate" + "required_positional_arguments": [ + { + "name": "name", + "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - } + } + ] }, { "name": "Delete", - "description": "Delete a serving endpoint.", - "summary": "Delete a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}", + "description": "Deletes a storage credential from the metastore. The caller must be an owner of the storage credential.", + "summary": "Delete a credential.", + "path": "/api/2.1/unity-catalog/storage-credentials/{name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteServingEndpointRequest", + "pascal_name": "DeleteStorageCredentialRequest", "is_object": true, "required_fields": [ { "name": "name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185736,6 +194216,7 @@ "required_in_url_fields": [ { "name": "name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185745,11 +194226,22 @@ ] }, "response": { + "pascal_name": "DeleteResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ + { + "name": "force", + "description": "Force an update even if there are dependent external locations or external\ntables (when purpose is **STORAGE**) or dependent services (when purpose is\n**SERVICE**).", + "is_query": true, + "entity": { + "is_bool": true + } + }, { "name": "name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185760,6 +194252,7 @@ "required_positional_arguments": [ { "name": "name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185769,22 +194262,21 @@ ] }, { - "name": "ExportMetrics", - "description": "Retrieves the metrics associated with the provided serving endpoint in either Prometheus or OpenMetrics exposition format.", - "summary": "Get metrics of a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/metrics", + "name": "Get", + "description": "Gets a storage credential from the metastore.\nThe caller must be a metastore admin, the owner of the storage credential, or have some permission on the storage credential.", + "summary": "Get a credential.", + "path": "/api/2.1/unity-catalog/storage-credentials/{name}", "is_crud_read": true, - "is_response_byte_stream": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ExportMetricsRequest", + "pascal_name": "GetStorageCredentialRequest", "is_object": true, "required_fields": [ { "name": "name", - "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185795,7 +194287,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185805,16 +194297,13 @@ ] }, "response": { - "pascal_name": "ExportMetricsResponse", + "pascal_name": "StorageCredentialInfo", "is_object": true }, - "response_body_field": { - "pascal_name": "Contents" - }, "all_fields": [ { "name": "name", - "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185825,7 +194314,7 @@ "required_positional_arguments": [ { "name": "name", - "description": "The name of the serving endpoint to retrieve metrics for. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185835,86 +194324,84 @@ ] }, { - "name": "Get", - "description": "Retrieves the details for a single serving endpoint.", - "summary": "Get a single serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}", - "is_crud_read": true, + "name": "List", + "description": "Gets an array of storage credentials (as __StorageCredentialInfo__ objects).\nThe array is limited to only those storage credentials the caller has permission to access.\nIf the caller is a metastore admin, retrieval of credentials is unrestricted.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 credentials.", + "path": "/api/2.1/unity-catalog/storage-credentials", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetServingEndpointRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the serving endpoint. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The name of the serving endpoint. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListStorageCredentialsRequest", + "is_object": true }, "response": { - "pascal_name": "ServingEndpointDetailed", + "pascal_name": "ListStorageCredentialsResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required.", - "required": true, - "is_path": true, + "name": "include_unbound", + "description": "Whether to include credentials not bound to the workspace.\nEffective only if the user has permission to update the credential–workspace binding.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "max_results", + "description": "Maximum number of storage credentials to return.\nIf not set, all the storage credentials are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of\nthis value and a server configured value;\n- when set to 0, the page length is set to a server configured value\n(recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { "is_string": true } } ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The name of the serving endpoint. This field is required.", - "required": true, - "is_path": true, + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of storage credentials to return.\nIf not set, all the storage credentials are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of\nthis value and a server configured value;\n- when set to 0, the page length is set to a server configured value\n(recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, "entity": { - "is_string": true + "is_int": true } } - ] + } }, { - "name": "GetOpenApi", - "description": "Get the query schema of the serving endpoint in OpenAPI format. The schema contains information for the supported paths, input and output format and datatypes.", - "summary": "Get the schema for a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/openapi", - "is_crud_read": true, - "is_response_byte_stream": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "name": "Update", + "description": "Updates a storage credential on the metastore.\n\nThe caller must be the owner of the storage credential or a metastore admin.\nIf the caller is a metastore admin, only the **owner** field can be changed.", + "summary": "Update a credential.", + "path": "/api/2.1/unity-catalog/storage-credentials/{name}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetOpenApiRequest", + "pascal_name": "UpdateStorageCredential", "is_object": true, "required_fields": [ { "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185925,7 +194412,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185935,27 +194422,138 @@ ] }, "response": { - "pascal_name": "GetOpenApiResponse", + "pascal_name": "StorageCredentialInfo", "is_object": true }, - "response_body_field": { - "pascal_name": "Contents" - }, "all_fields": [ + { + "name": "aws_iam_role", + "description": "The AWS IAM role configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AwsIamRoleRequest", + "is_object": true + } + }, + { + "name": "azure_managed_identity", + "description": "The Azure managed identity configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AzureManagedIdentityResponse", + "is_object": true + } + }, + { + "name": "azure_service_principal", + "description": "The Azure service principal configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AzureServicePrincipal", + "is_object": true + } + }, + { + "name": "cloudflare_api_token", + "description": "The Cloudflare API token configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CloudflareApiToken", + "is_object": true + } + }, + { + "name": "comment", + "description": "Comment associated with the credential.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "databricks_gcp_service_account", + "description": "The Databricks managed GCP service account configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DatabricksGcpServiceAccountRequest", + "is_object": true + } + }, + { + "name": "force", + "description": "Force update even if there are dependent external locations or external\ntables.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "isolation_mode", + "description": "Whether the current securable is accessible from all workspaces or a\nspecific set of workspaces.", + "is_request_body_field": true, + "entity": { + "pascal_name": "IsolationMode", + "enum": [ + { + "content": "ISOLATION_MODE_ISOLATED" + }, + { + "content": "ISOLATION_MODE_OPEN" + } + ] + } + }, { "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "new_name", + "description": "New name for the storage credential.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "owner", + "description": "Username of current owner of credential.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "read_only", + "description": "Whether the credential is usable only for read operations. Only applicable\nwhen purpose is **STORAGE**.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "skip_validation", + "description": "Supplying true to this argument skips validation of the updated credential.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } } ], "required_positional_arguments": [ { "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -185965,81 +194563,144 @@ ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get serving endpoint permission levels.", - "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}/permissionLevels", + "name": "Validate", + "description": "Validates a storage credential.\nAt least one of __external_location_name__ and __url__ need to be provided. If only one of them is\nprovided, it will be used for validation. And if both are provided, the __url__ will be used for\nvalidation, and __external_location_name__ will be ignored when checking overlapping urls.\n\nEither the __storage_credential_name__ or the cloud-specific credential must be provided.\n\nThe caller must be a metastore admin or the storage credential owner or\nhave the **CREATE_EXTERNAL_LOCATION** privilege on the metastore and the storage credential.", + "summary": "Validate a storage credential.", + "path": "/api/2.1/unity-catalog/validate-storage-credentials", + "can_use_json": true, + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetServingEndpointPermissionLevelsRequest", - "is_object": true, - "required_fields": [ - { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ValidateStorageCredential", + "is_object": true }, "response": { - "pascal_name": "GetServingEndpointPermissionLevelsResponse", + "pascal_name": "ValidateStorageCredentialResponse", "is_object": true }, "all_fields": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "aws_iam_role", + "description": "The AWS IAM role configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AwsIamRoleRequest", + "is_object": true + } + }, + { + "name": "azure_managed_identity", + "description": "The Azure managed identity configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AzureManagedIdentityRequest", + "is_object": true + } + }, + { + "name": "azure_service_principal", + "description": "The Azure service principal configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "AzureServicePrincipal", + "is_object": true + } + }, + { + "name": "cloudflare_api_token", + "description": "The Cloudflare API token configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CloudflareApiToken", + "is_object": true + } + }, + { + "name": "databricks_gcp_service_account", + "description": "The Databricks created GCP service account configuration.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "DatabricksGcpServiceAccountRequest", + "is_object": true + } + }, + { + "name": "external_location_name", + "description": "The name of an existing external location to validate.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "read_only", + "description": "Whether the storage credential is only usable for read operations.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "storage_credential_name", + "description": "Required. The name of an existing credential or long-lived cloud\ncredential to validate.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "url", + "description": "The external location url to validate.", + "is_request_body_field": true, "entity": { "is_string": true } } ] - }, + } + ] + }, + { + "id": "catalog.AccountStorageCredentials", + "name": "AccountStorageCredentials", + "description": "These APIs manage storage credentials for a particular metastore.", + "package": { + "name": "catalog" + }, + "is_accounts": true, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListAccountStorageCredentialsRequest" + } + }, + "methods": [ { - "name": "GetPermissions", - "description": "Gets the permissions of a serving endpoint. Serving endpoints can inherit permissions from their root object.", - "summary": "Get serving endpoint permissions.", - "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}", + "name": "Create", + "description": "Creates a new storage credential. The request object is specific to the cloud:\n- **AwsIamRole** for AWS credentials\n- **AzureServicePrincipal** for Azure credentials\n- **GcpServiceAccountKey** for GCP credentials\n\nThe caller must be a metastore admin and have the `CREATE_STORAGE_CREDENTIAL` privilege on the metastore.", + "summary": "Create a storage credential.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetServingEndpointPermissionsRequest", + "pascal_name": "AccountsCreateStorageCredential", "is_object": true, "required_fields": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186049,8 +194710,8 @@ ], "required_in_url_fields": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186060,24 +194721,41 @@ ] }, "response": { - "pascal_name": "ServingEndpointPermissions", + "pascal_name": "AccountsCreateStorageCredentialInfo", "is_object": true }, "all_fields": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "credential_info", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "CreateAccountsStorageCredential", + "is_object": true + } + }, + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "skip_validation", + "description": "Optional, default false.\nSupplying true to this argument skips validation of the created set of credentials.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } } ], "required_positional_arguments": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186087,107 +194765,51 @@ ] }, { - "name": "HttpRequest", - "description": "Make external services call using the credentials stored in UC Connection.", - "summary": "Make external services call using the credentials stored in UC Connection.", - "path": "/api/2.0/external-function", - "can_use_json": true, - "is_hidden_cli": true, - "is_response_byte_stream": true, + "name": "Delete", + "description": "Deletes a storage credential from the metastore. The caller must be an owner of the storage credential.", + "summary": "Delete a storage credential.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials/{storage_credential_name}", "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ExternalFunctionRequest", + "pascal_name": "DeleteAccountStorageCredentialRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "connection_name", - "description": "The connection name to use. This is required to identify the external connection.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "method", - "description": "The HTTP method to use (e.g., 'GET', 'POST').", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExternalFunctionRequestHttpMethod", - "enum": [ - { - "content": "DELETE" - }, - { - "content": "GET" - }, - { - "content": "PATCH" - }, - { - "content": "POST" - }, - { - "content": "PUT" - } - ] - } - }, - { - "name": "path", - "description": "The relative path for the API endpoint. This is required.", + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "connection_name", - "description": "The connection name to use. This is required to identify the external connection.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "method", - "description": "The HTTP method to use (e.g., 'GET', 'POST').", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExternalFunctionRequestHttpMethod", - "enum": [ - { - "content": "DELETE" - }, - { - "content": "GET" - }, - { - "content": "PATCH" - }, - { - "content": "POST" - }, - { - "content": "PUT" - } - ] - } - }, - { - "name": "path", - "description": "The relative path for the API endpoint. This is required.", + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -186195,85 +194817,32 @@ ] }, "response": { - "pascal_name": "HttpRequestResponse", + "pascal_name": "AccountsDeleteStorageCredentialResponse", "is_object": true }, - "response_body_field": { - "pascal_name": "Contents" - }, "all_fields": [ { - "name": "connection_name", - "description": "The connection name to use. This is required to identify the external connection.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "headers", - "description": "Additional headers for the request. If not provided, only auth headers from connections would be passed.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "json", - "description": "The JSON payload to send in the request body.", - "is_request_body_field": true, + "name": "force", + "description": "Force deletion even if the Storage Credential is not empty. Default is false.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "method", - "description": "The HTTP method to use (e.g., 'GET', 'POST').", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExternalFunctionRequestHttpMethod", - "enum": [ - { - "content": "DELETE" - }, - { - "content": "GET" - }, - { - "content": "PATCH" - }, - { - "content": "POST" - }, - { - "content": "PUT" - } - ] - } - }, - { - "name": "params", - "description": "Query parameters for the request.", - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "path", - "description": "The relative path for the API endpoint. This is required.", + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "sub_domain", - "description": "Optional subdomain to prepend to the connection URL's host. If provided, this will be\nadded as a prefix to the connection URL's host. For example, if the connection URL is\n`https://api.example.com/v1` and `sub_domain` is `\"custom\"`, the resulting URL will be\n`https://custom.api.example.com/v1`.", - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -186281,45 +194850,19 @@ ], "required_positional_arguments": [ { - "name": "connection_name", - "description": "The connection name to use. This is required to identify the external connection.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "method", - "description": "The HTTP method to use (e.g., 'GET', 'POST').", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "ExternalFunctionRequestHttpMethod", - "enum": [ - { - "content": "DELETE" - }, - { - "content": "GET" - }, - { - "content": "PATCH" - }, - { - "content": "POST" - }, - { - "content": "PUT" - } - ] - } - }, - { - "name": "path", - "description": "The relative path for the API endpoint. This is required.", + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -186327,39 +194870,21 @@ ] }, { - "name": "List", - "description": "Get all serving endpoints.", - "summary": "Get all serving endpoints.", - "path": "/api/2.0/serving-endpoints", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListServingEndpointsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListEndpointsResponse", - "is_object": true - }, - "pagination": {} - }, - { - "name": "Logs", - "description": "Retrieves the service logs associated with the provided served model.", - "summary": "Get the latest logs for a served model.", - "path": "/api/2.0/serving-endpoints/{name}/served-models/{served_model_name}/logs", + "name": "Get", + "description": "Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the\nstorage credential, or have a level of privilege on the storage credential.", + "summary": "Gets the named storage credential.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials/{storage_credential_name}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "LogsRequest", + "pascal_name": "GetAccountStorageCredentialRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186367,8 +194892,8 @@ } }, { - "name": "served_model_name", - "description": "The name of the served model that logs will be retrieved for. This field is required.", + "name": "storage_credential_name", + "description": "Required. Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186378,8 +194903,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186387,8 +194912,8 @@ } }, { - "name": "served_model_name", - "description": "The name of the served model that logs will be retrieved for. This field is required.", + "name": "storage_credential_name", + "description": "Required. Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186398,36 +194923,13 @@ ] }, "response": { - "pascal_name": "ServerLogsResponse", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "logs", - "description": "The most recent log lines of the model server processing invocation requests.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "logs", - "description": "The most recent log lines of the model server processing invocation requests.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "AccountsStorageCredentialInfo", + "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186435,8 +194937,8 @@ } }, { - "name": "served_model_name", - "description": "The name of the served model that logs will be retrieved for. This field is required.", + "name": "storage_credential_name", + "description": "Required. Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186446,8 +194948,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint that the served model belongs to. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186455,8 +194957,8 @@ } }, { - "name": "served_model_name", - "description": "The name of the served model that logs will be retrieved for. This field is required.", + "name": "storage_credential_name", + "description": "Required. Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186466,21 +194968,20 @@ ] }, { - "name": "Patch", - "description": "Used to batch add and delete tags from a serving endpoint with a single API call.", - "summary": "Update tags of a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/tags", - "can_use_json": true, + "name": "List", + "description": "Gets a list of all storage credentials that have been assigned to given metastore.", + "summary": "Get all storage credentials assigned to a metastore.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchServingEndpointTags", + "pascal_name": "ListAccountStorageCredentialsRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint who's tags to patch. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186490,8 +194991,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the serving endpoint who's tags to patch. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186501,36 +195002,13 @@ ] }, "response": { - "pascal_name": "EndpointTags", + "pascal_name": "ListAccountStorageCredentialsResponse", "is_object": true }, "all_fields": [ { - "name": "add_tags", - "description": "List of endpoint tags to add", - "is_request_body_field": true, - "entity": { - "pascal_name": "EndpointTagList", - "array_value": { - "pascal_name": "EndpointTag", - "is_object": true - } - } - }, - { - "name": "delete_tags", - "description": "List of tag keys to delete", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "name", - "description": "The name of the serving endpoint who's tags to patch. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186540,32 +195018,42 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint who's tags to patch. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { "is_string": true } } - ] + ], + "pagination": {} }, { - "name": "PatchTelemetryConfig", - "description": "Updates the telemetry configuration of a serving endpoint.", - "summary": "Update the telemetry config of a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/telemetry-config", + "name": "Update", + "description": "Updates a storage credential on the metastore. The caller must be the owner of the storage credential.\nIf the caller is a metastore admin, only the **owner** credential can be changed.", + "summary": "Updates a storage credential.", + "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials/{storage_credential_name}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchTelemetryConfigRequest", + "pascal_name": "AccountsUpdateStorageCredential", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186575,8 +195063,17 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186586,13 +195083,22 @@ ] }, "response": { - "pascal_name": "ServingEndpointDetailed", + "pascal_name": "AccountsUpdateStorageCredentialResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", + "name": "credential_info", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "UpdateAccountsStorageCredential", + "is_object": true + } + }, + { + "name": "metastore_id", + "description": "Unity Catalog metastore ID", "required": true, "is_path": true, "entity": { @@ -186600,20 +195106,36 @@ } }, { - "name": "telemetry_config", - "description": "The telemetry configuration to be applied to the serving endpoint.\nCan specify either a telemetry_profile_id to use an existing profile,\nor table_names to create a new profile with the specified Unity Catalog tables.\nIf not provided, the telemetry configuration will be removed from the endpoint.", + "name": "skip_validation", + "description": "Optional. Supplying true to this argument skips validation of the updated set of credentials.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "TelemetryConfig", - "is_object": true + "is_bool": true + } + }, + { + "name": "storage_credential_name", + "description": "Name of the storage credential.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint whose telemetry configuration is being updated. This field is required.", + "name": "metastore_id", + "description": "Unity Catalog metastore ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "storage_credential_name", + "description": "Name of the storage credential.", "required": true, "is_path": true, "entity": { @@ -186621,392 +195143,565 @@ } } ] - }, + } + ] + }, + { + "id": "supervisoragents.SupervisorAgents", + "name": "SupervisorAgents", + "description": "Manage Supervisor Agents and related resources.", + "package": { + "name": "supervisoragents" + }, + "docs_group": "agentbricks", + "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", + "list": { + "request": { + "pascal_name": "ListExamplesRequest" + } + }, + "methods": [ { - "name": "Put", - "description": "Deprecated: Please use AI Gateway to manage rate limits instead.", - "summary": "Update rate limits of a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/rate-limits", + "name": "CreateExample", + "description": "Creates an example for a Supervisor Agent.", + "summary": "Create an example for a Supervisor Agent.", + "path": "/api/2.1/{parent=supervisor-agents/*}/examples", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "PutRequest", + "pascal_name": "CreateExampleRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "example", + "description": "The example to create under the parent Supervisor Agent.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true + } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "PutResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "name", - "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "rate_limits", - "description": "The list of endpoint rate limits.", - "is_request_body_field": true, - "entity": { - "pascal_name": "RateLimitList", - "array_value": { - "pascal_name": "RateLimit", + ], + "required_request_body_fields": [ + { + "name": "example", + "description": "The example to create under the parent Supervisor Agent.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", "is_object": true } } + ] + }, + "request_body_field": { + "name": "example", + "description": "The example to create under the parent Supervisor Agent.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ] } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The name of the serving endpoint whose rate limits are being updated. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "PutAiGateway", - "description": "Used to update the AI Gateway of a serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables.", - "summary": "Update AI Gateway of a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/ai-gateway", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "PutAiGatewayRequest", + }, + "response": { + "pascal_name": "Example", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", + "name": "question", + "description": "The example question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", + "name": "question", + "description": "The example question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ] }, - "response": { - "pascal_name": "PutAiGatewayResponse", - "is_object": true - }, "all_fields": [ { - "name": "fallback_config", - "description": "Configuration for traffic fallback which auto fallbacks to other served entities if the request to a served\nentity fails with certain error codes, to increase availability.", + "name": "example", + "description": "The example to create under the parent Supervisor Agent.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "FallbackConfig", - "is_object": true + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ] } }, { - "name": "guardrails", - "description": "Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and responses.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, "entity": { - "pascal_name": "AiGatewayGuardrails", - "is_object": true + "is_string": true } }, { - "name": "inference_table_config", - "description": "Configuration for payload logging using inference tables.\nUse these tables to monitor and audit data being sent to and received from model APIs and to improve model quality.", + "name": "example_id", + "description": "The universally unique identifier (UUID) of the example.", + "is_output_only": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "AiGatewayInferenceTableConfig", - "is_object": true + "is_string": true } }, { - "name": "name", - "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", + "name": "guidelines", + "description": "Guidelines for answering the question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "rate_limits", - "description": "Configuration for rate limits which can be set to limit endpoint traffic.", + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/examples/{example_id}", "is_request_body_field": true, "entity": { - "pascal_name": "AiGatewayRateLimitList", - "array_value": { - "pascal_name": "AiGatewayRateLimit", - "is_object": true - } + "is_string": true } }, { - "name": "usage_tracking_config", - "description": "Configuration to enable usage tracking using system tables.\nThese tables allow you to monitor operational usage on endpoints and their associated costs.", + "name": "question", + "description": "The example question.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "AiGatewayUsageTrackingConfig", - "is_object": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint whose AI Gateway is being updated. This field is required.", + "name": "parent", + "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ] }, { - "name": "Query", - "description": "Query a serving endpoint", - "summary": "Query a serving endpoint.", - "path": "/serving-endpoints/{name}/invocations", + "name": "CreateSupervisorAgent", + "description": "Creates a new Supervisor Agent.", + "summary": "Create a Supervisor Agent.", + "path": "/api/2.1/supervisor-agents", "can_use_json": true, + "is_crud_create": 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": "QueryEndpointInput", + "pascal_name": "CreateSupervisorAgentRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", + "name": "supervisor_agent", + "description": "The Supervisor Agent to create.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "SupervisorAgent", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", + "name": "supervisor_agent", + "description": "The Supervisor Agent to create.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "SupervisorAgent", + "is_object": true } } ] }, - "response": { - "pascal_name": "QueryEndpointResponse", - "is_object": true + "request_body_field": { + "name": "supervisor_agent", + "description": "The Supervisor Agent to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SupervisorAgent", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } }, - "all_fields": [ - { - "name": "client_request_id", - "description": "Optional user-provided request identifier that will be recorded in the inference table and the usage tracking table.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dataframe_records", - "description": "Pandas Dataframe input in the records orientation.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_any": true + "response": { + "pascal_name": "SupervisorAgent", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } - }, - { - "name": "dataframe_split", - "description": "Pandas Dataframe input in the split orientation.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DataframeSplitInput", - "is_object": true - } - }, - { - "name": "extra_params", - "description": "The extra parameters field used ONLY for __completions, chat,__ and __embeddings external \u0026 foundation\nmodel__ serving endpoints. This is a map of strings and should only be used with other external/foundation\nmodel query fields.", - "is_request_body_field": true, - "entity": { - "map_value": { + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { "is_string": true } } - }, + ] + }, + "all_fields": [ { - "name": "input", - "description": "The input string (or array of strings) field used ONLY for __embeddings external \u0026 foundation model__\nserving endpoints and is the only field (along with extra_params if needed) used by embeddings queries.", + "name": "supervisor_agent", + "description": "The Supervisor Agent to create.", + "required": true, "is_request_body_field": true, "entity": { - "is_any": true + "pascal_name": "SupervisorAgent", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "inputs", - "description": "Tensor-based input in columnar format.", + "name": "create_time", + "description": "Creation timestamp.", + "is_output_only": true, "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_any": true + "is_timestamp": true } }, { - "name": "instances", - "description": "Tensor-based input in row format.", + "name": "creator", + "description": "The creator of the Supervisor Agent.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_any": true - } + "is_string": true } }, { - "name": "max_tokens", - "description": "The max tokens field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is an integer and should only be used with other chat/completions query fields.", + "name": "description", + "description": "Description of what this agent can do (user-facing).", "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "messages", - "description": "The messages field used ONLY for __chat external \u0026 foundation model__ serving endpoints.\nThis is an array of ChatMessage objects and should only be used with other chat query fields.", + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "ChatMessageList", - "array_value": { - "pascal_name": "ChatMessage", - "is_object": true - } + "is_string": true } }, { - "name": "n", - "description": "The n (number of candidates) field used ONLY for __completions__ and __chat external \u0026 foundation model__\nserving endpoints. This is an integer between 1 and 5 with a default of 1 and should only be used with\nother chat/completions query fields.", + "name": "endpoint_name", + "description": "The name of the supervisor agent's serving endpoint.", + "is_output_only": true, "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", - "required": true, - "is_path": true, "entity": { "is_string": true } }, { - "name": "prompt", - "description": "The prompt string (or array of strings) field used ONLY for __completions external \u0026 foundation model__\nserving endpoints and should only be used with other completions query fields.", + "name": "experiment_id", + "description": "The MLflow experiment ID.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_any": true + "is_string": true } }, { - "name": "stop", - "description": "The stop sequences field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a list of strings and should only be used with other chat/completions query fields.", + "name": "id", + "description": "Deprecated: Use supervisor_agent_id instead.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "stream", - "description": "The stream field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving endpoints.\nThis is a boolean defaulting to false and should only be used with other chat/completions query fields.", + "name": "instructions", + "description": "Optional natural-language instructions for the supervisor agent.", "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "temperature", - "description": "The temperature field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a float between 0.0 and 2.0 with a default of 1.0 and should only be used with other\nchat/completions query fields.", + "name": "name", + "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", "is_request_body_field": true, "entity": { - "is_float64": true + "is_string": true } }, { - "name": "usage_context", - "description": "Optional user-provided context that will be recorded in the usage tracking table.", + "name": "supervisor_agent_id", + "description": "The universally unique identifier (UUID) of the Supervisor Agent.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true - } + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -187014,426 +195709,363 @@ ] }, { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set serving endpoint permissions.", - "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}", + "name": "CreateTool", + "description": "Creates a Tool under a Supervisor Agent. Specify one of \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"app\", \"volume\", \"dashboard\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\" in the request body. The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "summary": "Create a Tool.", + "path": "/api/2.1/{parent=supervisor-agents/*}/tools", "can_use_json": true, + "is_crud_create": 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": "ServingEndpointPermissionsRequest", + "pascal_name": "CreateToolRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "parent", + "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "tool", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Tool", + "is_object": true + } + }, + { + "name": "tool_id", + "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } ], "required_in_url_fields": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "parent", + "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "tool_id", + "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } - ] - }, - "response": { - "pascal_name": "ServingEndpointPermissions", - "is_object": true - }, - "all_fields": [ - { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "ServingEndpointAccessControlRequestList", - "array_value": { - "pascal_name": "ServingEndpointAccessControlRequest", + ], + "required_request_body_fields": [ + { + "name": "tool", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Tool", "is_object": true } } - }, - { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + ] + }, + "request_body_field": { + "name": "tool", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Tool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } - ] - }, - { - "name": "UpdateConfig", - "description": "Updates any combination of the serving endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. An endpoint that already has an update in progress can not be updated until the current update completes or fails.", - "summary": "Update config of a serving endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/config", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "EndpointCoreConfigInput", + }, + "response": { + "pascal_name": "Tool", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the serving endpoint to update. This field is required.", + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The name of the serving endpoint to update. This field is required.", + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "ServingEndpointDetailed", - "is_object": true - }, "all_fields": [ { - "name": "auto_capture_config", - "description": "Configuration for legacy Inference Tables which automatically log requests and responses to Unity\nCatalog.\nDeprecated: please use AI Gateway inference tables instead. See\nhttps://docs.databricks.com/aws/en/ai-gateway/inference-tables.", + "name": "parent", + "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tool", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "AutoCaptureConfigInput", - "is_object": true + "pascal_name": "Tool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "name", - "description": "The name of the serving endpoint to update. This field is required.", + "name": "tool_id", + "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "served_entities", - "description": "The list of served entities under the serving endpoint config.", + "name": "app", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "ServedEntityInputList", - "array_value": { - "pascal_name": "ServedEntityInput", - "is_object": true - } + "pascal_name": "App", + "is_object": true } }, { - "name": "served_models", - "description": "(Deprecated, use served_entities instead) The list of served models under the serving endpoint config.", + "name": "description", + "description": "Description of what this tool does (user-facing).", "is_request_body_field": true, "entity": { - "pascal_name": "ServedModelInputList", - "array_value": { - "pascal_name": "ServedModelInput", - "is_object": true - } + "is_string": true } }, { - "name": "traffic_config", - "description": "The traffic configuration associated with the serving endpoint config.", + "name": "genie_space", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "TrafficConfig", + "pascal_name": "GenieSpace", "is_object": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The name of the serving endpoint to update. This field is required.", - "required": true, - "is_path": true, + "name": "id", + "description": "Deprecated: Use tool_id instead.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "wait": { - "success": [ - { - "content": "NOT_UPDATING" - } - ], - "timeout": 20, - "poll": { - "response": { - "pascal_name": "ServingEndpointDetailed" - } }, - "status_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "ConfigUpdate" - } - ] - } - }, - { - "name": "UpdateNotifications", - "description": "Updates the email and webhook notification settings for an endpoint.", - "summary": "Update the email and webhook notification settings for an endpoint.", - "path": "/api/2.0/serving-endpoints/{name}/notifications", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "UpdateInferenceEndpointNotifications", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "UpdateInferenceEndpointNotificationsResponse", - "is_object": true - }, - "all_fields": [ { - "name": "email_notifications", - "description": "The email notification settings to update. Specify email addresses to notify when endpoint state changes occur.", + "name": "knowledge_assistant", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "EmailNotifications", + "pascal_name": "KnowledgeAssistant", "is_object": true } }, { "name": "name", - "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", - "required": true, - "is_path": true, + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The name of the serving endpoint whose notifications are being updated. This field is required.", - "required": true, - "is_path": true, + "name": "tool_id", + "description": "User specified id of the Tool.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "UpdatePermissions", - "description": "Updates the permissions on a serving endpoint. Serving endpoints can inherit permissions from their root object.", - "summary": "Update serving endpoint permissions.", - "path": "/api/2.0/permissions/serving-endpoints/{serving_endpoint_id}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ServingEndpointPermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "uc_connection", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "UcConnection", + "is_object": true } - ] - }, - "response": { - "pascal_name": "ServingEndpointPermissions", - "is_object": true - }, - "all_fields": [ + }, { - "name": "access_control_list", + "name": "uc_function", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "ServingEndpointAccessControlRequestList", - "array_value": { - "pascal_name": "ServingEndpointAccessControlRequest", - "is_object": true - } + "pascal_name": "UcFunction", + "is_object": true } }, { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "volume", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "Volume", + "is_object": true } } ], "required_positional_arguments": [ { - "name": "serving_endpoint_id", - "description": "The serving endpoint for which to get or manage permissions.", + "name": "parent", + "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "tool_id", + "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] }, { - "name": "UpdateProvisionedThroughputEndpointConfig", - "description": "Updates any combination of the pt endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. Updates are instantaneous and endpoint should be updated instantly", - "summary": "Update config of a PT serving endpoint.", - "path": "/api/2.0/serving-endpoints/pt/{name}/config", - "can_use_json": true, - "must_use_json": true, + "name": "DeleteExample", + "description": "Deletes an example from a Supervisor Agent.", + "summary": "Delete an example from a Supervisor Agent.", + "path": "/api/2.1/{name=supervisor-agents/*/examples/*}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "UpdateProvisionedThroughputEndpointConfigRequest", + "pascal_name": "DeleteExampleRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "The name of the pt endpoint to update. This field is required.", + "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "config", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PtEndpointCoreConfig", - "is_object": true - } } ], "required_in_url_fields": [ { "name": "name", - "description": "The name of the pt endpoint to update. This field is required.", + "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "config", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PtEndpointCoreConfig", - "is_object": true - } - } ] }, "response": { - "pascal_name": "ServingEndpointDetailed", - "is_object": true + "is_empty_response": true }, "all_fields": [ - { - "name": "config", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PtEndpointCoreConfig", - "is_object": true - } - }, { "name": "name", - "description": "The name of the pt endpoint to update. This field is required.", + "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -187444,243 +196076,69 @@ "required_positional_arguments": [ { "name": "name", - "description": "The name of the pt endpoint to update. This field is required.", + "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "wait": { - "success": [ - { - "content": "NOT_UPDATING" - } - ], - "timeout": 20, - "poll": { - "response": { - "pascal_name": "ServingEndpointDetailed" - } - }, - "status_path": [ - { - "pascal_name": "State" - }, - { - "pascal_name": "ConfigUpdate" - } - ] - } - } - ] - }, - { - "id": "serving.ServingEndpointsDataPlane", - "name": "ServingEndpointsDataPlane", - "description": "Serving endpoints DataPlane provides a set of operations to interact with data plane endpoints for Serving endpoints service.", - "package": { - "name": "serving" - }, - "is_data_plane": true, - "docs_group": "serving", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + ] + }, { - "name": "Query", - "description": "Query a serving endpoint", - "summary": "Query a serving endpoint.", - "path": "/serving-endpoints/{name}/invocations", - "can_use_json": true, + "name": "DeleteSupervisorAgent", + "description": "Deletes a Supervisor Agent.", + "summary": "Delete a Supervisor Agent.", + "path": "/api/2.1/{name=supervisor-agents/*}", "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": "QueryEndpointInput", + "pascal_name": "DeleteSupervisorAgentRequest", "is_object": true, "required_fields": [ { "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "QueryEndpointResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "client_request_id", - "description": "Optional user-provided request identifier that will be recorded in the inference table and the usage tracking table.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "dataframe_records", - "description": "Pandas Dataframe input in the records orientation.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_any": true - } - } - }, - { - "name": "dataframe_split", - "description": "Pandas Dataframe input in the split orientation.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DataframeSplitInput", - "is_object": true - } - }, - { - "name": "extra_params", - "description": "The extra parameters field used ONLY for __completions, chat,__ and __embeddings external \u0026 foundation\nmodel__ serving endpoints. This is a map of strings and should only be used with other external/foundation\nmodel query fields.", - "is_request_body_field": true, - "entity": { - "map_value": { - "is_string": true - } - } - }, - { - "name": "input", - "description": "The input string (or array of strings) field used ONLY for __embeddings external \u0026 foundation model__\nserving endpoints and is the only field (along with extra_params if needed) used by embeddings queries.", - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "inputs", - "description": "Tensor-based input in columnar format.", - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "instances", - "description": "Tensor-based input in row format.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_any": true - } - } - }, - { - "name": "max_tokens", - "description": "The max tokens field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is an integer and should only be used with other chat/completions query fields.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "messages", - "description": "The messages field used ONLY for __chat external \u0026 foundation model__ serving endpoints.\nThis is an array of ChatMessage objects and should only be used with other chat query fields.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ChatMessageList", - "array_value": { - "pascal_name": "ChatMessage", - "is_object": true - } - } - }, - { - "name": "n", - "description": "The n (number of candidates) field used ONLY for __completions__ and __chat external \u0026 foundation model__\nserving endpoints. This is an integer between 1 and 5 with a default of 1 and should only be used with\nother chat/completions query fields.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "prompt", - "description": "The prompt string (or array of strings) field used ONLY for __completions external \u0026 foundation model__\nserving endpoints and should only be used with other completions query fields.", - "is_request_body_field": true, - "entity": { - "is_any": true - } - }, - { - "name": "stop", - "description": "The stop sequences field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a list of strings and should only be used with other chat/completions query fields.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, + "entity": { "is_string": true } } - }, - { - "name": "stream", - "description": "The stream field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving endpoints.\nThis is a boolean defaulting to false and should only be used with other chat/completions query fields.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "temperature", - "description": "The temperature field used ONLY for __completions__ and __chat external \u0026 foundation model__ serving\nendpoints. This is a float between 0.0 and 2.0 with a default of 1.0 and should only be used with other\nchat/completions query fields.", - "is_request_body_field": true, - "entity": { - "is_float64": true - } - }, + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ { - "name": "usage_context", - "description": "Optional user-provided context that will be recorded in the usage tracking table.", - "is_request_body_field": true, + "name": "name", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, "entity": { - "map_value": { - "is_string": true - } + "is_string": true } } ], "required_positional_arguments": [ { "name": "name", - "description": "The name of the serving endpoint. This field is required and is provided via the path parameter.", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { @@ -187688,96 +196146,24 @@ } } ] - } - ] - }, - { - "id": "settings.Settings", - "name": "Settings", - "description": "Workspace Settings API allows users to manage settings at the workspace level.", - "package": { - "name": "settings" - }, - "has_subservices": true, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "subservice_ids": [ - "settings.AibiDashboardEmbeddingAccessPolicy", - "settings.AibiDashboardEmbeddingApprovedDomains", - "settings.AutomaticClusterUpdate", - "settings.ComplianceSecurityProfile", - "settings.DashboardEmailSubscriptions", - "settings.DefaultNamespace", - "settings.DefaultWarehouseId", - "settings.DisableLegacyAccess", - "settings.DisableLegacyDbfs", - "settings.EnableExportNotebook", - "settings.EnableNotebookTableClipboard", - "settings.EnableResultsDownloading", - "settings.EnhancedSecurityMonitoring", - "settings.LlmProxyPartnerPoweredWorkspace", - "settings.RestrictWorkspaceAdmins", - "settings.SqlResultsDownload" - ] - }, - { - "id": "settings.AccountSettings", - "name": "AccountSettings", - "description": "Accounts Settings API allows users to manage settings at the account level.", - "package": { - "name": "settings" - }, - "is_accounts": true, - "has_subservices": true, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "subservice_ids": [ - "settings.CspEnablementAccount", - "settings.DisableLegacyFeatures", - "settings.EnableIpAccessLists", - "settings.EsmEnablementAccount", - "settings.LlmProxyPartnerPoweredAccount", - "settings.LlmProxyPartnerPoweredEnforce", - "settings.PersonalCompute" - ] - }, - { - "id": "settingsv2.AccountSettingsV2", - "name": "AccountSettingsV2", - "description": "APIs to manage account level settings", - "package": { - "name": "settingsv2" - }, - "is_accounts": true, - "docs_group": "settings", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "list": { - "request": { - "pascal_name": "ListAccountSettingsMetadataRequest" - } - }, - "methods": [ + }, { - "name": "GetPublicAccountSetting", - "description": "Get a setting value at account level. See :method:settingsv2/listaccountsettingsmetadata for list of setting available via public APIs at account level.", - "summary": "Get an account setting.", - "path": "/api/2.1/accounts/{account_id}/settings/{name}", + "name": "DeleteTool", + "description": "Deletes a Tool.", + "summary": "Delete a Tool.", + "path": "/api/2.1/{name=supervisor-agents/*/tools/*}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "GetPublicAccountSettingRequest", + "pascal_name": "DeleteToolRequest", "is_object": true, "required_fields": [ { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { @@ -187788,6 +196174,7 @@ "required_in_url_fields": [ { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { @@ -187797,12 +196184,12 @@ ] }, "response": { - "pascal_name": "Setting", - "is_object": true + "is_empty_response": true }, "all_fields": [ { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { @@ -187813,6 +196200,7 @@ "required_positional_arguments": [ { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { @@ -187822,76 +196210,97 @@ ] }, { - "name": "GetPublicAccountUserPreference", - "description": "Get a user preference for a specific user.\nUser preferences are personal settings that allow individual customization without affecting other users.\nSee :method:settingsv2/listaccountuserpreferencesmetadata for list of user preferences available via public APIs.", - "summary": "Get a user preference.", - "path": "/api/2.1/accounts/{account_id}/users/{user_id}/settings/{name}", + "name": "GetExample", + "description": "Gets an example from a Supervisor Agent.", + "summary": "Get an example from a Supervisor Agent.", + "path": "/api/2.1/{name=supervisor-agents/*/examples/*}", + "is_crud_read": 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": "GetPublicAccountUserPreferenceRequest", + "pascal_name": "GetExampleRequest", "is_object": true, "required_fields": [ { - "name": "user_id", - "description": "User ID of the user whose setting is being retrieved.", + "name": "name", + "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { "name": "name", - "description": "User Setting name.", + "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "user_id", - "description": "User ID of the user whose setting is being retrieved.", + "name": "question", + "description": "The example question.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "User Setting name.", + "name": "guidelines", + "description": "Guidelines for answering the question.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ] }, - "response": { - "pascal_name": "UserPreference", - "is_object": true - }, "all_fields": [ { "name": "name", - "description": "User Setting name.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "user_id", - "description": "User ID of the user whose setting is being retrieved.", + "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -187900,18 +196309,9 @@ } ], "required_positional_arguments": [ - { - "name": "user_id", - "description": "User ID of the user whose setting is being retrieved.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, { "name": "name", - "description": "User Setting name.", + "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -187921,71 +196321,85 @@ ] }, { - "name": "ListAccountSettingsMetadata", - "description": "List valid setting keys and metadata. These settings are available to be referenced via\nGET :method:settingsv2/getpublicaccountsetting and\nPATCH :method:settingsv2/patchpublicaccountsetting APIs", - "summary": "List valid setting keys and their metadata.", - "path": "/api/2.1/accounts/{account_id}/settings-metadata", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get supervisor agent permission levels.", + "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}/permissionLevels", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "ListAccountSettingsMetadataRequest", - "is_object": true + "pascal_name": "GetSupervisorAgentPermissionLevelsRequest", + "is_object": true, + "required_fields": [ + { + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListAccountSettingsMetadataResponse", + "pascal_name": "GetSupervisorAgentPermissionLevelsResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "The maximum number of settings to return. The service may return fewer than this value.\nIf unspecified, at most 200 settings will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "A page token, received from a previous `ListAccountSettingsMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountSettingsMetadataRequest` must match\nthe call that provided the page token.", - "is_query": true, + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListAccountSettingsMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountSettingsMetadataRequest` must match\nthe call that provided the page token.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "ListAccountUserPreferencesMetadata", - "description": "List valid user preferences and their metadata for a specific user.\nUser preferences are personal settings that allow individual customization without affecting other users.\nThese settings are available to be referenced via\nGET :method:settingsv2/getpublicaccountuserpreference and\nPATCH :method:settingsv2/patchpublicaccountuserpreference APIs", - "summary": "List user preferences and their metadata.", - "path": "/api/2.1/accounts/{account_id}/users/{user_id}/settings-metadata", + "name": "GetPermissions", + "description": "Gets the permissions of a supervisor agent. Supervisor agents can inherit permissions from their root object.", + "summary": "Get supervisor agent permissions.", + "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}", "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": "ListAccountUserPreferencesMetadataRequest", + "pascal_name": "GetSupervisorAgentPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "user_id", - "description": "User ID of the user whose settings metadata is being retrieved.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -187995,8 +196409,8 @@ ], "required_in_url_fields": [ { - "name": "user_id", - "description": "User ID of the user whose settings metadata is being retrieved.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -188006,29 +196420,13 @@ ] }, "response": { - "pascal_name": "ListAccountUserPreferencesMetadataResponse", + "pascal_name": "SupervisorAgentPermissions", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "The maximum number of settings to return. The service may return fewer than this value.\nIf unspecified, at most 200 settings will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "A page token, received from a previous `ListAccountUserPreferencesMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountUserPreferencesMetadataRequest` must match\nthe call that provided the page token.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "user_id", - "description": "User ID of the user whose settings metadata is being retrieved.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -188038,353 +196436,95 @@ ], "required_positional_arguments": [ { - "name": "user_id", - "description": "User ID of the user whose settings metadata is being retrieved.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListAccountUserPreferencesMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountUserPreferencesMetadataRequest` must match\nthe call that provided the page token.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "PatchPublicAccountSetting", - "description": "Patch a setting value at account level. See :method:settingsv2/listaccountsettingsmetadata for list of setting available via public APIs at account level.\nTo determine the correct field to include in a patch request, refer to the type field of the setting returned in the :method:settingsv2/listaccountsettingsmetadata response.\n\nNote: Page refresh is required for changes to take effect in UI.", - "summary": "Update an account setting.", - "path": "/api/2.1/accounts/{account_id}/settings/{name}", - "can_use_json": true, + "name": "GetSupervisorAgent", + "description": "Gets a Supervisor Agent.", + "summary": "Get a Supervisor Agent.", + "path": "/api/2.1/{name=supervisor-agents/*}", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "PatchPublicAccountSettingRequest", + "pascal_name": "GetSupervisorAgentRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { "name": "name", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Setting", - "is_object": true - } } ], "required_in_url_fields": [ { "name": "name", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } } + ] + }, + "response": { + "pascal_name": "SupervisorAgent", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } ], "required_request_body_fields": [ { - "name": "setting", + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Setting", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Setting", - "is_object": true - } - }, - "response": { - "pascal_name": "Setting", - "is_object": true - }, "all_fields": [ { "name": "name", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Setting", - "is_object": true - } - }, - { - "name": "aibi_dashboard_embedding_access_policy", - "description": "Setting value for aibi_dashboard_embedding_access_policy setting. This is the setting value set by consumers, check effective_aibi_dashboard_embedding_access_policy for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AibiDashboardEmbeddingAccessPolicy", - "is_object": true - } - }, - { - "name": "aibi_dashboard_embedding_approved_domains", - "description": "Setting value for aibi_dashboard_embedding_approved_domains setting. This is the setting value set by consumers, check effective_aibi_dashboard_embedding_approved_domains for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AibiDashboardEmbeddingApprovedDomains", - "is_object": true - } - }, - { - "name": "allowed_apps_user_api_scopes", - "description": "Setting value for allowed_apps_user_api_scopes setting. This is the setting value set by consumers, check effective_allowed_apps_user_api_scopes for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AllowedAppsUserApiScopesMessage", - "is_object": true - } - }, - { - "name": "automatic_cluster_update_workspace", - "description": "Setting value for automatic_cluster_update_workspace setting. This is the setting value set by consumers, check effective_automatic_cluster_update_workspace for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "ClusterAutoRestartMessage", - "is_object": true - } - }, - { - "name": "boolean_val", - "description": "Setting value for boolean type setting. This is the setting value set by consumers, check effective_boolean_val for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - }, - { - "name": "collaboration_platform_connectivity", - "description": "Setting value for collaboration_platform_connectivity setting. This is the setting value set by consumers, check effective_collaboration_platform_connectivity for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CollaborationPlatformConnectivityMessage", - "is_object": true - } - }, - { - "name": "effective_aibi_dashboard_embedding_access_policy", - "description": "Effective setting value for aibi_dashboard_embedding_access_policy setting. This is the final effective value of setting. To set a value use aibi_dashboard_embedding_access_policy.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AibiDashboardEmbeddingAccessPolicy", - "is_object": true - } - }, - { - "name": "effective_aibi_dashboard_embedding_approved_domains", - "description": "Effective setting value for aibi_dashboard_embedding_approved_domains setting. This is the final effective value of setting. To set a value use aibi_dashboard_embedding_approved_domains.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AibiDashboardEmbeddingApprovedDomains", - "is_object": true - } - }, - { - "name": "effective_allowed_apps_user_api_scopes", - "description": "Effective setting value for allowed_apps_user_api_scopes setting. This is the final effective value of setting. To set a value use allowed_apps_user_api_scopes.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AllowedAppsUserApiScopesMessage", - "is_object": true - } - }, - { - "name": "effective_automatic_cluster_update_workspace", - "description": "Effective setting value for automatic_cluster_update_workspace setting. This is the final effective value of setting. To set a value use automatic_cluster_update_workspace.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "ClusterAutoRestartMessage", - "is_object": true - } - }, - { - "name": "effective_boolean_val", - "description": "Effective setting value for boolean type setting. This is the final effective value of setting. To set a value use boolean_val.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - }, - { - "name": "effective_collaboration_platform_connectivity", - "description": "Effective setting value for collaboration_platform_connectivity setting. This is the final effective value of setting. To set a value use collaboration_platform_connectivity.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CollaborationPlatformConnectivityMessage", - "is_object": true - } - }, - { - "name": "effective_integer_val", - "description": "Effective setting value for integer type setting. This is the final effective value of setting. To set a value use integer_val.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IntegerMessage", - "is_object": true - } - }, - { - "name": "effective_operational_email_custom_recipient", - "description": "Effective setting value for operational_email_custom_recipient setting. This is the final effective value of setting. To set a value use operational_email_custom_recipient.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "OperationalEmailCustomRecipientMessage", - "is_object": true - } - }, - { - "name": "effective_personal_compute", - "description": "Effective setting value for personal_compute setting. This is the final effective value of setting. To set a value use personal_compute.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PersonalComputeMessage", - "is_object": true - } - }, - { - "name": "effective_restrict_workspace_admins", - "description": "Effective setting value for restrict_workspace_admins setting. This is the final effective value of setting. To set a value use restrict_workspace_admins.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RestrictWorkspaceAdminsMessage", - "is_object": true - } - }, - { - "name": "effective_string_val", - "description": "Effective setting value for string type setting. This is the final effective value of setting. To set a value use string_val.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "StringMessage", - "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.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "IntegerMessage", - "is_object": true - } - }, - { - "name": "name", - "description": "Name of the setting.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "operational_email_custom_recipient", - "description": "Setting value for operational_email_custom_recipient setting. This is the setting value set by consumers, check effective_operational_email_custom_recipient for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "OperationalEmailCustomRecipientMessage", - "is_object": true - } - }, - { - "name": "personal_compute", - "description": "Setting value for personal_compute setting. This is the setting value set by consumers, check effective_personal_compute for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "PersonalComputeMessage", - "is_object": true - } - }, - { - "name": "restrict_workspace_admins", - "description": "Setting value for restrict_workspace_admins setting. This is the setting value set by consumers, check effective_restrict_workspace_admins for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RestrictWorkspaceAdminsMessage", - "is_object": true - } - }, - { - "name": "string_val", - "description": "Setting value for string type setting. This is the setting value set by consumers, check effective_string_val for final setting value.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "StringMessage", - "is_object": true - } } ], "required_positional_arguments": [ { "name": "name", + "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { @@ -188394,62 +196534,52 @@ ] }, { - "name": "PatchPublicAccountUserPreference", - "description": "Update a user preference for a specific user.\nUser preferences are personal settings that allow individual customization without affecting other users.\nSee :method:settingsv2/listaccountuserpreferencesmetadata for list of user preferences available via public APIs.\n\nNote: Page refresh is required for changes to take effect in UI.", - "summary": "Update a user preference.", - "path": "/api/2.1/accounts/{account_id}/users/{user_id}/settings/{name}", - "can_use_json": true, + "name": "GetTool", + "description": "Gets a Tool.", + "summary": "Get a Tool.", + "path": "/api/2.1/{name=supervisor-agents/*/tools/*}", + "is_crud_read": 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": "PatchPublicAccountUserPreferenceRequest", + "pascal_name": "GetToolRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ - { - "name": "user_id", - "description": "User ID of the user whose setting is being updated.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "UserPreference", - "is_object": true - } } ], "required_in_url_fields": [ { - "name": "user_id", - "description": "User ID of the user whose setting is being updated.", + "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + "response": { + "pascal_name": "Tool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "name", + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -188457,123 +196587,31 @@ ], "required_request_body_fields": [ { - "name": "setting", + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "UserPreference", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "UserPreference", - "is_object": true - } - }, - "response": { - "pascal_name": "UserPreference", - "is_object": true - }, "all_fields": [ { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "setting", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "UserPreference", - "is_object": true - } - }, - { - "name": "user_id", - "description": "User ID of the user whose setting is being updated.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "boolean_val", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - }, - { - "name": "effective_boolean_val", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "BooleanMessage", - "is_object": true - } - }, - { - "name": "effective_string_val", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "StringMessage", - "is_object": true - } - }, - { - "name": "name", - "description": "Name of the setting.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "string_val", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "StringMessage", - "is_object": true - } - }, - { - "name": "user_id", - "description": "User ID of the user.", - "is_request_body_field": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ - { - "name": "user_id", - "description": "User ID of the user whose setting is being updated.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, { "name": "name", + "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, "is_path": true, "entity": { @@ -188581,56 +196619,37 @@ } } ] - } - ] - }, - { - "id": "sharing.Shares", - "name": "Shares", - "description": "A share is a container instantiated with :method:shares/create. Once created you can\niteratively register a collection of existing data assets defined within the metastore\nusing :method:shares/update. You can register data assets under their original name,\nqualified by their original schema, or provide alternate exposed names.", - "package": { - "name": "sharing" - }, - "docs_group": "sharing", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "SharesListRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Creates a new share for data objects. Data objects can be added after creation with **update**.\nThe caller must be a metastore admin or have the **CREATE_SHARE** privilege on the metastore.", - "summary": "Create a share.", - "path": "/api/2.1/unity-catalog/shares", - "can_use_json": true, - "is_crud_create": true, + "name": "ListExamples", + "description": "Lists examples under a Supervisor Agent.", + "summary": "List examples for a Supervisor Agent.", + "path": "/api/2.1/{parent=supervisor-agents/*}/examples", "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": "CreateShare", + "pascal_name": "ListExamplesRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the share.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "name", - "description": "Name of the share.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -188638,31 +196657,31 @@ ] }, "response": { - "pascal_name": "ShareInfo", + "pascal_name": "ListExamplesResponse", "is_object": true }, "all_fields": [ { - "name": "comment", - "description": "User-provided free-form text description.", - "is_request_body_field": true, + "name": "page_size", + "description": "The maximum number of examples to return.\nIf unspecified, at most 100 examples will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "name", - "description": "Name of the share.", - "required": true, - "is_request_body_field": true, + "name": "page_token", + "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "storage_root", - "description": "Storage root URL for the share.", - "is_request_body_field": true, + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -188670,92 +196689,94 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the share.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } - ] - }, - { - "name": "Delete", - "description": "Deletes a data object share from the metastore. The caller must be an owner of the share.", - "summary": "Delete a share.", - "path": "/api/2.1/unity-catalog/shares/{name}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteShareRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The name of the share.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The name of the share.", - "required": true, - "is_path": true, + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, "entity": { "is_string": true } } - ] + } + } + }, + { + "name": "ListSupervisorAgents", + "description": "Lists Supervisor Agents.", + "summary": "List Supervisor Agents.", + "path": "/api/2.1/supervisor-agents", + "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": "ListSupervisorAgentsRequest", + "is_object": true }, "response": { - "is_empty_response": true + "pascal_name": "ListSupervisorAgentsResponse", + "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The name of the share.", - "required": true, - "is_path": true, + "name": "page_size", + "description": "The maximum number of supervisor agents to return.\nIf unspecified, at most 100 supervisor agents will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The name of the share.", - "required": true, - "is_path": true, + "name": "page_token", + "description": "A page token, received from a previous `ListSupervisorAgents` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListSupervisorAgents` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "Get", - "description": "Gets a data object share from the metastore. The caller must have the USE_SHARE privilege on the metastore or be the owner of the share.", - "summary": "Get a share.", - "path": "/api/2.1/unity-catalog/shares/{name}", - "is_crud_read": true, + "name": "ListTools", + "description": "Lists Tools under a Supervisor Agent.", + "summary": "List Tools.", + "path": "/api/2.1/{parent=supervisor-agents/*}/tools", "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": "GetShareRequest", + "pascal_name": "ListToolsRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the share.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { @@ -188765,8 +196786,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the share.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { @@ -188776,69 +196797,40 @@ ] }, "response": { - "pascal_name": "ShareInfo", + "pascal_name": "ListToolsResponse", "is_object": true }, "all_fields": [ { - "name": "include_shared_data", - "description": "Query for data to include in the share.", + "name": "page_size", "is_query": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "name", - "description": "The name of the share.", - "required": true, - "is_path": true, + "name": "page_token", + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The name of the share.", + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - { - "name": "ListShares", - "description": "Gets an array of data object shares from the metastore. If the caller has the USE_SHARE privilege on the metastore, all shares are returned. Otherwise, only shares owned by the caller are returned.\nThere is no guarantee of a specific ordering of the elements in the array.", - "summary": "List shares.", - "path": "/api/2.1/unity-catalog/shares", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "SharesListRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListSharesResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "max_results", - "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", - "is_query": true, - "entity": { - "is_int": true - } - }, + ], + "required_positional_arguments": [ { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, + "name": "parent", + "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -188848,39 +196840,32 @@ "token": { "poll_field": { "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", "is_query": true, "entity": { "is_string": true } } - }, - "max_results": { - "name": "max_results", - "description": "Maximum number of shares to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid shares are returned (not recommended).\n- Note: The number of returned shares might be less than the specified max_results size, even zero.\nThe only definitive indication that no further shares can be fetched is when the next_page_token is unset from the response.", - "is_query": true, - "entity": { - "is_int": true - } } } }, { - "name": "SharePermissions", - "description": "Gets the permissions for a data share from the metastore.\nThe caller must have the USE_SHARE privilege on the metastore or be the owner of the share.", - "summary": "Get permissions.", - "path": "/api/2.1/unity-catalog/shares/{name}/permissions", - "is_crud_read": true, + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set supervisor agent permissions.", + "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}", + "can_use_json": 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": "SharePermissionsRequest", + "pascal_name": "SupervisorAgentPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the Recipient.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -188890,8 +196875,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the Recipient.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -188901,40 +196886,35 @@ ] }, "response": { - "pascal_name": "GetSharePermissionsResponse", + "pascal_name": "SupervisorAgentPermissions", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Maximum number of permissions to return.\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to a value less than 0, an invalid parameter error is returned;\n- If not set, all valid permissions are returned (not recommended).\n- Note: The number of returned permissions might be less than the specified max_results size, even zero.\nThe only definitive indication that no further permissions can be fetched is when the next_page_token is unset from the response.", - "is_query": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "SupervisorAgentAccessControlRequestList", + "array_value": { + "pascal_name": "SupervisorAgentAccessControlRequest", + "is_object": true + } } }, { - "name": "name", - "description": "The name of the Recipient.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the Recipient.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -188944,56 +196924,249 @@ ] }, { - "name": "Update", - "description": "Updates the share with the changes and data objects in the request.\nThe caller must be the owner of the share or a metastore admin.\n\nWhen the caller is a metastore admin, only the __owner__ field can be updated.\n\nIn the case the share name is changed, **updateShare** requires that the caller is the owner of the share\nand has the CREATE_SHARE privilege.\n\nIf there are notebook files in the share, the __storage_root__ field cannot be updated.\n\nFor each table that is added through this method, the share owner must also have **SELECT** privilege on the table.\nThis privilege must be maintained indefinitely for recipients to be able to access the table.\nTypically, you should use a group as the share owner.\n\nTable removals through **update** do not require additional privileges.", - "summary": "Update a share.", - "path": "/api/2.1/unity-catalog/shares/{name}", + "name": "UpdateExample", + "description": "Updates an example in a Supervisor Agent.", + "summary": "Update an example in a Supervisor Agent.", + "path": "/api/2.1/{name=supervisor-agents/*/examples/*}", "can_use_json": 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": "UpdateShare", + "pascal_name": "UpdateExampleRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "The name of the share.", + "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "example", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "required_in_url_fields": [ { "name": "name", - "description": "The name of the share.", + "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "example", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true + } } ] }, + "request_body_field": { + "name": "example", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ] + } + }, "response": { - "pascal_name": "ShareInfo", - "is_object": true + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ] }, "all_fields": [ { - "name": "comment", - "description": "User-provided free-form text description.", + "name": "example", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Example", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_request_body_fields": [ + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ] } }, { "name": "name", - "description": "The name of the share.", + "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { @@ -189001,70 +197174,113 @@ } }, { - "name": "new_name", - "description": "New name for the share.", + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "example_id", + "description": "The universally unique identifier (UUID) of the example.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "Username of current owner of share.", + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "storage_root", - "description": "Storage root URL for the share.", + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/examples/{example_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "updates", - "description": "Array of shared data object updates.", + "name": "question", + "description": "The example question.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SharedDataObjectUpdateList", - "array_value": { - "pascal_name": "SharedDataObjectUpdate", - "is_object": true - } + "is_string": true } } ], "required_positional_arguments": [ { "name": "name", - "description": "The name of the share.", + "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "question", + "description": "The example question.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "guidelines", + "description": "Guidelines for answering the question.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ] }, { "name": "UpdatePermissions", - "description": "Updates the permissions for a data share in the metastore.\nThe caller must have both the USE_SHARE and SET_SHARE_PERMISSION privileges on the metastore,\nor be the owner of the share.\n\nFor new recipient grants, the user must also be the owner of the recipients.\nrecipient revocations do not require additional privileges.", - "summary": "Update permissions.", - "path": "/api/2.1/unity-catalog/shares/{name}/permissions", + "description": "Updates the permissions on a supervisor agent. Supervisor agents can inherit permissions from their root object.", + "summary": "Update supervisor agent permissions.", + "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}", "can_use_json": 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": "UpdateSharePermissions", + "pascal_name": "SupervisorAgentPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the share.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -189074,8 +197290,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the share.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -189085,44 +197301,35 @@ ] }, "response": { - "pascal_name": "UpdateSharePermissionsResponse", + "pascal_name": "SupervisorAgentPermissions", "is_object": true }, "all_fields": [ { - "name": "changes", - "description": "Array of permissions change objects.", + "name": "access_control_list", "is_request_body_field": true, "entity": { - "pascal_name": "PermissionsChangeList", + "pascal_name": "SupervisorAgentAccessControlRequestList", "array_value": { - "pascal_name": "PermissionsChange", + "pascal_name": "SupervisorAgentAccessControlRequest", "is_object": true } } }, { - "name": "name", - "description": "The name of the share.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "omit_permissions_list", - "description": "Optional. Whether to return the latest permissions list of the share in the response.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the share.", + "name": "supervisor_agent_id", + "description": "The supervisor agent for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -189130,316 +197337,282 @@ } } ] - } - ] - }, - { - "id": "settings.SqlResultsDownload", - "name": "SqlResultsDownload", - "description": "Controls whether users within the workspace are allowed to download results from the SQL Editor and AI/BI Dashboards UIs. By default, this setting is enabled (set to `true`)", - "package": { - "name": "settings" - }, - "has_parent": true, - "docs_group": "settings", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "parent_service_id": "settings.Settings", - "methods": [ + }, { - "name": "Delete", - "description": "Reverts the SQL Results Download setting to its default value.", - "summary": "Delete the SQL Results Download setting.", - "path": "/api/2.0/settings/types/sql_results_download/names/default", + "name": "UpdateSupervisorAgent", + "description": "Updates a Supervisor Agent. The fields that are required depend on the paths specified in `update_mask`.\nOnly fields included in the mask will be updated.", + "summary": "Update a Supervisor Agent.", + "path": "/api/2.1/{name=supervisor-agents/*}", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "DeleteSqlResultsDownloadRequest", - "is_object": true - }, - "response": { - "pascal_name": "DeleteSqlResultsDownloadResponse", + "pascal_name": "UpdateSupervisorAgentRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", + "name": "name", + "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - } - ] - }, - "all_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Gets the SQL Results Download setting.", - "summary": "Get the SQL Results Download setting.", - "path": "/api/2.0/settings/types/sql_results_download/names/default", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GetSqlResultsDownloadRequest", - "is_object": true - }, - "response": { - "pascal_name": "SqlResultsDownload", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ + }, { - "name": "boolean_val", + "name": "supervisor_agent", + "description": "The SupervisorAgent to update.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "BooleanMessage", + "pascal_name": "SupervisorAgent", "is_object": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "boolean_val", + "name": "update_mask", + "description": "Field mask for fields to be updated.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_field_mask": true } } - ] - }, - "all_fields": [ - { - "name": "etag", - "description": "etag used for versioning. The response is at least as fresh as the eTag\nprovided. This is used for optimistic concurrency control as a way to\nhelp prevent simultaneous writes of a setting overwriting each other. It\nis strongly suggested that systems make use of the etag in the read -\u003e\ndelete pattern to perform setting deletions in order to avoid race\nconditions. That is, get an etag from a GET request, and pass it with the\nDELETE request to identify the rule set version you are deleting.", - "is_query": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates the SQL Results Download setting.", - "summary": "Update the SQL Results Download setting.", - "path": "/api/2.0/settings/types/sql_results_download/names/default", - "can_use_json": true, - "must_use_json": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "UpdateSqlResultsDownloadRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, + ], + "required_in_url_fields": [ { - "name": "setting", + "name": "name", + "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "SqlResultsDownload", - "is_object": true + "is_string": true } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "update_mask", + "description": "Field mask for fields to be updated.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "is_string": true + "is_field_mask": true } } ], "required_request_body_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "setting", + "name": "supervisor_agent", + "description": "The SupervisorAgent to update.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SqlResultsDownload", + "pascal_name": "SupervisorAgent", "is_object": true } - }, - { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } } ] }, + "request_body_field": { + "name": "supervisor_agent", + "description": "The SupervisorAgent to update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "SupervisorAgent", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, "response": { - "pascal_name": "SqlResultsDownload", + "pascal_name": "SupervisorAgent", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "boolean_val", + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ], "required_request_body_fields": [ { - "name": "boolean_val", + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "BooleanMessage", - "is_object": true + "is_string": true } } ] }, "all_fields": [ { - "name": "allow_missing", - "description": "This should always be set to true for Settings API. Added for AIP compliance.", + "name": "name", + "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "supervisor_agent", + "description": "The SupervisorAgent to update.", "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "SupervisorAgent", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "field_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "update_mask", + "description": "Field mask for fields to be updated.", "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "create_time", + "description": "Creation timestamp.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "creator", + "description": "The creator of the Supervisor Agent.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "setting", + "name": "description", + "description": "Description of what this agent can do (user-facing).", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SqlResultsDownload", - "is_object": true + "is_string": true } - } - ] - } - ] - }, - { - "id": "sql.StatementExecution", - "name": "StatementExecution", - "description": "The Databricks SQL Statement Execution API can be used to execute SQL statements on a SQL warehouse and fetch the result.\n\n**Getting started**\n\nWe suggest beginning with the [Databricks SQL Statement Execution API tutorial](https://docs.databricks.com/sql/api/sql-execution-tutorial.html).\n\n**Overview of statement execution and result fetching**\n\nStatement execution begins by issuing a :method:statementexecution/executeStatement request with a valid\nSQL statement and warehouse ID, along with optional parameters such as the data catalog and output format.\nIf no other parameters are specified, the server will wait for up to 10s before returning a response.\nIf the statement has completed within this timespan, the response will include the result data as a JSON\narray and metadata.\nOtherwise, if no result is available after the 10s timeout expired, the response will provide the\nstatement ID that can be used to poll for results by using a :method:statementexecution/getStatement\nrequest.\n\nYou can specify whether the call should behave synchronously, asynchronously\nor start synchronously with a fallback to asynchronous execution.\nThis is controlled with the `wait_timeout` and `on_wait_timeout` settings.\nIf `wait_timeout` is set between 5-50 seconds (default:\n10s), the call waits for results up to\nthe specified timeout; when set to `0s`, the call is asynchronous and responds immediately with a\nstatement ID. The `on_wait_timeout` setting specifies what should happen when the timeout is reached while\nthe statement execution has not yet finished. This can be set to either `CONTINUE`, to fallback to\nasynchronous mode, or it can be set to `CANCEL`, which cancels the statement.\n\nIn summary:\n- **Synchronous mode** (`wait_timeout=30s` and `on_wait_timeout=CANCEL`):\nThe call waits up to 30 seconds; if the statement execution finishes within this time,\nthe result data is returned directly in the response. If the execution takes longer than 30 seconds,\nthe execution is canceled and the call returns with a `CANCELED` state.\n- **Asynchronous mode** (`wait_timeout=0s` and `on_wait_timeout` is ignored):\nThe call doesn't wait for the statement to finish but returns directly with a statement ID.\nThe status of the statement execution can be polled by issuing :method:statementexecution/getStatement with the statement ID.\nOnce the execution has succeeded, this call also returns the result and metadata in the response.\n- **[Default] Hybrid mode** (`wait_timeout=10s` and `on_wait_timeout=CONTINUE`):\nThe call waits for up to 10 seconds; if the statement execution finishes within this time,\nthe result data is returned directly in the response. If the execution takes longer than 10\nseconds, a statement ID is returned. The statement ID can be used to fetch status and results in\nthe same way as in the asynchronous mode.\n\nDepending on the size, the result can be split into multiple chunks. If the statement execution is\nsuccessful, the statement response contains a manifest and the first chunk of the result. The manifest\ncontains schema information and provides metadata for each chunk in the result. Result chunks can be\nretrieved by index with :method:statementexecution/getStatementResultChunkN which may be called in any\norder and in parallel. For sequential fetching, each chunk, apart from the last, also contains a\n`next_chunk_index` and `next_chunk_internal_link` that point to the next chunk.\n\nA statement can be canceled with :method:statementexecution/cancelExecution.\n\n**Fetching result data: format and disposition**\n\nTo specify the format of the result data, use the `format` field, which can be set to one of the following\noptions: `JSON_ARRAY` (JSON), `ARROW_STREAM`\n([Apache Arrow Columnar](https://arrow.apache.org/overview/)), or `CSV`.\n\nThere are two ways to receive statement results, controlled by the `disposition` setting,\nwhich can be either `INLINE` or `EXTERNAL_LINKS`:\n\n- `INLINE`: In this mode, the result data is directly included in the response. It's best suited for smaller results.\nThis mode can only be used with the `JSON_ARRAY` format.\n\n- `EXTERNAL_LINKS`: In this mode, the response provides links that can be used to download the result data in chunks separately.\nThis approach is ideal for larger results and offers higher throughput.\nThis mode can be used with all the formats: `JSON_ARRAY`, `ARROW_STREAM`, and `CSV`.\n\nBy default, the API uses `format=JSON_ARRAY` and `disposition=INLINE`.\n\n**Limits and limitations**\n\nNote: The byte limit for INLINE disposition is based on internal storage metrics and will not exactly match the byte count of the actual payload.\n\n- Statements with `disposition=INLINE` are limited to 25 MiB and will fail when this limit is\nexceeded.\n- Statements with `disposition=EXTERNAL_LINKS` are limited to 100 GiB. Result sets larger than\nthis limit will be truncated. Truncation is indicated by the `truncated` field in the result manifest.\n- The maximum query text size is 16 MiB.\n- Cancelation might silently fail. A successful response from a cancel request indicates that the cancel request\nwas successfully received and sent to the processing engine. However, an outstanding statement\nmight have already completed execution when the cancel request arrives. Polling\nfor status until a terminal state is reached is a reliable way to determine the final state.\n- Wait timeouts are approximate, occur server-side, and cannot account for things such as caller delays and network latency from caller to service.\n- To keep a statement alive, poll for its status at least once every 15 minutes. Regular polling guarantees the statement stays alive.\n- To stop a statement you no longer need, cancel it explicitly with :method:statementexecution/cancelExecution. Stopping polling does not cancel a statement. Explicit cancellation is the only way to end statement execution on demand.\n- The results are only available for one hour after success; polling does not extend this.\n- The SQL Execution API must be used for the entire lifecycle of the statement. For example, you cannot use the Jobs API to execute the command, and then the SQL Execution API to cancel it.", - "package": { - "name": "sql" - }, - "docs_group": "sql", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ - { - "name": "CancelExecution", - "description": "Requests that an executing statement be canceled. Callers must poll for status to see the\nterminal state. Cancel response is empty; receiving response indicates successful receipt.", - "summary": "Cancel statement execution.", - "path": "/api/2.0/sql/statements/{statement_id}/cancel", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CancelExecutionRequest", - "is_object": true, - "required_fields": [ - { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "endpoint_name", + "description": "The name of the supervisor agent's serving endpoint.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "experiment_id", + "description": "The MLflow experiment ID.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ + }, { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", - "required": true, - "is_path": true, + "name": "id", + "description": "Deprecated: Use supervisor_agent_id instead.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "instructions", + "description": "Optional natural-language instructions for the supervisor agent.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "supervisor_agent_id", + "description": "The universally unique identifier (UUID) of the Supervisor Agent.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -189447,42 +197620,154 @@ ], "required_positional_arguments": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "name", + "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "Field mask for fields to be updated.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "display_name", + "description": "The display name of the Supervisor Agent, unique at workspace level.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] }, { - "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.", - "summary": "Execute a SQL statement.", - "path": "/api/2.0/sql/statements", + "name": "UpdateTool", + "description": "Updates a Tool. Only the `description` field can be updated.\nTo change immutable fields such as tool type, spec, or tool ID, delete the tool and recreate it.", + "summary": "Update a Tool.", + "path": "/api/2.1/{name=supervisor-agents/*/tools/*}", "can_use_json": 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": "ExecuteStatementRequest", + "pascal_name": "UpdateToolRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "statement", - "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tool", + "description": "The Tool to update.", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "Tool", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Field mask for fields to be updated.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "warehouse_id", - "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "name": "update_mask", + "description": "Field mask for fields to be updated.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "tool", + "description": "The Tool to update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Tool", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "tool", + "description": "The Tool to update.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Tool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + "response": { + "pascal_name": "Tool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, "is_request_body_field": true, "entity": { @@ -189492,17 +197777,8 @@ ], "required_request_body_fields": [ { - "name": "statement", - "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "warehouse_id", - "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, "is_request_body_field": true, "entity": { @@ -189511,158 +197787,178 @@ } ] }, - "response": { - "pascal_name": "StatementResponse", - "is_object": true - }, "all_fields": [ { - "name": "byte_limit", - "description": "Applies the given byte limit to the statement's result size. Byte counts are based on internal data\nrepresentations and might not match the final size in the requested `format`. If the result was truncated due to\nthe byte limit, then `truncated` in the response is set to `true`.\nWhen using `EXTERNAL_LINKS` disposition, a default `byte_limit` of 100 GiB is applied if `byte_limit` is not\nexplicitly set.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - }, - { - "name": "catalog", - "description": "Sets default catalog for statement execution, similar to\n[`USE CATALOG`](https://docs.databricks.com/sql/language-manual/sql-ref-syntax-ddl-use-catalog.html)\nin SQL.", - "is_request_body_field": true, + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "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.", + "name": "tool", + "description": "The Tool to update.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Disposition", - "enum": [ + "pascal_name": "Tool", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "content": "EXTERNAL_LINKS" - }, + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ { - "content": "INLINE" + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] } }, { - "name": "format", - "description": "Statement execution supports three result formats: `JSON_ARRAY` (default), `ARROW_STREAM`, and `CSV`.\n\nImportant: The formats `ARROW_STREAM` and `CSV` are supported only with `EXTERNAL_LINKS` disposition.\n`JSON_ARRAY` is supported in `INLINE` and `EXTERNAL_LINKS` disposition.\n\nWhen specifying `format=JSON_ARRAY`, result data will be formatted as an array of arrays of values, where each\nvalue is either the *string representation* of a value, or `null`.\nFor example, the output of `SELECT concat('id-', id) AS strCol, id AS intCol, null AS nullCol FROM range(3)` would\nlook like this:\n\n```\n[\n[ \"id-1\", \"1\", null ],\n[ \"id-2\", \"2\", null ],\n[ \"id-3\", \"3\", null ],\n]\n```\n\nWhen specifying `format=JSON_ARRAY` and `disposition=EXTERNAL_LINKS`, each chunk in the result contains compact\nJSON with no indentation or extra whitespace.\n\nWhen specifying `format=ARROW_STREAM` and `disposition=EXTERNAL_LINKS`, each chunk in the result will be formatted\nas Apache Arrow Stream. See the\n[Apache Arrow streaming format](https://arrow.apache.org/docs/format/Columnar.html#ipc-streaming-format).\n\nWhen specifying `format=CSV` and `disposition=EXTERNAL_LINKS`, each chunk in the result will be a CSV according to\n[RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) standard.\nAll the columns values will have *string representation* similar to the `JSON_ARRAY` format, and `null` values will\nbe encoded as “null”.\nOnly the first chunk in the result would contain a header row with column names.\nFor example, the output of `SELECT concat('id-', id) AS strCol, id AS intCol, null as nullCol FROM range(3)` would\nlook like this:\n\n```\nstrCol,intCol,nullCol\nid-1,1,null\nid-2,2,null\nid-3,3,null\n```", - "is_request_body_field": true, + "name": "update_mask", + "description": "Field mask for fields to be updated.", + "required": true, + "is_query": true, "entity": { - "pascal_name": "Format", - "enum": [ - { - "content": "ARROW_STREAM" - }, - { - "content": "CSV" - }, - { - "content": "JSON_ARRAY" - } - ] + "is_field_mask": true } }, { - "name": "on_wait_timeout", - "description": "When `wait_timeout \u003e 0s`, the call will block up to the specified time. If the statement execution doesn't\nfinish within this time, `on_wait_timeout` determines whether the execution should continue or be canceled.\nWhen set to `CONTINUE`, the statement execution continues asynchronously and the call returns a statement ID\nwhich can be used for polling with :method:statementexecution/getStatement. When set to `CANCEL`,\nthe statement execution is canceled and the call returns with a `CANCELED` state.", + "name": "app", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "ExecuteStatementRequestOnWaitTimeout", - "enum": [ - { - "content": "CANCEL" - }, - { - "content": "CONTINUE" - } - ] + "pascal_name": "App", + "is_object": true } }, { - "name": "parameters", - "description": "A list of parameters to pass into a SQL statement containing parameter markers. A\nparameter consists of a name, a value, and optionally a type. To represent a NULL\nvalue, the `value` field may be omitted or set to `null` explicitly. If the `type` field\nis omitted, the value is interpreted as a string.\n\nIf the type is given, parameters will be checked for type correctness according\nto the given type. A value is correct if the provided string can be converted to\nthe requested type using the `cast` function. The exact semantics are described in\nthe section [`cast` function](https://docs.databricks.com/sql/language-manual/functions/cast.html) of the SQL language reference.\n\nFor example, the following statement contains two parameters, `my_name` and `my_date`:\n\n```\nSELECT * FROM my_table WHERE name = :my_name AND date = :my_date\n```\n\nThe parameters can be passed in the request body as follows:\n\n`\n{\n...,\n\"statement\": \"SELECT * FROM my_table WHERE name = :my_name AND date = :my_date\",\n\"parameters\": [\n{ \"name\": \"my_name\", \"value\": \"the name\" },\n{ \"name\": \"my_date\", \"value\": \"2020-01-01\", \"type\": \"DATE\" }\n]\n}\n`\n\nCurrently, positional parameters denoted by a `?` marker are not supported by the\nDatabricks SQL Statement Execution API.\n\nAlso see the section [Parameter markers](https://docs.databricks.com/sql/language-manual/sql-ref-parameter-marker.html) of the SQL language reference.", + "name": "description", + "description": "Description of what this tool does (user-facing).", "is_request_body_field": true, "entity": { - "pascal_name": "StatementParameterListItemList", - "array_value": { - "pascal_name": "StatementParameterListItem", - "is_object": true - } + "is_string": true } }, { - "name": "query_tags", - "description": "An array of query tags to annotate a SQL statement. A query tag\nconsists of a non-empty key and, optionally, a value. To represent a NULL\nvalue, either omit the `value` field or manually set it to `null` or white space.\nRefer to the SQL language reference for the format specification of query tags.\nThere's no significance to the order of tags. Only one value per key will be recorded.\nA sequence in excess of 20 query tags will be coerced to 20.\nExample:\n\n{\n...,\n\"query_tags\": [\n{ \"key\": \"team\", \"value\": \"eng\" },\n{ \"key\": \"some key only tag\" }\n]\n}", + "name": "genie_space", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "QueryTagList", - "array_value": { - "pascal_name": "QueryTag", - "is_object": true - } + "pascal_name": "GenieSpace", + "is_object": true } }, { - "name": "row_limit", - "description": "Applies the given row limit to the statement's result set, but unlike the `LIMIT` clause in SQL,\nit also sets the `truncated` field in the response to indicate whether the result was trimmed due to the limit or\nnot.", + "name": "id", + "description": "Deprecated: Use tool_id instead.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "schema", - "description": "Sets default schema for statement execution, similar to\n[`USE SCHEMA`](https://docs.databricks.com/sql/language-manual/sql-ref-syntax-ddl-use-schema.html)\nin SQL.", + "name": "knowledge_assistant", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "KnowledgeAssistant", + "is_object": true } }, { - "name": "statement", - "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", - "required": true, + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "wait_timeout", - "description": "The time in seconds the call will wait for the statement's result set as `Ns`, where `N` can be set to 0 or to a\nvalue between 5 and 50.\n\nWhen set to `0s`, the statement will execute in asynchronous mode and the call will not wait for the execution to\nfinish. In this case, the call returns directly with `PENDING` state and a statement ID which can be used for\npolling with :method:statementexecution/getStatement.\n\nWhen set between 5 and 50 seconds, the call will behave synchronously up to this timeout and wait for the statement\nexecution to finish. If the execution finishes within this time, the call returns immediately with a manifest and\nresult data (or a `FAILED` state in case of an execution error). If the statement takes longer to execute,\n`on_wait_timeout` determines what should happen after the timeout is reached.", + "name": "tool_id", + "description": "User specified id of the Tool.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "warehouse_id", - "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "uc_connection", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "UcConnection", + "is_object": true + } + }, + { + "name": "uc_function", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "UcFunction", + "is_object": true + } + }, + { + "name": "volume", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Volume", + "is_object": true + } } ], "required_positional_arguments": [ { - "name": "statement", - "description": "The SQL statement to execute. The statement can optionally be parameterized, see `parameters`.\nThe maximum query text size is 16 MiB.", + "name": "name", + "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "warehouse_id", - "description": "Warehouse upon which to execute a statement. See also\n[What are SQL warehouses?](https://docs.databricks.com/sql/admin/warehouse-type.html)", + "name": "update_mask", + "description": "Field mask for fields to be updated.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "tool_type", + "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", "required": true, "is_request_body_field": true, "entity": { @@ -189670,22 +197966,53 @@ } } ] - }, + } + ] + }, + { + "id": "catalog.SystemSchemas", + "name": "SystemSchemas", + "description": "A system schema is a schema that lives within the system catalog. A system schema may contain\ninformation about customer usage of Unity Catalog such as audit logs, billing logs,\nand lineage information.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "request": { + "pascal_name": "ListSystemSchemasRequest" + } + }, + "methods": [ { - "name": "GetStatement", - "description": "This request can be used to poll for the statement's status. StatementResponse contains\n`statement_id` and `status`; other fields might be absent or present depending on context.\nWhen the `status.state` field is `SUCCEEDED` it will also return the result manifest and the\nfirst chunk of the result data. When the statement is in the terminal states `CANCELED`,\n`CLOSED` or `FAILED`, it returns HTTP 200 with the state set. After at least 12 hours in\nterminal state, the statement is removed from the warehouse and further calls will receive an\nHTTP 404 response.\n\n**NOTE**\nThis call currently might take up to 5 seconds to get the latest status and result.", - "summary": "Get status, manifest, and result first chunk.", - "path": "/api/2.0/sql/statements/{statement_id}", + "name": "Disable", + "description": "Disables the system schema and removes it from the system catalog.\nThe caller must be an account admin or a metastore admin.", + "summary": "Disable a system schema.", + "path": "/api/2.1/unity-catalog/metastores/{metastore_id}/systemschemas/{schema_name}", "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetStatementRequest", + "pascal_name": "DisableRequest", "is_object": true, "required_fields": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { @@ -189695,8 +198022,17 @@ ], "required_in_url_fields": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { @@ -189706,13 +198042,23 @@ ] }, "response": { - "pascal_name": "StatementResponse", - "is_object": true + "pascal_name": "DisableResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { @@ -189722,8 +198068,17 @@ ], "required_positional_arguments": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { @@ -189733,20 +198088,23 @@ ] }, { - "name": "GetStatementResultChunkN", - "description": "After the statement execution has `SUCCEEDED`, this request can be used to fetch any chunk by\nindex. Whereas the first chunk with `chunk_index=0` is typically fetched with\n:method:statementexecution/executeStatement or :method:statementexecution/getStatement, this\nrequest can be used to fetch subsequent chunks. The response structure is identical to the\nnested `result` element described in the :method:statementexecution/getStatement request, and\nsimilarly includes the `next_chunk_index` and `next_chunk_internal_link` fields for simple\niteration through the result set. Depending on `disposition`, the response returns chunks of\ndata either inline, or as links.", - "summary": "Get result chunk by index.", - "path": "/api/2.0/sql/statements/{statement_id}/result/chunks/{chunk_index}", + "name": "Enable", + "description": "Enables the system schema and adds it to the system catalog.\nThe caller must be an account admin or a metastore admin.", + "summary": "Enable a system schema.", + "path": "/api/2.1/unity-catalog/metastores/{metastore_id}/systemschemas/{schema_name}", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetStatementResultChunkNRequest", + "pascal_name": "EnableRequest", "is_object": true, "required_fields": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", "required": true, "is_path": true, "entity": { @@ -189754,18 +198112,19 @@ } }, { - "name": "chunk_index", + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { - "is_int": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", "required": true, "is_path": true, "entity": { @@ -189773,31 +198132,42 @@ } }, { - "name": "chunk_index", + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { - "is_int": true + "is_string": true } } ] }, "response": { - "pascal_name": "ResultData", - "is_object": true + "pascal_name": "EnableResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "chunk_index", + "name": "catalog_name", + "description": "the catalog for which the system schema is to enabled in", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", "required": true, "is_path": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { @@ -189807,8 +198177,8 @@ ], "required_positional_arguments": [ { - "name": "statement_id", - "description": "The statement ID is returned upon successfully submitting a SQL statement, and is a required\nreference for all subsequent calls.", + "name": "metastore_id", + "description": "The metastore ID under which the system schema lives.", "required": true, "is_path": true, "entity": { @@ -189816,47 +198186,146 @@ } }, { - "name": "chunk_index", + "name": "schema_name", + "description": "Full name of the system schema.", "required": true, "is_path": true, "entity": { - "is_int": true + "is_string": true } } ] + }, + { + "name": "List", + "description": "Gets an array of system schemas for a metastore.\nThe caller must be an account admin or a metastore admin.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 system schemas.", + "path": "/api/2.1/unity-catalog/metastores/{metastore_id}/systemschemas", + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "ListSystemSchemasRequest", + "is_object": true, + "required_fields": [ + { + "name": "metastore_id", + "description": "The ID for the metastore in which the system schema resides.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "metastore_id", + "description": "The ID for the metastore in which the system schema resides.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListSystemSchemasResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "max_results", + "description": "Maximum number of schemas to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the schemas are returned (not recommended).", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "metastore_id", + "description": "The ID for the metastore in which the system schema resides.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "metastore_id", + "description": "The ID for the metastore in which the system schema resides.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of schemas to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the schemas are returned (not recommended).", + "is_query": true, + "entity": { + "is_int": true + } + } + } } ] }, { - "id": "provisioning.Storage", - "name": "Storage", - "description": "These APIs manage storage configurations for this workspace. A root storage S3 bucket in\nyour account is required to store objects like cluster logs, notebook revisions, and job\nresults. You can also use the root storage S3 bucket for storage of non-production DBFS\ndata. A storage configuration encapsulates this bucket information, and its ID is used when\ncreating a new workspace.", + "id": "catalog.TableConstraints", + "name": "TableConstraints", + "description": "Primary key and foreign key constraints encode relationships between fields in tables.\n\nPrimary and foreign keys are informational only and are not enforced. Foreign keys must reference a primary key in another table.\nThis primary key is the parent constraint of the foreign key, and the table this primary key is on is the parent table of the foreign key.\nSimilarly, the foreign key is the child constraint of its referenced primary key. The table of the foreign key is the child table of the primary key.\n\nYou can declare primary keys and foreign keys as part of the table specification during table creation.\nYou can also add or drop constraints on existing tables.", "package": { - "name": "provisioning" + "name": "catalog" }, - "is_accounts": true, - "docs_group": "provisioning", + "docs_group": "catalog", "launch_stage": "GA", "cli_launch_stage_display": "GA", "methods": [ { "name": "Create", - "description": "Creates a Databricks storage configuration for an account.", - "summary": "Create a storage configuration.", - "path": "/api/2.0/accounts/{account_id}/storage-configurations", + "description": "Creates a new table constraint.\n\nFor the table constraint creation to succeed, the user must satisfy both of these conditions:\n- the user must have the **USE_CATALOG** privilege on the table's parent catalog,\nthe **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table.\n- if the new constraint is a __ForeignKeyConstraint__,\nthe user must have the **USE_CATALOG** privilege on the referenced parent table's catalog,\nthe **USE_SCHEMA** privilege on the referenced parent table's schema,\nand be the owner of the referenced parent table.", + "summary": "Create a table constraint.", + "path": "/api/2.1/unity-catalog/constraints", "can_use_json": true, "must_use_json": true, "is_crud_create": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateStorageConfigurationRequest", + "pascal_name": "CreateTableConstraint", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "storage_configuration_name", - "description": "The human-readable name of the storage configuration.", + "name": "full_name_arg", + "description": "The full name of the table referenced by the constraint.", "required": true, "is_request_body_field": true, "entity": { @@ -189864,20 +198333,19 @@ } }, { - "name": "root_bucket_info", - "description": "Root S3 bucket information.", + "name": "constraint", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RootBucketInfo", + "pascal_name": "TableConstraint", "is_object": true } } ], "required_request_body_fields": [ { - "name": "storage_configuration_name", - "description": "The human-readable name of the storage configuration.", + "name": "full_name_arg", + "description": "The full name of the table referenced by the constraint.", "required": true, "is_request_body_field": true, "entity": { @@ -189885,43 +198353,33 @@ } }, { - "name": "root_bucket_info", - "description": "Root S3 bucket information.", + "name": "constraint", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RootBucketInfo", + "pascal_name": "TableConstraint", "is_object": true } } ] }, "response": { - "pascal_name": "StorageConfiguration", + "pascal_name": "TableConstraint", "is_object": true }, "all_fields": [ { - "name": "role_arn", - "description": "Optional IAM role that is used to access the workspace catalog which is created during workspace creation\nfor UC by Default. If a storage configuration with this field populated is used to create a workspace,\nthen a workspace catalog is created together with the workspace. The workspace catalog shares the root\nbucket with internal workspace storage (including DBFS root) but uses a dedicated bucket path prefix.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "root_bucket_info", - "description": "Root S3 bucket information.", + "name": "constraint", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "RootBucketInfo", + "pascal_name": "TableConstraint", "is_object": true } }, { - "name": "storage_configuration_name", - "description": "The human-readable name of the storage configuration.", + "name": "full_name_arg", + "description": "The full name of the table referenced by the constraint.", "required": true, "is_request_body_field": true, "entity": { @@ -189932,101 +198390,101 @@ }, { "name": "Delete", - "description": "Deletes a Databricks storage configuration. You cannot delete a storage configuration that is associated with any workspace.", - "summary": "Delete a storage configuration.", - "path": "/api/2.0/accounts/{account_id}/storage-configurations/{storage_configuration_id}", + "description": "Deletes a table constraint.\n\nFor the table constraint deletion to succeed, the user must satisfy both of these conditions:\n- the user must have the **USE_CATALOG** privilege on the table's parent catalog,\nthe **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table.\n- if __cascade__ argument is **true**, the user must have the following permissions on all of the child tables:\nthe **USE_CATALOG** privilege on the table's catalog,\nthe **USE_SCHEMA** privilege on the table's schema,\nand be the owner of the table.", + "summary": "Delete a table constraint.", + "path": "/api/2.1/unity-catalog/constraints/{full_name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteStorageRequest", + "pascal_name": "DeleteTableConstraintRequest", "is_object": true, "required_fields": [ { - "name": "storage_configuration_id", + "name": "full_name", + "description": "Full name of the table referenced by the constraint.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "storage_configuration_id", + "name": "constraint_name", + "description": "The name of the constraint to delete.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ] - }, - "response": { - "pascal_name": "StorageConfiguration", - "is_object": true - }, - "all_fields": [ - { - "name": "storage_configuration_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "storage_configuration_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Gets a Databricks storage configuration for an account, both specified by ID.", - "summary": "Get a storage configuration.", - "path": "/api/2.0/accounts/{account_id}/storage-configurations/{storage_configuration_id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetStorageRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "storage_configuration_id", + "name": "cascade", + "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", "required": true, - "is_path": true, + "is_query": true, "entity": { - "is_string": true + "is_bool": true } } ], "required_in_url_fields": [ { - "name": "storage_configuration_id", + "name": "full_name", + "description": "Full name of the table referenced by the constraint.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "constraint_name", + "description": "The name of the constraint to delete.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "cascade", + "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", + "required": true, + "is_query": true, + "entity": { + "is_bool": true + } } ] }, "response": { - "pascal_name": "StorageConfiguration", - "is_object": true + "pascal_name": "DeleteTableConstraintResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "storage_configuration_id", + "name": "cascade", + "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", + "required": true, + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "constraint_name", + "description": "The name of the constraint to delete.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "description": "Full name of the table referenced by the constraint.", "required": true, "is_path": true, "entity": { @@ -190036,42 +198494,40 @@ ], "required_positional_arguments": [ { - "name": "storage_configuration_id", + "name": "full_name", + "description": "Full name of the table referenced by the constraint.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "constraint_name", + "description": "The name of the constraint to delete.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "cascade", + "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", + "required": true, + "is_query": true, + "entity": { + "is_bool": true + } } ] - }, - { - "name": "List", - "description": "Lists Databricks storage configurations for an account, specified by ID.", - "summary": "List storage configurations.", - "path": "/api/2.0/accounts/{account_id}/storage-configurations", - "is_legacy_empty_request": true, - "is_crud_read": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListStorageRequest", - "is_object": true - }, - "response": { - "pascal_name": "StorageConfigurationList", - "array_value": { - "pascal_name": "StorageConfiguration", - "is_object": true - } - } } ] }, { - "id": "catalog.StorageCredentials", - "name": "StorageCredentials", - "description": "A storage credential represents an authentication and authorization mechanism for accessing\ndata stored on your cloud tenant. Each storage credential is subject to\nUnity Catalog access-control policies that control which users and groups can access\nthe credential. If a user does not have access to a storage credential in Unity Catalog,\nthe request fails and Unity Catalog does not attempt to authenticate to your cloud tenant\non the user’s behalf.\n\nDatabricks recommends using external locations rather than using storage credentials\ndirectly.\n\nTo create storage credentials, you must be a Databricks account admin. The account admin\nwho creates the storage credential can delegate ownership to another user or group to\nmanage permissions on it.", + "id": "catalog.Tables", + "name": "Tables", + "description": "A table resides in the third layer of Unity Catalog’s three-level namespace. It contains\nrows of data. To create a table, users must have CREATE_TABLE and USE_SCHEMA permissions on the schema,\nand they must have the USE_CATALOG permission on its parent catalog. To query a table, users must\nhave the SELECT permission on the table, and they must have the USE_CATALOG permission on its\nparent catalog and the USE_SCHEMA permission on its parent schema.\n\nA table can be managed or external.\nFrom an API perspective, a __VIEW__ is a particular kind of table (rather than a managed or external table).", "package": { "name": "catalog" }, @@ -190080,28 +198536,194 @@ "cli_launch_stage_display": "GA", "list": { "request": { - "pascal_name": "ListStorageCredentialsRequest" + "pascal_name": "ListTablesRequest" } }, "methods": [ { "name": "Create", - "description": "Creates a new storage credential.\n\nThe caller must be a metastore admin or have the **CREATE_STORAGE_CREDENTIAL** privilege on the metastore.", - "summary": "Create a storage credential.", - "path": "/api/2.1/unity-catalog/storage-credentials", + "description": "Creates a new table in the specified catalog and schema.\n\nTo create an external delta table, the caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema\nand the **EXTERNAL_USE_LOCATION** privilege on the external location. These privileges must always be granted explicitly,\nand cannot be inherited through ownership or **ALL_PRIVILEGES**.\n\nStandard UC permissions needed to create tables still apply: **USE_CATALOG** on the parent catalog (or ownership of\nthe parent catalog), **CREATE_TABLE** and **USE_SCHEMA** on the parent schema (or ownership of the parent schema),\nand **CREATE_EXTERNAL_TABLE** on external location.\n\nThe **columns** field needs to be in a Spark compatible format, so we recommend you use Spark to create these tables.\nThe API itself does not validate the correctness of the column spec. If the spec is not Spark compatible,\nthe tables may not be readable by Databricks Runtime.\n\nNOTE: The Create Table API for external clients only supports creating **external delta tables**. The values shown\nin the respective enums are all values supported by Databricks, however for this specific Create Table API,\nonly **table_type** **EXTERNAL** and **data_source_format** **DELTA** are supported. Additionally, column masks\nare not supported when creating tables through this API.", + "summary": "Create a table.", + "path": "/api/2.1/unity-catalog/tables", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "CreateStorageCredential", + "pascal_name": "CreateTableRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", + "description": "Name of table, relative to parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "Name of parent schema relative to its parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "table_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "TableType", + "enum": [ + { + "content": "EXTERNAL" + }, + { + "content": "EXTERNAL_SHALLOW_CLONE" + }, + { + "content": "FOREIGN" + }, + { + "content": "MANAGED" + }, + { + "content": "MANAGED_SHALLOW_CLONE" + }, + { + "content": "MATERIALIZED_VIEW" + }, + { + "content": "METRIC_VIEW" + }, + { + "content": "STREAMING_TABLE" + }, + { + "content": "VIEW" + } + ] + } + }, + { + "name": "data_source_format", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DataSourceFormat", + "enum": [ + { + "content": "AVRO" + }, + { + "content": "BIGQUERY_FORMAT" + }, + { + "content": "CSV" + }, + { + "content": "DATABRICKS_FORMAT" + }, + { + "content": "DATABRICKS_ROW_STORE_FORMAT" + }, + { + "content": "DELTA" + }, + { + "content": "DELTASHARING" + }, + { + "content": "DELTA_UNIFORM_HUDI" + }, + { + "content": "DELTA_UNIFORM_ICEBERG" + }, + { + "content": "HIVE" + }, + { + "content": "ICEBERG" + }, + { + "content": "JSON" + }, + { + "content": "MONGODB_FORMAT" + }, + { + "content": "MYSQL_FORMAT" + }, + { + "content": "NETSUITE_FORMAT" + }, + { + "content": "ORACLE_FORMAT" + }, + { + "content": "ORC" + }, + { + "content": "PARQUET" + }, + { + "content": "POSTGRESQL_FORMAT" + }, + { + "content": "REDSHIFT_FORMAT" + }, + { + "content": "SALESFORCE_DATA_CLOUD_FORMAT" + }, + { + "content": "SALESFORCE_FORMAT" + }, + { + "content": "SNOWFLAKE_FORMAT" + }, + { + "content": "SQLDW_FORMAT" + }, + { + "content": "SQLSERVER_FORMAT" + }, + { + "content": "TERADATA_FORMAT" + }, + { + "content": "TEXT" + }, + { + "content": "UNITY_CATALOG" + }, + { + "content": "VECTOR_INDEX_FORMAT" + }, + { + "content": "WORKDAY_RAAS_FORMAT" + } + ] + } + }, + { + "name": "storage_location", + "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", "required": true, "is_request_body_field": true, "entity": { @@ -190111,8 +198733,172 @@ ], "required_request_body_fields": [ { - "name": "name", - "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", + "name": "name", + "description": "Name of table, relative to parent schema.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "Name of parent schema relative to its parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "table_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "TableType", + "enum": [ + { + "content": "EXTERNAL" + }, + { + "content": "EXTERNAL_SHALLOW_CLONE" + }, + { + "content": "FOREIGN" + }, + { + "content": "MANAGED" + }, + { + "content": "MANAGED_SHALLOW_CLONE" + }, + { + "content": "MATERIALIZED_VIEW" + }, + { + "content": "METRIC_VIEW" + }, + { + "content": "STREAMING_TABLE" + }, + { + "content": "VIEW" + } + ] + } + }, + { + "name": "data_source_format", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DataSourceFormat", + "enum": [ + { + "content": "AVRO" + }, + { + "content": "BIGQUERY_FORMAT" + }, + { + "content": "CSV" + }, + { + "content": "DATABRICKS_FORMAT" + }, + { + "content": "DATABRICKS_ROW_STORE_FORMAT" + }, + { + "content": "DELTA" + }, + { + "content": "DELTASHARING" + }, + { + "content": "DELTA_UNIFORM_HUDI" + }, + { + "content": "DELTA_UNIFORM_ICEBERG" + }, + { + "content": "HIVE" + }, + { + "content": "ICEBERG" + }, + { + "content": "JSON" + }, + { + "content": "MONGODB_FORMAT" + }, + { + "content": "MYSQL_FORMAT" + }, + { + "content": "NETSUITE_FORMAT" + }, + { + "content": "ORACLE_FORMAT" + }, + { + "content": "ORC" + }, + { + "content": "PARQUET" + }, + { + "content": "POSTGRESQL_FORMAT" + }, + { + "content": "REDSHIFT_FORMAT" + }, + { + "content": "SALESFORCE_DATA_CLOUD_FORMAT" + }, + { + "content": "SALESFORCE_FORMAT" + }, + { + "content": "SNOWFLAKE_FORMAT" + }, + { + "content": "SQLDW_FORMAT" + }, + { + "content": "SQLSERVER_FORMAT" + }, + { + "content": "TERADATA_FORMAT" + }, + { + "content": "TEXT" + }, + { + "content": "UNITY_CATALOG" + }, + { + "content": "VECTOR_INDEX_FORMAT" + }, + { + "content": "WORKDAY_RAAS_FORMAT" + } + ] + } + }, + { + "name": "storage_location", + "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", "required": true, "is_request_body_field": true, "entity": { @@ -190122,71 +198908,153 @@ ] }, "response": { - "pascal_name": "StorageCredentialInfo", + "pascal_name": "TableInfo", "is_object": true }, "all_fields": [ { - "name": "aws_iam_role", - "description": "The AWS IAM role configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AwsIamRoleRequest", - "is_object": true - } - }, - { - "name": "azure_managed_identity", - "description": "The Azure managed identity configuration.", + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "AzureManagedIdentityRequest", - "is_object": true + "is_string": true } }, { - "name": "azure_service_principal", - "description": "The Azure service principal configuration.", + "name": "columns", + "description": "The array of __ColumnInfo__ definitions of the table's columns.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "AzureServicePrincipal", - "is_object": true + "pascal_name": "ColumnInfoList", + "array_value": { + "pascal_name": "ColumnInfo", + "is_object": true + } } }, { - "name": "cloudflare_api_token", - "description": "The Cloudflare API token configuration.", + "name": "data_source_format", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "CloudflareApiToken", - "is_object": true + "pascal_name": "DataSourceFormat", + "enum": [ + { + "content": "AVRO" + }, + { + "content": "BIGQUERY_FORMAT" + }, + { + "content": "CSV" + }, + { + "content": "DATABRICKS_FORMAT" + }, + { + "content": "DATABRICKS_ROW_STORE_FORMAT" + }, + { + "content": "DELTA" + }, + { + "content": "DELTASHARING" + }, + { + "content": "DELTA_UNIFORM_HUDI" + }, + { + "content": "DELTA_UNIFORM_ICEBERG" + }, + { + "content": "HIVE" + }, + { + "content": "ICEBERG" + }, + { + "content": "JSON" + }, + { + "content": "MONGODB_FORMAT" + }, + { + "content": "MYSQL_FORMAT" + }, + { + "content": "NETSUITE_FORMAT" + }, + { + "content": "ORACLE_FORMAT" + }, + { + "content": "ORC" + }, + { + "content": "PARQUET" + }, + { + "content": "POSTGRESQL_FORMAT" + }, + { + "content": "REDSHIFT_FORMAT" + }, + { + "content": "SALESFORCE_DATA_CLOUD_FORMAT" + }, + { + "content": "SALESFORCE_FORMAT" + }, + { + "content": "SNOWFLAKE_FORMAT" + }, + { + "content": "SQLDW_FORMAT" + }, + { + "content": "SQLSERVER_FORMAT" + }, + { + "content": "TERADATA_FORMAT" + }, + { + "content": "TEXT" + }, + { + "content": "UNITY_CATALOG" + }, + { + "content": "VECTOR_INDEX_FORMAT" + }, + { + "content": "WORKDAY_RAAS_FORMAT" + } + ] } }, { - "name": "comment", - "description": "Comment associated with the credential.", + "name": "name", + "description": "Name of table, relative to parent schema.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "databricks_gcp_service_account", - "description": "The Databricks managed GCP service account configuration.", + "name": "properties", + "description": "A map of key-value properties attached to the securable.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "DatabricksGcpServiceAccountRequest", - "is_object": true + "map_value": { + "is_string": true + } } }, { - "name": "name", - "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", + "name": "schema_name", + "description": "Name of parent schema relative to its parent catalog.", "required": true, "is_request_body_field": true, "entity": { @@ -190194,98 +199062,222 @@ } }, { - "name": "read_only", - "description": "Whether the credential is usable only for read operations. Only applicable\nwhen purpose is **STORAGE**.", + "name": "storage_location", + "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", + "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "skip_validation", - "description": "Supplying true to this argument skips validation of the created credential.", + "name": "table_type", + "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "TableType", + "enum": [ + { + "content": "EXTERNAL" + }, + { + "content": "EXTERNAL_SHALLOW_CLONE" + }, + { + "content": "FOREIGN" + }, + { + "content": "MANAGED" + }, + { + "content": "MANAGED_SHALLOW_CLONE" + }, + { + "content": "MATERIALIZED_VIEW" + }, + { + "content": "METRIC_VIEW" + }, + { + "content": "STREAMING_TABLE" + }, + { + "content": "VIEW" + } + ] } } ], "required_positional_arguments": [ { "name": "name", - "description": "The credential name. The name must be unique among storage and service\ncredentials within the metastore.", + "description": "Name of table, relative to parent schema.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "Delete", - "description": "Deletes a storage credential from the metastore. The caller must be an owner of the storage credential.", - "summary": "Delete a credential.", - "path": "/api/2.1/unity-catalog/storage-credentials/{name}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteStorageCredentialRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "Name of the storage credential.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "catalog_name", + "description": "Name of parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "Name of the storage credential.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "schema_name", + "description": "Name of parent schema relative to its parent catalog.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } - ] - }, - "response": { - "pascal_name": "DeleteResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ + }, { - "name": "force", - "description": "Force an update even if there are dependent external locations or external\ntables (when purpose is **STORAGE**) or dependent services (when purpose is\n**SERVICE**).", - "is_query": true, + "name": "table_type", + "required": true, + "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "TableType", + "enum": [ + { + "content": "EXTERNAL" + }, + { + "content": "EXTERNAL_SHALLOW_CLONE" + }, + { + "content": "FOREIGN" + }, + { + "content": "MANAGED" + }, + { + "content": "MANAGED_SHALLOW_CLONE" + }, + { + "content": "MATERIALIZED_VIEW" + }, + { + "content": "METRIC_VIEW" + }, + { + "content": "STREAMING_TABLE" + }, + { + "content": "VIEW" + } + ] } }, { - "name": "name", - "description": "Name of the storage credential.", + "name": "data_source_format", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "DataSourceFormat", + "enum": [ + { + "content": "AVRO" + }, + { + "content": "BIGQUERY_FORMAT" + }, + { + "content": "CSV" + }, + { + "content": "DATABRICKS_FORMAT" + }, + { + "content": "DATABRICKS_ROW_STORE_FORMAT" + }, + { + "content": "DELTA" + }, + { + "content": "DELTASHARING" + }, + { + "content": "DELTA_UNIFORM_HUDI" + }, + { + "content": "DELTA_UNIFORM_ICEBERG" + }, + { + "content": "HIVE" + }, + { + "content": "ICEBERG" + }, + { + "content": "JSON" + }, + { + "content": "MONGODB_FORMAT" + }, + { + "content": "MYSQL_FORMAT" + }, + { + "content": "NETSUITE_FORMAT" + }, + { + "content": "ORACLE_FORMAT" + }, + { + "content": "ORC" + }, + { + "content": "PARQUET" + }, + { + "content": "POSTGRESQL_FORMAT" + }, + { + "content": "REDSHIFT_FORMAT" + }, + { + "content": "SALESFORCE_DATA_CLOUD_FORMAT" + }, + { + "content": "SALESFORCE_FORMAT" + }, + { + "content": "SNOWFLAKE_FORMAT" + }, + { + "content": "SQLDW_FORMAT" + }, + { + "content": "SQLSERVER_FORMAT" + }, + { + "content": "TERADATA_FORMAT" + }, + { + "content": "TEXT" + }, + { + "content": "UNITY_CATALOG" + }, + { + "content": "VECTOR_INDEX_FORMAT" + }, + { + "content": "WORKDAY_RAAS_FORMAT" + } + ] } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "Name of the storage credential.", + "name": "storage_location", + "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -190293,21 +199285,20 @@ ] }, { - "name": "Get", - "description": "Gets a storage credential from the metastore.\nThe caller must be a metastore admin, the owner of the storage credential, or have some permission on the storage credential.", - "summary": "Get a credential.", - "path": "/api/2.1/unity-catalog/storage-credentials/{name}", - "is_crud_read": true, + "name": "Delete", + "description": "Deletes a table from the specified parent catalog and schema.\nThe caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema,\nor be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.", + "summary": "Delete a table.", + "path": "/api/2.1/unity-catalog/tables/{full_name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetStorageCredentialRequest", + "pascal_name": "DeleteTableRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190317,8 +199308,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190328,13 +199319,14 @@ ] }, "response": { - "pascal_name": "StorageCredentialInfo", - "is_object": true + "pascal_name": "DeleteResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190344,8 +199336,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190355,84 +199347,21 @@ ] }, { - "name": "List", - "description": "Gets an array of storage credentials (as __StorageCredentialInfo__ objects).\nThe array is limited to only those storage credentials the caller has permission to access.\nIf the caller is a metastore admin, retrieval of credentials is unrestricted.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 credentials.", - "path": "/api/2.1/unity-catalog/storage-credentials", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListStorageCredentialsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListStorageCredentialsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "include_unbound", - "description": "Whether to include credentials not bound to the workspace.\nEffective only if the user has permission to update the credential–workspace binding.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Maximum number of storage credentials to return.\nIf not set, all the storage credentials are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of\nthis value and a server configured value;\n- when set to 0, the page length is set to a server configured value\n(recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - }, - "max_results": { - "name": "max_results", - "description": "Maximum number of storage credentials to return.\nIf not set, all the storage credentials are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of\nthis value and a server configured value;\n- when set to 0, the page length is set to a server configured value\n(recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", - "is_query": true, - "entity": { - "is_int": true - } - } - } - }, - { - "name": "Update", - "description": "Updates a storage credential on the metastore.\n\nThe caller must be the owner of the storage credential or a metastore admin.\nIf the caller is a metastore admin, only the **owner** field can be changed.", - "summary": "Update a credential.", - "path": "/api/2.1/unity-catalog/storage-credentials/{name}", - "can_use_json": true, + "name": "Exists", + "description": "Gets if a table exists in the metastore for a specific catalog and schema.\nThe caller must satisfy one of the following requirements:\n* Be a metastore admin\n* Be the owner of the parent catalog\n* Be the owner of the parent schema and have the **USE_CATALOG** privilege on the parent catalog\n* Have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema,\nand either be the table owner or have the **SELECT** privilege on the table.\n* Have **BROWSE** privilege on the parent catalog\n* Have **BROWSE** privilege on the parent schema", + "summary": "Get boolean reflecting if table exists.", + "path": "/api/2.1/unity-catalog/tables/{full_name}/exists", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateStorageCredential", + "pascal_name": "ExistsRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190442,8 +199371,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190453,138 +199382,24 @@ ] }, "response": { - "pascal_name": "StorageCredentialInfo", + "pascal_name": "TableExistsResponse", "is_object": true }, "all_fields": [ { - "name": "aws_iam_role", - "description": "The AWS IAM role configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AwsIamRoleRequest", - "is_object": true - } - }, - { - "name": "azure_managed_identity", - "description": "The Azure managed identity configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AzureManagedIdentityResponse", - "is_object": true - } - }, - { - "name": "azure_service_principal", - "description": "The Azure service principal configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AzureServicePrincipal", - "is_object": true - } - }, - { - "name": "cloudflare_api_token", - "description": "The Cloudflare API token configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CloudflareApiToken", - "is_object": true - } - }, - { - "name": "comment", - "description": "Comment associated with the credential.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "databricks_gcp_service_account", - "description": "The Databricks managed GCP service account configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DatabricksGcpServiceAccountRequest", - "is_object": true - } - }, - { - "name": "force", - "description": "Force update even if there are dependent external locations or external\ntables.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "isolation_mode", - "description": "Whether the current securable is accessible from all workspaces or a\nspecific set of workspaces.", - "is_request_body_field": true, - "entity": { - "pascal_name": "IsolationMode", - "enum": [ - { - "content": "ISOLATION_MODE_ISOLATED" - }, - { - "content": "ISOLATION_MODE_OPEN" - } - ] - } - }, - { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "new_name", - "description": "New name for the storage credential.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "owner", - "description": "Username of current owner of credential.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "read_only", - "description": "Whether the credential is usable only for read operations. Only applicable\nwhen purpose is **STORAGE**.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "skip_validation", - "description": "Supplying true to this argument skips validation of the updated credential.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190594,144 +199409,21 @@ ] }, { - "name": "Validate", - "description": "Validates a storage credential.\nAt least one of __external_location_name__ and __url__ need to be provided. If only one of them is\nprovided, it will be used for validation. And if both are provided, the __url__ will be used for\nvalidation, and __external_location_name__ will be ignored when checking overlapping urls.\n\nEither the __storage_credential_name__ or the cloud-specific credential must be provided.\n\nThe caller must be a metastore admin or the storage credential owner or\nhave the **CREATE_EXTERNAL_LOCATION** privilege on the metastore and the storage credential.", - "summary": "Validate a storage credential.", - "path": "/api/2.1/unity-catalog/validate-storage-credentials", - "can_use_json": true, + "name": "Get", + "description": "Gets a table from the metastore for a specific catalog and schema.\nThe caller must satisfy one of the following requirements:\n* Be a metastore admin\n* Be the owner of the parent catalog\n* Be the owner of the parent schema and have the **USE_CATALOG** privilege on the parent catalog\n* Have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema,\nand either be the table owner or have the **SELECT** privilege on the table.", + "summary": "Get a table.", + "path": "/api/2.1/unity-catalog/tables/{full_name}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ValidateStorageCredential", - "is_object": true - }, - "response": { - "pascal_name": "ValidateStorageCredentialResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "aws_iam_role", - "description": "The AWS IAM role configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AwsIamRoleRequest", - "is_object": true - } - }, - { - "name": "azure_managed_identity", - "description": "The Azure managed identity configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AzureManagedIdentityRequest", - "is_object": true - } - }, - { - "name": "azure_service_principal", - "description": "The Azure service principal configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "AzureServicePrincipal", - "is_object": true - } - }, - { - "name": "cloudflare_api_token", - "description": "The Cloudflare API token configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "CloudflareApiToken", - "is_object": true - } - }, - { - "name": "databricks_gcp_service_account", - "description": "The Databricks created GCP service account configuration.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DatabricksGcpServiceAccountRequest", - "is_object": true - } - }, - { - "name": "external_location_name", - "description": "The name of an existing external location to validate.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "read_only", - "description": "Whether the storage credential is only usable for read operations.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "storage_credential_name", - "description": "Required. The name of an existing credential or long-lived cloud\ncredential to validate.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "url", - "description": "The external location url to validate.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - ] - }, - { - "id": "catalog.AccountStorageCredentials", - "name": "AccountStorageCredentials", - "description": "These APIs manage storage credentials for a particular metastore.", - "package": { - "name": "catalog" - }, - "is_accounts": true, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListAccountStorageCredentialsRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a new storage credential. The request object is specific to the cloud:\n- **AwsIamRole** for AWS credentials\n- **AzureServicePrincipal** for Azure credentials\n- **GcpServiceAccountKey** for GCP credentials\n\nThe caller must be a metastore admin and have the `CREATE_STORAGE_CREDENTIAL` privilege on the metastore.", - "summary": "Create a storage credential.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "AccountsCreateStorageCredential", + "pascal_name": "GetTableRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190741,8 +199433,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190752,32 +199444,39 @@ ] }, "response": { - "pascal_name": "AccountsCreateStorageCredentialInfo", + "pascal_name": "TableInfo", "is_object": true }, "all_fields": [ { - "name": "credential_info", - "is_request_body_field": true, - "is_optional_object": true, + "name": "full_name", + "description": "Full name of the table.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "CreateAccountsStorageCredential", - "is_object": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "include_browse", + "description": "Whether to include tables in the response for which the principal can only access selective metadata for.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "skip_validation", - "description": "Optional, default false.\nSupplying true to this argument skips validation of the created set of credentials.", - "is_request_body_field": true, + "name": "include_delta_metadata", + "description": "Whether delta metadata should be included in the response.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "include_manifest_capabilities", + "description": "Whether to include a manifest containing table capabilities in the response.", + "is_query": true, "entity": { "is_bool": true } @@ -190785,8 +199484,8 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -190796,31 +199495,31 @@ ] }, { - "name": "Delete", - "description": "Deletes a storage credential from the metastore. The caller must be an owner of the storage credential.", - "summary": "Delete a storage credential.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials/{storage_credential_name}", + "name": "List", + "description": "Gets an array of all tables for the current metastore under the parent catalog and schema.\nThe caller must be a metastore admin or an owner of (or have the **SELECT** privilege on) the table.\nFor the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: **view_dependencies** and **table_constraints** are not returned by ListTables queries.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 tables.", + "path": "/api/2.1/unity-catalog/tables", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteAccountStorageCredentialRequest", + "pascal_name": "ListTablesRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "storage_credential_name", - "description": "Name of the storage credential.", + "name": "schema_name", + "description": "Parent schema of tables.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -190828,19 +199527,19 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "storage_credential_name", - "description": "Name of the storage credential.", + "name": "schema_name", + "description": "Parent schema of tables.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -190848,130 +199547,80 @@ ] }, "response": { - "pascal_name": "AccountsDeleteStorageCredentialResponse", + "pascal_name": "ListTablesResponse", "is_object": true }, "all_fields": [ { - "name": "force", - "description": "Force deletion even if the Storage Credential is not empty. Default is false.", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", + "required": true, "is_query": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "include_browse", + "description": "Whether to include tables in the response for which the principal can only access selective metadata for.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "storage_credential_name", - "description": "Name of the storage credential.", - "required": true, - "is_path": true, + "name": "include_manifest_capabilities", + "description": "Whether to include a manifest containing table capabilities in the response.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "max_results", + "description": "Maximum number of tables to return.\nIf not set, all the tables are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "storage_credential_name", - "description": "Name of the storage credential.", - "required": true, - "is_path": true, + "name": "omit_columns", + "description": "Whether to omit the columns of the table from the response or not.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } - } - ] - }, - { - "name": "Get", - "description": "Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the\nstorage credential, or have a level of privilege on the storage credential.", - "summary": "Gets the named storage credential.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials/{storage_credential_name}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetAccountStorageCredentialRequest", - "is_object": true, - "required_fields": [ - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage_credential_name", - "description": "Required. Name of the storage credential.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "omit_properties", + "description": "Whether to omit the properties of the table from the response or not.", + "is_query": true, + "entity": { + "is_bool": true } - ], - "required_in_url_fields": [ - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage_credential_name", - "description": "Required. Name of the storage credential.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "omit_username", + "description": "Whether to omit the username of the table (e.g. owner, updated_by, created_by) from the response or not.", + "is_query": true, + "entity": { + "is_bool": true } - ] - }, - "response": { - "pascal_name": "AccountsStorageCredentialInfo", - "is_object": true - }, - "all_fields": [ + }, { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, + "name": "page_token", + "description": "Opaque token to send for the next page of results (pagination).", + "is_query": true, "entity": { "is_string": true } }, { - "name": "storage_credential_name", - "description": "Required. Name of the storage credential.", + "name": "schema_name", + "description": "Parent schema of tables.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -190979,42 +199628,62 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "storage_credential_name", - "description": "Required. Name of the storage credential.", + "name": "schema_name", + "description": "Parent schema of tables.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque token to send for the next page of results (pagination).", + "is_query": true, + "entity": { + "is_string": true + } + } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of tables to return.\nIf not set, all the tables are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, + "entity": { + "is_int": true + } + } + } }, { - "name": "List", - "description": "Gets a list of all storage credentials that have been assigned to given metastore.", - "summary": "Get all storage credentials assigned to a metastore.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials", + "name": "ListSummaries", + "description": "Gets an array of summaries for tables for a schema and catalog within the metastore. The table summaries returned are either:\n\n* summaries for tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or:\n* summaries for tables and schemas (within the current metastore and parent catalog)\nfor which the user has ownership or the **SELECT** privilege on the table and ownership or **USE_SCHEMA** privilege on the schema,\nprovided that the user also has ownership or the **USE_CATALOG** privilege on the parent catalog.\n\nThere is no guarantee of a specific ordering of the elements in the array.\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 table summaries.", + "path": "/api/2.1/unity-catalog/table-summaries", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListAccountStorageCredentialsRequest", + "pascal_name": "ListSummariesRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -191022,10 +199691,10 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -191033,15 +199702,55 @@ ] }, "response": { - "pascal_name": "ListAccountStorageCredentialsResponse", + "pascal_name": "ListTableSummariesResponse", "is_object": true }, "all_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "include_manifest_capabilities", + "description": "Whether to include a manifest containing table capabilities in the response.", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "max_results", + "description": "Maximum number of summaries for tables to return.\nIf not set, the page length is set to a server configured value (10000, as of 1/5/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 1/5/2024);\n- when set to 0, the page length is set to a server configured value (10000, as of 1/5/2024) (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name_pattern", + "description": "A sql LIKE pattern (% and _) for schema names.\nAll schemas will be returned if not set or empty.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "table_name_pattern", + "description": "A sql LIKE pattern (% and _) for table names.\nAll tables will be returned if not set or empty.", + "is_query": true, "entity": { "is_string": true } @@ -191049,42 +199758,45 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "catalog_name", + "description": "Name of parent catalog for tables of interest.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } ], - "pagination": {} + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { "name": "Update", - "description": "Updates a storage credential on the metastore. The caller must be the owner of the storage credential.\nIf the caller is a metastore admin, only the **owner** credential can be changed.", - "summary": "Updates a storage credential.", - "path": "/api/2.0/accounts/{account_id}/metastores/{metastore_id}/storage-credentials/{storage_credential_name}", + "description": "Change the owner of the table.\nThe caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema,\nor be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.", + "summary": "Update a table owner.", + "path": "/api/2.1/unity-catalog/tables/{full_name}", "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "AccountsUpdateStorageCredential", + "pascal_name": "UpdateTableRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage_credential_name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -191094,17 +199806,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage_credential_name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -191114,22 +199817,14 @@ ] }, "response": { - "pascal_name": "AccountsUpdateStorageCredentialResponse", - "is_object": true + "pascal_name": "UpdateResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "credential_info", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "UpdateAccountsStorageCredential", - "is_object": true - } - }, - { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -191137,18 +199832,9 @@ } }, { - "name": "skip_validation", - "description": "Optional. Supplying true to this argument skips validation of the updated set of credentials.", + "name": "owner", + "description": "Username of current owner of table.", "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "storage_credential_name", - "description": "Name of the storage credential.", - "required": true, - "is_path": true, "entity": { "is_string": true } @@ -191156,17 +199842,8 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "Unity Catalog metastore ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage_credential_name", - "description": "Name of the storage credential.", + "name": "full_name", + "description": "Full name of the table.", "required": true, "is_path": true, "entity": { @@ -191178,262 +199855,162 @@ ] }, { - "id": "supervisoragents.SupervisorAgents", - "name": "SupervisorAgents", - "description": "Manage Supervisor Agents and related resources.", + "id": "tags.TagPolicies", + "name": "TagPolicies", + "description": "The Tag Policy API allows you to manage policies for governed tags in Databricks. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy). Permissions for tag policies can be managed using the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", "package": { - "name": "supervisoragents" + "name": "tags" }, - "docs_group": "agentbricks", - "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", + "docs_group": "tags", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "request": { - "pascal_name": "ListExamplesRequest" + "pascal_name": "ListTagPoliciesRequest" } }, "methods": [ { - "name": "CreateExample", - "description": "Creates an example for a Supervisor Agent.", - "summary": "Create an example for a Supervisor Agent.", - "path": "/api/2.1/{parent=supervisor-agents/*}/examples", + "name": "CreateTagPolicy", + "description": "Creates a new tag policy, making the associated tag key governed. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy). To manage permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", + "summary": "Create a new tag policy.", + "path": "/api/2.1/tag-policies", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateExampleRequest", + "pascal_name": "CreateTagPolicyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "example", - "description": "The example to create under the parent Supervisor Agent.", + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Example", + "pascal_name": "TagPolicy", "is_object": true } } ], - "required_in_url_fields": [ - { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], "required_request_body_fields": [ { - "name": "example", - "description": "The example to create under the parent Supervisor Agent.", + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Example", + "pascal_name": "TagPolicy", "is_object": true } } ] }, "request_body_field": { - "name": "example", - "description": "The example to create under the parent Supervisor Agent.", + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Example", + "pascal_name": "TagPolicy", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } } ], "required_request_body_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } } ] } }, "response": { - "pascal_name": "Example", + "pascal_name": "TagPolicy", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } } ], "required_request_body_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } } ] }, "all_fields": [ { - "name": "example", - "description": "The example to create under the parent Supervisor Agent.", + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Example", + "pascal_name": "TagPolicy", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } } ], "required_request_body_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } } ] } }, { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, + "name": "create_time", + "description": "Timestamp when the tag policy was created", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "example_id", - "description": "The universally unique identifier (UUID) of the example.", + "name": "description", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "id", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -191441,122 +200018,310 @@ } }, { - "name": "guidelines", - "description": "Guidelines for answering the question.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } }, { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "update_time", + "description": "Timestamp when the tag policy was last updated", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "question", - "description": "The example question.", + "name": "values", + "is_request_body_field": true, + "entity": { + "pascal_name": "ValueList", + "array_value": { + "pascal_name": "Value", + "is_object": true + } + } + } + ], + "required_positional_arguments": [ + { + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { "is_string": true } } + ] + }, + { + "name": "DeleteTagPolicy", + "description": "Deletes a tag policy by its associated governed tag's key, leaving that tag key ungoverned. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy).", + "summary": "Delete a tag policy.", + "path": "/api/2.1/tag-policies/{tag_key}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteTagPolicyRequest", + "is_object": true, + "required_fields": [ + { + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource where this example will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "tag_key", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "GetTagPolicy", + "description": "Gets a single tag policy by its associated governed tag's key. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/tag_policy). To list granted permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", + "summary": "Get a tag policy.", + "path": "/api/2.1/tag-policies/{tag_key}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetTagPolicyRequest", + "is_object": true, + "required_fields": [ + { + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "TagPolicy", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "tag_key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "tag_key", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + }, + "all_fields": [ { - "name": "question", - "description": "The example question.", + "name": "tag_key", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "guidelines", - "description": "Guidelines for answering the question.", + "name": "tag_key", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { + "is_string": true + } + } + ] + }, + { + "name": "ListTagPolicies", + "description": "Lists the tag policies for all governed tags in the account. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/tag_policies). To list granted permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", + "summary": "List tag policies.", + "path": "/api/2.1/tag-policies", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListTagPoliciesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListTagPoliciesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "The maximum number of results to return in this request. Fewer results may be returned than requested. If\nunspecified or set to 0, this defaults to 1000. The maximum value is 1000; values above 1000 will be coerced down\nto 1000.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "An optional page token received from a previous list tag policies call.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "An optional page token received from a previous list tag policies call.", + "is_query": true, + "entity": { "is_string": true } } } - ] + } }, { - "name": "CreateSupervisorAgent", - "description": "Creates a new Supervisor Agent.", - "summary": "Create a Supervisor Agent.", - "path": "/api/2.1/supervisor-agents", + "name": "UpdateTagPolicy", + "description": "Updates an existing tag policy for a single governed tag. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy). To manage permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", + "summary": "Update an existing tag policy.", + "path": "/api/2.1/tag-policies/{tag_key}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateSupervisorAgentRequest", + "pascal_name": "UpdateTagPolicyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "supervisor_agent", - "description": "The Supervisor Agent to create.", + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SupervisorAgent", + "pascal_name": "TagPolicy", "is_object": true } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } } ], "required_request_body_fields": [ { - "name": "supervisor_agent", - "description": "The Supervisor Agent to create.", + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SupervisorAgent", + "pascal_name": "TagPolicy", "is_object": true } } ] }, "request_body_field": { - "name": "supervisor_agent", - "description": "The Supervisor Agent to create.", + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SupervisorAgent", + "pascal_name": "TagPolicy", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { @@ -191566,8 +200331,7 @@ ], "required_request_body_fields": [ { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { @@ -191578,13 +200342,12 @@ } }, "response": { - "pascal_name": "SupervisorAgent", + "pascal_name": "TagPolicy", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { @@ -191594,8 +200357,7 @@ ], "required_request_body_fields": [ { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { @@ -191606,18 +200368,24 @@ }, "all_fields": [ { - "name": "supervisor_agent", - "description": "The Supervisor Agent to create.", + "name": "tag_key", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_policy", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SupervisorAgent", + "pascal_name": "TagPolicy", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { @@ -191627,8 +200395,7 @@ ], "required_request_body_fields": [ { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "tag_key", "required": true, "is_request_body_field": true, "entity": { @@ -191639,18 +200406,17 @@ } }, { - "name": "create_time", - "description": "Creation timestamp.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_query": true, "entity": { - "is_timestamp": true + "is_string": true } }, { - "name": "creator", - "description": "The creator of the Supervisor Agent.", + "name": "create_time", + "description": "Timestamp when the tag policy was created", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -191659,24 +200425,13 @@ }, { "name": "description", - "description": "Description of what this agent can do (user-facing).", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "endpoint_name", - "description": "The name of the supervisor agent's serving endpoint.", + "name": "id", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -191684,17 +200439,16 @@ } }, { - "name": "experiment_id", - "description": "The MLflow experiment ID.", - "is_output_only": true, + "name": "tag_key", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "id", - "description": "Deprecated: Use supervisor_agent_id instead.", + "name": "update_time", + "description": "Timestamp when the tag policy was last updated", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -191702,160 +200456,360 @@ } }, { - "name": "instructions", - "description": "Optional natural-language instructions for the supervisor agent.", + "name": "values", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ValueList", + "array_value": { + "pascal_name": "Value", + "is_object": true + } } - }, + } + ], + "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "is_request_body_field": true, + "name": "tag_key", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "supervisor_agent_id", - "description": "The universally unique identifier (UUID) of the Supervisor Agent.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } } ] - }, + } + ] + }, + { + "id": "catalog.TemporaryPathCredentials", + "name": "TemporaryPathCredentials", + "description": "Temporary Path Credentials are short-lived, downscoped credentials used to access external cloud storage locations registered in Databricks. These credentials provide secure and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0.\n\nTemporary path credentials ensure that data access is limited in scope and duration, reducing the risk of unauthorized access or misuse. To use the temporary path credentials API, a metastore admin must enable the external_access_enabled flag (off by default) at the metastore level. A user must be granted the EXTERNAL USE LOCATION permission by the external location owner. For requests on existing external tables and external volumes, the user must also be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner.\n\nNote that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for security reasons. Similarly, EXTERNAL USE LOCATION is an external location level permission that can only be granted by the external location owner explicitly and is not included in external location ownership or ALL PRIVILEGES on the external location for security reasons.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "CreateTool", - "description": "Creates a Tool under a Supervisor Agent. Specify one of \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"app\", \"volume\", \"dashboard\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\" in the request body. The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "summary": "Create a Tool.", - "path": "/api/2.1/{parent=supervisor-agents/*}/tools", + "name": "GenerateTemporaryPathCredentials", + "description": "Get a short-lived credential for directly accessing cloud storage locations registered in Databricks.\nThe Generate Temporary Path Credentials API is only supported for external storage paths, specifically external\nlocations and external tables. Managed tables are not supported by this API.\nThe metastore must have **external_access_enabled** flag set to true (default false).\nThe caller must have the **EXTERNAL_USE_LOCATION** privilege on the external location; this privilege can only be granted\nby external location owners.\nFor requests on existing external tables, the caller must also have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema;\nthis privilege can only be granted by catalog owners.", + "summary": "Generate a temporary path credential.", + "path": "/api/2.0/unity-catalog/temporary-path-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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateToolRequest", + "pascal_name": "GenerateTemporaryPathCredentialRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "url", + "description": "URL for path-based access.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tool", + "name": "operation", + "description": "The operation being performed on the path.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Tool", - "is_object": true - } - }, - { - "name": "tool_id", - "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", - "required": true, - "is_query": true, - "entity": { - "is_string": true + "pascal_name": "PathOperation", + "enum": [ + { + "content": "PATH_CREATE_TABLE" + }, + { + "content": "PATH_READ" + }, + { + "content": "PATH_READ_WRITE" + } + ] } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "parent", - "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "url", + "description": "URL for path-based access.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tool_id", - "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool", + "name": "operation", + "description": "The operation being performed on the path.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Tool", - "is_object": true + "pascal_name": "PathOperation", + "enum": [ + { + "content": "PATH_CREATE_TABLE" + }, + { + "content": "PATH_READ" + }, + { + "content": "PATH_READ_WRITE" + } + ] } } ] }, - "request_body_field": { - "name": "tool", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Tool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "response": { + "pascal_name": "GenerateTemporaryPathCredentialResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "dry_run", + "description": "Optional. When set to true, the service will not validate that the generated\ncredentials can perform write operations, therefore no new paths will be created\nand the response will not contain valid credentials. Defaults to false.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "operation", + "description": "The operation being performed on the path.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PathOperation", + "enum": [ + { + "content": "PATH_CREATE_TABLE" + }, + { + "content": "PATH_READ" + }, + { + "content": "PATH_READ_WRITE" } - } - ], - "required_request_body_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + ] + } + }, + { + "name": "url", + "description": "URL for path-based access.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "url", + "description": "URL for path-based access.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "operation", + "description": "The operation being performed on the path.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PathOperation", + "enum": [ + { + "content": "PATH_CREATE_TABLE" + }, + { + "content": "PATH_READ" + }, + { + "content": "PATH_READ_WRITE" } - } - ] + ] + } + } + ] + } + ] + }, + { + "id": "catalog.TemporaryTableCredentials", + "name": "TemporaryTableCredentials", + "description": "Temporary Table Credentials are short-lived, downscoped credentials used to access cloud storage locations where table data is stored in Databricks. These credentials provide secure and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0.\n\nTemporary table credentials ensure that data access is limited in scope and duration, reducing the risk of unauthorized access or misuse. To use the temporary table credentials API, a metastore admin must enable the external_access_enabled flag (off by default) at the metastore level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for security reasons.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "GenerateTemporaryTableCredentials", + "description": "Get a short-lived credential for directly accessing the table data on cloud storage.\nThe metastore must have **external_access_enabled** flag set to true (default false).\nThe caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and this privilege can only be granted\nby catalog owners.", + "summary": "Generate a temporary table credential.", + "path": "/api/2.0/unity-catalog/temporary-table-credentials", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GenerateTemporaryTableCredentialRequest", + "is_object": true + }, + "response": { + "pascal_name": "GenerateTemporaryTableCredentialResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "operation", + "description": "The operation performed against the table data, either READ or READ_WRITE. If READ_WRITE is specified,\nthe credentials returned will have write permissions, otherwise, it will be read only.", + "is_request_body_field": true, + "entity": { + "pascal_name": "TableOperation", + "enum": [ + { + "content": "READ" + }, + { + "content": "READ_WRITE" + } + ] + } + }, + { + "name": "table_id", + "description": "UUID of the table to read or write.", + "is_request_body_field": true, + "entity": { + "is_string": true + } } + ] + } + ] + }, + { + "id": "catalog.TemporaryVolumeCredentials", + "name": "TemporaryVolumeCredentials", + "description": "Temporary Volume Credentials are short-lived, downscoped credentials used to access cloud storage locations where volume data is stored in Databricks. These credentials provide secure and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0.\n\nTemporary volume credentials ensure that data access is limited in scope and duration, reducing the risk of unauthorized access or misuse. To use the temporary volume credentials API, a metastore admin must enable the external_access_enabled flag (off by default) at the metastore level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for security reasons.", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "methods": [ + { + "name": "GenerateTemporaryVolumeCredentials", + "description": "Get a short-lived credential for directly accessing the volume data on cloud storage.\nThe metastore must have **external_access_enabled** flag set to true (default false).\nThe caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and this privilege can only be granted\nby catalog owners.", + "summary": "Generate a temporary volume credential.", + "path": "/api/2.0/unity-catalog/temporary-volume-credentials", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GenerateTemporaryVolumeCredentialRequest", + "is_object": true }, "response": { - "pascal_name": "Tool", + "pascal_name": "GenerateTemporaryVolumeCredentialResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "operation", + "description": "The operation performed against the volume data, either READ_VOLUME or WRITE_VOLUME. If WRITE_VOLUME is specified,\nthe credentials returned will have write permissions, otherwise, it will be read only.", + "is_request_body_field": true, + "entity": { + "pascal_name": "VolumeOperation", + "enum": [ + { + "content": "READ_VOLUME" + }, + { + "content": "WRITE_VOLUME" + } + ] + } + }, + { + "name": "volume_id", + "description": "Id of the volume to read or write.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + ] + }, + { + "id": "settings.TokenManagement", + "name": "TokenManagement", + "description": "Enables administrators to get all tokens and delete tokens for other users. Admins can\neither get every token, get a specific token by ID, or get all tokens for a particular user.", + "package": { + "name": "settings" + }, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "TokenInfoCommentToTokenIdMap" + }, + "request": { + "pascal_name": "ListTokenManagementRequest" + } + }, + "methods": [ + { + "name": "CreateOboToken", + "description": "Creates a token on behalf of a service principal.", + "summary": "Create on-behalf token.", + "path": "/api/2.0/token-management/on-behalf-of/tokens", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateOboTokenRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "name": "application_id", + "description": "Application ID of the service principal.", "required": true, "is_request_body_field": true, "entity": { @@ -191865,8 +200819,8 @@ ], "required_request_body_fields": [ { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "name": "application_id", + "description": "Application ID of the service principal.", "required": true, "is_request_body_field": true, "entity": { @@ -191875,177 +200829,59 @@ } ] }, + "response": { + "pascal_name": "CreateOboTokenResponse", + "is_object": true + }, "all_fields": [ { - "name": "parent", - "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tool", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Tool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "tool_id", - "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", + "name": "application_id", + "description": "Application ID of the service principal.", "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "app", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "App", - "is_object": true - } - }, - { - "name": "description", - "description": "Description of what this tool does (user-facing).", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "genie_space", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "GenieSpace", - "is_object": true - } - }, - { - "name": "id", - "description": "Deprecated: Use tool_id instead.", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "knowledge_assistant", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true - } - }, - { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tool_id", - "description": "User specified id of the Tool.", - "is_output_only": true, + "name": "autoscope_enabled", + "description": "Whether to enable autoscoping for this token.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, + "name": "comment", + "description": "Comment that describes the purpose of the token.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "uc_connection", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "UcConnection", - "is_object": true - } - }, - { - "name": "uc_function", + "name": "lifetime_seconds", + "description": "The number of seconds before the token expires.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "UcFunction", - "is_object": true + "is_int64": true } }, { - "name": "volume", + "name": "scopes", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Volume", - "is_object": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource where this tool will be created.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tool_id", - "description": "The ID to use for the tool, which will become the final component of\nthe tool's resource name.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "name": "application_id", + "description": "Application ID of the service principal.", "required": true, "is_request_body_field": true, "entity": { @@ -192055,22 +200891,20 @@ ] }, { - "name": "DeleteExample", - "description": "Deletes an example from a Supervisor Agent.", - "summary": "Delete an example from a Supervisor Agent.", - "path": "/api/2.1/{name=supervisor-agents/*/examples/*}", + "name": "Delete", + "description": "Deletes a token, specified by its ID.", + "summary": "Delete a token.", + "path": "/api/2.0/token-management/tokens/{token_id}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteExampleRequest", + "pascal_name": "DeleteTokenManagementRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token_id", + "description": "The ID of the token to revoke.", "required": true, "is_path": true, "entity": { @@ -192080,8 +200914,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token_id", + "description": "The ID of the token to revoke.", "required": true, "is_path": true, "entity": { @@ -192095,8 +200929,8 @@ }, "all_fields": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token_id", + "description": "The ID of the token to revoke.", "required": true, "is_path": true, "entity": { @@ -192106,8 +200940,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the example to delete.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token_id", + "description": "The ID of the token to revoke.", "required": true, "is_path": true, "entity": { @@ -192117,22 +200951,21 @@ ] }, { - "name": "DeleteSupervisorAgent", - "description": "Deletes a Supervisor Agent.", - "summary": "Delete a Supervisor Agent.", - "path": "/api/2.1/{name=supervisor-agents/*}", + "name": "Get", + "description": "Gets information about a token, specified by its ID.", + "summary": "Get token info.", + "path": "/api/2.0/token-management/tokens/{token_id}", + "is_crud_read": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteSupervisorAgentRequest", + "pascal_name": "GetTokenManagementRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "token_id", + "description": "The ID of the token to get.", "required": true, "is_path": true, "entity": { @@ -192142,8 +200975,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "token_id", + "description": "The ID of the token to get.", "required": true, "is_path": true, "entity": { @@ -192153,12 +200986,13 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "GetTokenResponse", + "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "token_id", + "description": "The ID of the token to get.", "required": true, "is_path": true, "entity": { @@ -192168,8 +201002,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "token_id", + "description": "The ID of the token to get.", "required": true, "is_path": true, "entity": { @@ -192179,170 +201013,250 @@ ] }, { - "name": "DeleteTool", - "description": "Deletes a Tool.", - "summary": "Delete a Tool.", - "path": "/api/2.1/{name=supervisor-agents/*/tools/*}", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get token permission levels.", + "path": "/api/2.0/permissions/authorization/tokens/permissionLevels", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetTokenPermissionLevelsRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetTokenPermissionLevelsResponse", + "is_object": true + } + }, + { + "name": "GetPermissions", + "description": "Gets the permissions of all tokens. Tokens can inherit permissions from their root object.", + "summary": "Get token permissions.", + "path": "/api/2.0/permissions/authorization/tokens", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetTokenPermissionsRequest", + "is_object": true + }, + "response": { + "pascal_name": "TokenPermissions", + "is_object": true + } + }, + { + "name": "List", + "description": "Lists all tokens associated with the specified workspace or user.", + "summary": "List all tokens.", + "path": "/api/2.0/token-management/tokens", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteToolRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ListTokenManagementRequest", + "is_object": true }, "response": { - "is_empty_response": true + "pascal_name": "ListTokensResponse", + "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", - "required": true, - "is_path": true, + "name": "created_by_id", + "description": "User ID of the user that created the token.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "created_by_username", + "description": "Username of the user that created the token.", + "is_query": true, "entity": { "is_string": true } } ], - "required_positional_arguments": [ + "pagination": {} + }, + { + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set token permissions.", + "path": "/api/2.0/permissions/authorization/tokens", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "TokenPermissionsRequest", + "is_object": true + }, + "response": { + "pascal_name": "TokenPermissions", + "is_object": true + }, + "all_fields": [ { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", - "required": true, - "is_path": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TokenAccessControlRequestList", + "array_value": { + "pascal_name": "TokenAccessControlRequest", + "is_object": true + } } } ] }, { - "name": "GetExample", - "description": "Gets an example from a Supervisor Agent.", - "summary": "Get an example from a Supervisor Agent.", - "path": "/api/2.1/{name=supervisor-agents/*/examples/*}", - "is_crud_read": true, + "name": "UpdatePermissions", + "description": "Updates the permissions on all tokens. Tokens can inherit permissions from their root object.", + "summary": "Update token permissions.", + "path": "/api/2.0/permissions/authorization/tokens", + "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetExampleRequest", + "pascal_name": "TokenPermissionsRequest", + "is_object": true + }, + "response": { + "pascal_name": "TokenPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "TokenAccessControlRequestList", + "array_value": { + "pascal_name": "TokenAccessControlRequest", + "is_object": true + } + } + } + ] + }, + { + "name": "UpdateTokenManagement", + "description": "Updates a token, specified by its ID.", + "summary": "Update an on-behalf token.", + "path": "/api/2.0/token-management/tokens/{token_id}", + "can_use_json": true, + "must_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateTokenManagementRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token_id", + "description": "ID of the token.", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TokenInfo", + "is_object": true } - } - ] - }, - "response": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ + }, { - "name": "question", - "description": "The example question.", + "name": "update_mask", + "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_field_mask": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "guidelines", - "description": "Guidelines for answering the question.", + "name": "token_id", + "description": "ID of the token.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ], "required_request_body_fields": [ { - "name": "question", - "description": "The example question.", + "name": "token", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TokenInfo", + "is_object": true } }, { - "name": "guidelines", - "description": "Guidelines for answering the question.", + "name": "update_mask", + "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_field_mask": true } } ] }, + "response": { + "pascal_name": "TokenInfo", + "is_object": true + }, "all_fields": [ { - "name": "name", - "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "TokenInfo", + "is_object": true + } + }, + { + "name": "token_id", + "description": "ID of the token.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_field_mask": true + } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the example.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "token_id", + "description": "ID of the token.", "required": true, "is_path": true, "entity": { @@ -192350,37 +201264,115 @@ } } ] + } + ] + }, + { + "id": "settings.Tokens", + "name": "Tokens", + "description": "The Token API allows you to create, list, and revoke tokens that can be used to authenticate and access Databricks REST APIs.", + "package": { + "name": "settings" + }, + "docs_group": "settings", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "PublicTokenInfoCommentToTokenIdMap" }, + "is_legacy_empty_request": true, + "request": { + "pascal_name": "ListTokens" + } + }, + "methods": [ { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get supervisor agent permission levels.", - "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}/permissionLevels", + "name": "Create", + "description": "Creates and returns a token for a user. If this call is made through token authentication, it creates\na token with the same client ID as the authenticated token. If the user's token quota is exceeded, this call\nreturns an error **QUOTA_EXCEEDED**.", + "summary": "Create a user token.", + "path": "/api/2.0/token/create", + "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetSupervisorAgentPermissionLevelsRequest", + "pascal_name": "CreateTokenRequest", + "is_object": true + }, + "response": { + "pascal_name": "CreateTokenResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "autoscope_enabled", + "description": "Whether to enable autoscoping for this token. When true, the token will\nautomatically collect inferred API path scopes as it is used.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "comment", + "description": "Optional description to attach to the token.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "lifetime_seconds", + "description": "The lifetime of the token, in seconds.\n\nIf the lifetime is not specified, this token remains valid for 2 years.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "scopes", + "description": "Optional scopes of the token.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ] + }, + { + "name": "Delete", + "description": "Revokes an access token.\n\nIf a token with the specified ID is not valid, this call returns an error **RESOURCE_DOES_NOT_EXIST**.", + "summary": "Revoke token.", + "path": "/api/2.0/token/delete", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "RevokeTokenRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The ID of the token to be revoked.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The ID of the token to be revoked.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -192388,15 +201380,16 @@ ] }, "response": { - "pascal_name": "GetSupervisorAgentPermissionLevelsResponse", - "is_object": true + "pascal_name": "RevokeTokenResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The ID of the token to be revoked.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -192404,10 +201397,10 @@ ], "required_positional_arguments": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The ID of the token to be revoked.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -192415,60 +201408,136 @@ ] }, { - "name": "GetPermissions", - "description": "Gets the permissions of a supervisor agent. Supervisor agents can inherit permissions from their root object.", - "summary": "Get supervisor agent permissions.", - "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}", + "name": "List", + "description": "Lists all the valid tokens for a user-workspace pair.", + "summary": "List tokens.", + "path": "/api/2.0/token/list", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListTokens", + "is_object": true + }, + "response": { + "pascal_name": "ListPublicTokensResponse", + "is_object": true + }, + "pagination": {} + }, + { + "name": "Update", + "description": "Updates the comment or scopes of a token.\n\nIf a token with the specified ID is not valid, this call returns an error **NOT_FOUND**.", + "summary": "Update a user token.", + "path": "/api/2.0/token/{token_id}", + "can_use_json": true, + "must_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetSupervisorAgentPermissionsRequest", + "pascal_name": "UpdateTokenRequest", "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The SHA-256 hash of the token to be updated.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "token", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PublicTokenInfo", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_field_mask": true + } } ], "required_in_url_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The SHA-256 hash of the token to be updated.", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "token", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PublicTokenInfo", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_field_mask": true + } + } ] }, "response": { - "pascal_name": "SupervisorAgentPermissions", + "pascal_name": "UpdateTokenResponse", "is_object": true }, "all_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PublicTokenInfo", + "is_object": true + } + }, + { + "name": "token_id", + "description": "The SHA-256 hash of the token to be updated.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_field_mask": true + } } ], "required_positional_arguments": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "token_id", + "description": "The SHA-256 hash of the token to be updated.", "required": true, "is_path": true, "entity": { @@ -192476,88 +201545,276 @@ } } ] + } + ] + }, + { + "id": "billing.UsageDashboards", + "name": "UsageDashboards", + "description": "These APIs manage usage dashboards for this account. Usage dashboards enable you to gain insights into your usage with pre-built dashboards: visualize breakdowns, analyze tag attributions, and identify cost drivers.", + "package": { + "name": "billing" + }, + "is_accounts": true, + "docs_group": "billing", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ + { + "name": "Create", + "description": "Create a usage dashboard specified by workspaceId, accountId, and dashboard type.", + "summary": "Create new usage dashboard.", + "path": "/api/2.0/accounts/{account_id}/dashboard", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateBillingUsageDashboardRequest", + "is_object": true + }, + "response": { + "pascal_name": "CreateBillingUsageDashboardResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "dashboard_type", + "description": "Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account.", + "is_request_body_field": true, + "entity": { + "pascal_name": "UsageDashboardType", + "enum": [ + { + "content": "USAGE_DASHBOARD_TYPE_GLOBAL" + }, + { + "content": "USAGE_DASHBOARD_TYPE_WORKSPACE" + } + ] + } + }, + { + "name": "major_version", + "description": "The major version of the usage dashboard template to use. Defaults to VERSION_1.", + "is_request_body_field": true, + "entity": { + "pascal_name": "UsageDashboardMajorVersion", + "enum": [ + { + "content": "USAGE_DASHBOARD_MAJOR_VERSION_1" + }, + { + "content": "USAGE_DASHBOARD_MAJOR_VERSION_2" + } + ] + } + }, + { + "name": "workspace_id", + "description": "The workspace ID of the workspace in which the usage dashboard is created.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, { - "name": "GetSupervisorAgent", - "description": "Gets a Supervisor Agent.", - "summary": "Get a Supervisor Agent.", - "path": "/api/2.1/{name=supervisor-agents/*}", - "is_crud_read": true, + "name": "Get", + "description": "Get a usage dashboard specified by workspaceId, accountId, and dashboard type.", + "summary": "Get usage dashboard.", + "path": "/api/2.0/accounts/{account_id}/dashboard", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetSupervisorAgentRequest", - "is_object": true, - "required_fields": [ - { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "GetBillingUsageDashboardRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetBillingUsageDashboardResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "dashboard_type", + "description": "Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account.", + "is_query": true, + "entity": { + "pascal_name": "UsageDashboardType", + "enum": [ + { + "content": "USAGE_DASHBOARD_TYPE_GLOBAL" + }, + { + "content": "USAGE_DASHBOARD_TYPE_WORKSPACE" + } + ] } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "workspace_id", + "description": "The workspace ID of the workspace in which the usage dashboard is created.", + "is_query": true, + "entity": { + "is_int64": true } - ] + } + ] + } + ] + }, + { + "id": "iam.UsersV2", + "name": "UsersV2", + "description": "User identities recognized by Databricks and represented by email addresses.\n\nDatabricks recommends using SCIM provisioning to sync users and groups automatically from\nyour identity provider to your Databricks workspace. SCIM streamlines onboarding a new\nemployee or team by using your identity provider to create users and groups in Databricks workspace\nand give them the proper level of access. When a user leaves your organization or no longer\nneeds access to Databricks workspace, admins can terminate the user in your identity provider and that\nuser’s account will also be removed from Databricks workspace. This ensures a consistent offboarding\nprocess and prevents unauthorized users from accessing sensitive data.", + "package": { + "name": "iam" + }, + "docs_group": "iam", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "list": { + "request": { + "pascal_name": "ListUsersRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a new user in the Databricks workspace. This new user will also be added to the Databricks account.", + "summary": "Create a new user.", + "path": "/api/2.0/preview/scim/v2/Users", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "CreateUserRequest", + "is_object": true }, "response": { - "pascal_name": "SupervisorAgent", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + "pascal_name": "User", + "is_object": true + }, + "all_fields": [ + { + "name": "active", + "description": "If this user is active", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "displayName", + "description": "String that represents a concatenation of given and family names. For example `John Smith`. This field cannot be updated through the Workspace SCIM APIs when [identity federation is enabled](https://docs.databricks.com/administration-guide/users-groups/best-practices.html#enable-identity-federation). Use Account SCIM APIs to update `displayName`.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "emails", + "description": "All the emails associated with the Databricks user.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true } } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true + }, + { + "name": "entitlements", + "description": "Entitlements assigned to the user. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true } } - ] - }, - "all_fields": [ + }, { - "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, + "name": "externalId", + "description": "External ID is not currently supported. It is reserved for future use.", + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, + { + "name": "groups", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } + } + }, + { + "name": "id", + "description": "Databricks user ID.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "name", - "description": "The resource name of the Supervisor Agent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Name", + "is_object": true + } + }, + { + "name": "roles", + "description": "Corresponds to AWS instance profile/arn role.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } + } + }, + { + "name": "schemas", + "description": "The schema of the user.", + "is_request_body_field": true, + "entity": { + "pascal_name": "UserSchemaList", + "array_value": { + "pascal_name": "UserSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:schemas:core:2.0:User" + }, + { + "content": "urn:ietf:params:scim:schemas:extension:workspace:2.0:User" + } + ] + } + } + }, + { + "name": "userName", + "description": "Email address of the Databricks user.", + "is_request_body_field": true, "entity": { "is_string": true } @@ -192565,23 +201822,22 @@ ] }, { - "name": "GetTool", - "description": "Gets a Tool.", - "summary": "Get a Tool.", - "path": "/api/2.1/{name=supervisor-agents/*/tools/*}", - "is_crud_read": true, + "name": "Delete", + "description": "Deletes a user. Deleting a user from a Databricks workspace also removes objects associated with the user.", + "summary": "Delete a user.", + "path": "/api/2.0/preview/scim/v2/Users/{id}", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "GetToolRequest", + "pascal_name": "DeleteUserRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192591,8 +201847,8 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192602,36 +201858,12 @@ ] }, "response": { - "pascal_name": "Tool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192641,8 +201873,8 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the Tool.\nFormat: supervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192652,22 +201884,23 @@ ] }, { - "name": "ListExamples", - "description": "Lists examples under a Supervisor Agent.", - "summary": "List examples for a Supervisor Agent.", - "path": "/api/2.1/{parent=supervisor-agents/*}/examples", + "name": "Get", + "description": "Gets information for a specific user in Databricks workspace.", + "summary": "Get user details.", + "path": "/api/2.0/preview/scim/v2/Users/{id}", + "is_crud_read": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListExamplesRequest", + "pascal_name": "GetUserRequest", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192677,8 +201910,8 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192688,126 +201921,253 @@ ] }, "response": { - "pascal_name": "ListExamplesResponse", + "pascal_name": "User", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "The maximum number of examples to return.\nIf unspecified, at most 100 examples will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", + "name": "attributes", + "description": "Comma-separated list of attributes to return in response.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "count", + "description": "Desired number of results per page.", "is_query": true, "entity": { "is_int": true } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "name": "excludedAttributes", + "description": "Comma-separated list of attributes to exclude in response.", "is_query": true, "entity": { "is_string": true } }, { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "filter", + "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "sortBy", + "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "sortOrder", + "description": "The order to sort the results.", + "is_query": true, + "entity": { + "pascal_name": "GetSortOrder", + "enum": [ + { + "content": "ascending" + }, + { + "content": "descending" + } + ] + } + }, + { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int": true + } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks workspace.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListExamples` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", - "is_query": true, - "entity": { - "is_string": true - } - } - } + ] + }, + { + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get password permission levels.", + "path": "/api/2.0/permissions/authorization/passwords/permissionLevels", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetPasswordPermissionLevelsRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetPasswordPermissionLevelsResponse", + "is_object": true } }, { - "name": "ListSupervisorAgents", - "description": "Lists Supervisor Agents.", - "summary": "List Supervisor Agents.", - "path": "/api/2.1/supervisor-agents", + "name": "GetPermissions", + "description": "Gets the permissions of all passwords. Passwords can inherit permissions from their root object.", + "summary": "Get password permissions.", + "path": "/api/2.0/permissions/authorization/passwords", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "GetPasswordPermissionsRequest", + "is_object": true + }, + "response": { + "pascal_name": "PasswordPermissions", + "is_object": true + } + }, + { + "name": "List", + "description": "Gets details for all the users associated with a Databricks workspace.", + "summary": "List users.", + "path": "/api/2.0/preview/scim/v2/Users", "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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListSupervisorAgentsRequest", + "pascal_name": "ListUsersRequest", "is_object": true }, "response": { - "pascal_name": "ListSupervisorAgentsResponse", + "pascal_name": "ListUsersResponse", "is_object": true }, "all_fields": [ { - "name": "page_size", - "description": "The maximum number of supervisor agents to return.\nIf unspecified, at most 100 supervisor agents will be returned.\nThe maximum value is 100; values above 100 will be coerced to 100.", + "name": "attributes", + "description": "Comma-separated list of attributes to return in response.", "is_query": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListSupervisorAgents` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", + "name": "count", + "description": "Desired number of results per page.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + { + "name": "excludedAttributes", + "description": "Comma-separated list of attributes to exclude in response.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "filter", + "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "sortBy", + "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", "is_query": true, "entity": { "is_string": true } + }, + { + "name": "sortOrder", + "description": "The order to sort the results.", + "is_query": true, + "entity": { + "pascal_name": "ListSortOrder", + "enum": [ + { + "content": "ascending" + }, + { + "content": "descending" + } + ] + } + }, + { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true + } } ], "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListSupervisorAgents` call.\nProvide this to retrieve the subsequent page.\nIf unspecified, the first page will be returned.", - "is_query": true, - "entity": { - "is_string": true - } + "offset": { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + "limit": { + "name": "count", + "description": "Desired number of results per page.", + "is_query": true, + "entity": { + "is_int64": true } } } }, { - "name": "ListTools", - "description": "Lists Tools under a Supervisor Agent.", - "summary": "List Tools.", - "path": "/api/2.1/{parent=supervisor-agents/*}/tools", + "name": "Patch", + "description": "Partially updates a user resource by applying the supplied operations on specific user attributes.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", + "summary": "Update user details.", + "path": "/api/2.0/preview/scim/v2/Users/{id}", + "can_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ListToolsRequest", + "pascal_name": "PatchUserRequest", "is_object": true, "required_fields": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192817,8 +202177,8 @@ ], "required_in_url_fields": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -192828,96 +202188,75 @@ ] }, "response": { - "pascal_name": "ListToolsResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "page_size", - "is_query": true, + "name": "id", + "description": "Unique ID in the Databricks workspace.", + "required": true, + "is_path": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "is_query": true, + "name": "Operations", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PatchList", + "array_value": { + "pascal_name": "Patch", + "is_object": true + } } }, { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, + "name": "schemas", + "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "PatchSchemaList", + "array_value": { + "pascal_name": "PatchSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" + } + ] + } } } ], "required_positional_arguments": [ { - "name": "parent", - "description": "Parent resource to list from.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { "name": "SetPermissions", "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set supervisor agent permissions.", - "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}", + "summary": "Set password permissions.", + "path": "/api/2.0/permissions/authorization/passwords", "can_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "SupervisorAgentPermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "PasswordPermissionsRequest", + "is_object": true }, "response": { - "pascal_name": "SupervisorAgentPermissions", + "pascal_name": "PasswordPermissions", "is_object": true }, "all_fields": [ @@ -192925,327 +202264,167 @@ "name": "access_control_list", "is_request_body_field": true, "entity": { - "pascal_name": "SupervisorAgentAccessControlRequestList", + "pascal_name": "PasswordAccessControlRequestList", "array_value": { - "pascal_name": "SupervisorAgentAccessControlRequest", + "pascal_name": "PasswordAccessControlRequest", "is_object": true } } - }, - { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } } ] }, { - "name": "UpdateExample", - "description": "Updates an example in a Supervisor Agent.", - "summary": "Update an example in a Supervisor Agent.", - "path": "/api/2.1/{name=supervisor-agents/*/examples/*}", + "name": "Update", + "description": "Replaces a user's information with the data supplied in request.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", + "summary": "Replace a user.", + "path": "/api/2.0/preview/scim/v2/Users/{id}", "can_use_json": 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", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "UpdateExampleRequest", + "pascal_name": "UpdateUserRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "id", + "description": "Databricks user ID.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "example", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "id", + "description": "Databricks user ID.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "example", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true - } } ] }, - "request_body_field": { - "name": "example", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ] - } - }, "response": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "example", - "required": true, + "name": "active", + "description": "If this user is active", "is_request_body_field": true, "entity": { - "pascal_name": "Example", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ], - "required_request_body_fields": [ - { - "name": "question", - "description": "The example question.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ] + "is_bool": true } }, { - "name": "name", - "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", - "required": true, - "is_path": true, + "name": "displayName", + "description": "String that represents a concatenation of given and family names. For example `John Smith`. This field cannot be updated through the Workspace SCIM APIs when [identity federation is enabled](https://docs.databricks.com/administration-guide/users-groups/best-practices.html#enable-identity-federation). Use Account SCIM APIs to update `displayName`.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, + "name": "emails", + "description": "All the emails associated with the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } }, { - "name": "example_id", - "description": "The universally unique identifier (UUID) of the example.", - "is_output_only": true, + "name": "entitlements", + "description": "Entitlements assigned to the user. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } + } + }, + { + "name": "externalId", + "description": "External ID is not currently supported. It is reserved for future use.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, + "name": "groups", "is_request_body_field": true, "entity": { - "pascal_name": "List", + "pascal_name": "ComplexValueList", "array_value": { - "is_string": true + "pascal_name": "ComplexValue", + "is_object": true } } }, + { + "name": "id", + "description": "Databricks user ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, { "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/examples/{example_id}", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "Name", + "is_object": true } }, { - "name": "question", - "description": "The example question.", - "required": true, + "name": "roles", + "description": "Corresponds to AWS instance profile/arn role.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } + } + }, + { + "name": "schemas", + "description": "The schema of the user.", + "is_request_body_field": true, + "entity": { + "pascal_name": "UserSchemaList", + "array_value": { + "pascal_name": "UserSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:schemas:core:2.0:User" + }, + { + "content": "urn:ietf:params:scim:schemas:extension:workspace:2.0:User" + } + ] + } + } + }, + { + "name": "userName", + "description": "Email address of the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", "is_request_body_field": true, "entity": { "is_string": true @@ -193254,64 +202433,177 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the example to update.\nFormat: supervisor-agents/{supervisor_agent_id}/examples/{example_id}", + "name": "id", + "description": "Databricks user ID.", "required": true, "is_path": true, "entity": { "is_string": true } + } + ] + }, + { + "name": "UpdatePermissions", + "description": "Updates the permissions on all passwords. Passwords can inherit permissions from their root object.", + "summary": "Update password permissions.", + "path": "/api/2.0/permissions/authorization/passwords", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "PasswordPermissionsRequest", + "is_object": true + }, + "response": { + "pascal_name": "PasswordPermissions", + "is_object": true + }, + "all_fields": [ + { + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "PasswordAccessControlRequestList", + "array_value": { + "pascal_name": "PasswordAccessControlRequest", + "is_object": true + } + } + } + ] + } + ] + }, + { + "id": "iam.AccountUsersV2", + "name": "AccountUsersV2", + "description": "User identities recognized by Databricks and represented by email addresses.\n\nDatabricks recommends using SCIM provisioning to sync users and groups automatically from\nyour identity provider to your Databricks account. SCIM streamlines onboarding a new\nemployee or team by using your identity provider to create users and groups in Databricks account\nand give them the proper level of access. When a user leaves your organization or no longer\nneeds access to Databricks account, admins can terminate the user in your identity provider and that\nuser’s account will also be removed from Databricks account. This ensures a consistent offboarding\nprocess and prevents unauthorized users from accessing sensitive data.", + "package": { + "name": "iam" + }, + "is_accounts": true, + "docs_group": "iam", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListAccountUsersRequest" + } + }, + "methods": [ + { + "name": "Create", + "description": "Creates a new user in the Databricks account. This new user will also be added to the Databricks account.", + "summary": "Create a new user.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/Users", + "can_use_json": true, + "is_crud_create": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "CreateAccountUserRequest", + "is_object": true + }, + "response": { + "pascal_name": "AccountUser", + "is_object": true + }, + "all_fields": [ + { + "name": "active", + "description": "If this user is active", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "displayName", + "description": "String that represents a concatenation of given and family names. For example `John Smith`.", + "is_request_body_field": true, + "entity": { + "is_string": true + } }, { - "name": "update_mask", - "description": "Comma-delimited list of fields to update on the example.\nAllowed values: `question`, `guidelines`.\nExamples:\n- `question`\n- `question,guidelines`", - "required": true, - "is_query": true, + "name": "emails", + "description": "All the emails associated with the Databricks user.", + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } }, { - "name": "question", - "description": "The example question.", - "required": true, + "name": "externalId", + "description": "External ID is not currently supported. It is reserved for future use.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "guidelines", - "description": "Guidelines for answering the question.", - "required": true, + "name": "id", + "description": "Databricks user ID.", "is_request_body_field": true, "entity": { - "pascal_name": "List", + "is_string": true + } + }, + { + "name": "name", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Name", + "is_object": true + } + }, + { + "name": "roles", + "description": "Indicates if the group has the admin role.", + "is_request_body_field": true, + "entity": { + "pascal_name": "ComplexValueList", "array_value": { - "is_string": true + "pascal_name": "ComplexValue", + "is_object": true } } + }, + { + "name": "userName", + "description": "Email address of the Databricks user.", + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a supervisor agent. Supervisor agents can inherit permissions from their root object.", - "summary": "Update supervisor agent permissions.", - "path": "/api/2.0/permissions/supervisor-agents/{supervisor_agent_id}", - "can_use_json": true, + "name": "Delete", + "description": "Deletes a user. Deleting a user from a Databricks account also removes objects associated with the user.", + "summary": "Delete a user.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SupervisorAgentPermissionsRequest", + "pascal_name": "DeleteAccountUserRequest", "is_object": true, "required_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "id", + "description": "Unique ID for a user in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -193321,8 +202613,8 @@ ], "required_in_url_fields": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "id", + "description": "Unique ID for a user in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -193332,24 +202624,12 @@ ] }, "response": { - "pascal_name": "SupervisorAgentPermissions", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "SupervisorAgentAccessControlRequestList", - "array_value": { - "pascal_name": "SupervisorAgentAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "id", + "description": "Unique ID for a user in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -193359,8 +202639,8 @@ ], "required_positional_arguments": [ { - "name": "supervisor_agent_id", - "description": "The supervisor agent for which to get or manage permissions.", + "name": "id", + "description": "Unique ID for a user in the Databricks account.", "required": true, "is_path": true, "entity": { @@ -193370,458 +202650,274 @@ ] }, { - "name": "UpdateSupervisorAgent", - "description": "Updates a Supervisor Agent. The fields that are required depend on the paths specified in `update_mask`.\nOnly fields included in the mask will be updated.", - "summary": "Update a Supervisor Agent.", - "path": "/api/2.1/{name=supervisor-agents/*}", - "can_use_json": true, + "name": "Get", + "description": "Gets information for a specific user in Databricks account.", + "summary": "Get user details.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", + "is_crud_read": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateSupervisorAgentRequest", + "pascal_name": "GetAccountUserRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks account.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "supervisor_agent", - "description": "The SupervisorAgent to update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "SupervisorAgent", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", + "name": "id", + "description": "Unique ID for a user in the Databricks account.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "supervisor_agent", - "description": "The SupervisorAgent to update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "SupervisorAgent", - "is_object": true - } } ] }, - "request_body_field": { - "name": "supervisor_agent", - "description": "The SupervisorAgent to update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "SupervisorAgent", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "SupervisorAgent", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "AccountUser", + "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, + "name": "attributes", + "description": "Comma-separated list of attributes to return in response.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "supervisor_agent", - "description": "The SupervisorAgent to update.", - "required": true, - "is_request_body_field": true, + "name": "count", + "description": "Desired number of results per page. Default is 10000.", + "is_query": true, "entity": { - "pascal_name": "SupervisorAgent", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_int": true } }, { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, + "name": "excludedAttributes", + "description": "Comma-separated list of attributes to exclude in response.", "is_query": true, "entity": { - "is_field_mask": true + "is_string": true } }, { - "name": "create_time", - "description": "Creation timestamp.", - "is_output_only": true, - "is_request_body_field": true, - "is_optional_object": true, + "name": "filter", + "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "is_query": true, "entity": { - "is_timestamp": true + "is_string": true } }, { - "name": "creator", - "description": "The creator of the Supervisor Agent.", - "is_output_only": true, - "is_request_body_field": true, + "name": "id", + "description": "Unique ID for a user in the Databricks account.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "description", - "description": "Description of what this agent can do (user-facing).", - "is_request_body_field": true, + "name": "sortBy", + "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, + "name": "sortOrder", + "description": "The order to sort the results.", + "is_query": true, "entity": { - "is_string": true + "pascal_name": "GetSortOrder", + "enum": [ + { + "content": "ascending" + }, + { + "content": "descending" + } + ] } }, { - "name": "endpoint_name", - "description": "The name of the supervisor agent's serving endpoint.", - "is_output_only": true, - "is_request_body_field": true, + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "experiment_id", - "description": "The MLflow experiment ID.", - "is_output_only": true, - "is_request_body_field": true, + "name": "id", + "description": "Unique ID for a user in the Databricks account.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ] + }, + { + "name": "List", + "description": "Gets details for all the users associated with a Databricks account.", + "summary": "List users.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/Users", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListAccountUsersRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListAccountUsersResponse", + "is_object": true + }, + "all_fields": [ { - "name": "id", - "description": "Deprecated: Use supervisor_agent_id instead.", - "is_output_only": true, - "is_request_body_field": true, + "name": "attributes", + "description": "Comma-separated list of attributes to return in response.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "instructions", - "description": "Optional natural-language instructions for the supervisor agent.", - "is_request_body_field": true, + "name": "count", + "description": "Desired number of results per page. Default is 10000.", + "is_query": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "name", - "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "is_request_body_field": true, + "name": "excludedAttributes", + "description": "Comma-separated list of attributes to exclude in response.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "supervisor_agent_id", - "description": "The universally unique identifier (UUID) of the Supervisor Agent.", - "is_output_only": true, - "is_request_body_field": true, + "name": "filter", + "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "name", - "description": "The resource name of the SupervisorAgent.\nFormat: supervisor-agents/{supervisor_agent_id}", - "required": true, - "is_path": true, + "name": "sortBy", + "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, + "name": "sortOrder", + "description": "The order to sort the results.", "is_query": true, "entity": { - "is_field_mask": true + "pascal_name": "ListSortOrder", + "enum": [ + { + "content": "ascending" + }, + { + "content": "descending" + } + ] } }, { - "name": "display_name", - "description": "The display name of the Supervisor Agent, unique at workspace level.", - "required": true, - "is_request_body_field": true, + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, "entity": { - "is_string": true + "is_int64": true } } - ] + ], + "pagination": { + "offset": { + "name": "startIndex", + "description": "Specifies the index of the first result. First item is number 1.", + "is_query": true, + "entity": { + "is_int64": true + } + }, + "limit": { + "name": "count", + "description": "Desired number of results per page. Default is 10000.", + "is_query": true, + "entity": { + "is_int64": true + } + } + } }, { - "name": "UpdateTool", - "description": "Updates a Tool. Only the `description` field can be updated.\nTo change immutable fields such as tool type, spec, or tool ID, delete the tool and recreate it.", - "summary": "Update a Tool.", - "path": "/api/2.1/{name=supervisor-agents/*/tools/*}", + "name": "Patch", + "description": "Partially updates a user resource by applying the supplied operations on specific user attributes.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", + "summary": "Update user details.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", "can_use_json": 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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateToolRequest", + "pascal_name": "PatchAccountUserRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "tool", - "description": "The Tool to update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Tool", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool", - "description": "The Tool to update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Tool", - "is_object": true - } } ] }, - "request_body_field": { - "name": "tool", - "description": "The Tool to update.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "Tool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "Tool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "is_empty_response": true }, "all_fields": [ { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Unique ID in the Databricks workspace.", "required": true, "is_path": true, "entity": { @@ -193829,269 +202925,311 @@ } }, { - "name": "tool", - "description": "The Tool to update.", - "required": true, + "name": "Operations", "is_request_body_field": true, "entity": { - "pascal_name": "Tool", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true + "pascal_name": "PatchList", + "array_value": { + "pascal_name": "Patch", + "is_object": true + } } }, { - "name": "app", + "name": "schemas", + "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "App", - "is_object": true + "pascal_name": "PatchSchemaList", + "array_value": { + "pascal_name": "PatchSchema", + "enum": [ + { + "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" + } + ] + } } - }, + } + ], + "required_positional_arguments": [ { - "name": "description", - "description": "Description of what this tool does (user-facing).", - "is_request_body_field": true, + "name": "id", + "description": "Unique ID in the Databricks workspace.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "genie_space", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "GenieSpace", - "is_object": true + } + ] + }, + { + "name": "Update", + "description": "Replaces a user's information with the data supplied in request.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", + "summary": "Replace a user.", + "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateAccountUserRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "description": "Databricks user ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ], + "required_in_url_fields": [ + { + "name": "id", + "description": "Databricks user ID.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ { - "name": "id", - "description": "Deprecated: Use tool_id instead.", - "is_output_only": true, + "name": "active", + "description": "If this user is active", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "knowledge_assistant", + "name": "displayName", + "description": "String that represents a concatenation of given and family names. For example `John Smith`.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "KnowledgeAssistant", - "is_object": true + "is_string": true } }, { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "emails", + "description": "All the emails associated with the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } }, { - "name": "tool_id", - "description": "User specified id of the Tool.", - "is_output_only": true, + "name": "externalId", + "description": "External ID is not currently supported. It is reserved for future use.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", + "name": "id", + "description": "Databricks user ID.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "uc_connection", + "name": "name", "is_request_body_field": true, "is_optional_object": true, "entity": { - "pascal_name": "UcConnection", + "pascal_name": "Name", "is_object": true } }, { - "name": "uc_function", + "name": "roles", + "description": "Indicates if the group has the admin role.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "UcFunction", - "is_object": true + "pascal_name": "ComplexValueList", + "array_value": { + "pascal_name": "ComplexValue", + "is_object": true + } } }, { - "name": "volume", + "name": "userName", + "description": "Email address of the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Volume", - "is_object": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "Full resource name:\nsupervisor-agents/{supervisor_agent_id}/tools/{tool_id}", + "name": "id", + "description": "Databricks user ID.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "Field mask for fields to be updated.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "tool_type", - "description": "Tool type. Must be one of: \"genie_space\", \"knowledge_assistant\", \"uc_function\", \"uc_connection\", \"uc_mcp\", \"app\", \"volume\", \"dashboard\", \"serving_endpoint\", \"table\", \"vector_search_index\", \"catalog\", \"schema\", \"supervisor_agent\", \"databricks_web_search\", \"skill\". The legacy values \"lakeview_dashboard\", \"uc_table\", and \"web_search\" are also accepted and remain equivalent to \"dashboard\", \"table\", and \"databricks_web_search\" respectively. The \"databricks_web_search\" tool_type maps to the `web_search` spec field.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } } ] } ] }, { - "id": "catalog.SystemSchemas", - "name": "SystemSchemas", - "description": "A system schema is a schema that lives within the system catalog. A system schema may contain\ninformation about customer usage of Unity Catalog such as audit logs, billing logs,\nand lineage information.", + "id": "vectorsearch.VectorSearchEndpoints", + "name": "VectorSearchEndpoints", + "description": "**Endpoint**: Represents the compute resources to host AI Search indexes.", "package": { - "name": "catalog" + "name": "vectorsearch" }, - "docs_group": "catalog", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "docs_group": "vectorsearch", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "request": { - "pascal_name": "ListSystemSchemasRequest" + "pascal_name": "ListEndpointsRequest" } }, "methods": [ { - "name": "Disable", - "description": "Disables the system schema and removes it from the system catalog.\nThe caller must be an account admin or a metastore admin.", - "summary": "Disable a system schema.", - "path": "/api/2.1/unity-catalog/metastores/{metastore_id}/systemschemas/{schema_name}", + "name": "CreateEndpoint", + "description": "Create a new endpoint.", + "summary": "Create an endpoint.", + "path": "/api/2.0/vector-search/endpoints", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DisableRequest", + "pascal_name": "CreateEndpoint", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", + "name": "name", + "description": "Name of the AI Search endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_type", + "description": "Type of endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "EndpointType", + "enum": [ + { + "content": "STANDARD" + }, + { + "content": "STORAGE_OPTIMIZED" + } + ] } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", + "name": "name", + "description": "Name of the AI Search endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_type", + "description": "Type of endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "EndpointType", + "enum": [ + { + "content": "STANDARD" + }, + { + "content": "STORAGE_OPTIMIZED" + } + ] } } ] }, "response": { - "pascal_name": "DisableResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "EndpointInfo", + "is_object": true }, "all_fields": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", - "required": true, - "is_path": true, + "name": "budget_policy_id", + "description": "The budget policy id to be applied", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_type", + "description": "Type of endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "EndpointType", + "enum": [ + { + "content": "STANDARD" + }, + { + "content": "STORAGE_OPTIMIZED" + } + ] + } + }, + { + "name": "name", + "description": "Name of the AI Search endpoint", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "target_qps", + "description": "Target QPS for the endpoint. Mutually exclusive with num_replicas.\nThe actual replica count is calculated at index creation/sync time based on this value.\nBest-effort target; the system does not guarantee this QPS will be achieved.", + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "usage_policy_id", + "description": "The usage policy id to be applied once we've migrated to usage policies", + "is_request_body_field": true, "entity": { "is_string": true } @@ -194099,52 +203237,81 @@ ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", + "name": "name", + "description": "Name of the AI Search endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_type", + "description": "Type of endpoint", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "EndpointType", + "enum": [ + { + "content": "STANDARD" + }, + { + "content": "STORAGE_OPTIMIZED" + } + ] } } - ] + ], + "wait": { + "success": [ + { + "content": "ONLINE" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "EndpointInfo" + } + }, + "status_path": [ + { + "pascal_name": "EndpointStatus" + }, + { + "pascal_name": "State" + } + ], + "message_path": [ + { + "pascal_name": "EndpointStatus" + }, + { + "pascal_name": "Message" + } + ], + "message_path_head": { + "pascal_name": "EndpointStatus" + } + } }, { - "name": "Enable", - "description": "Enables the system schema and adds it to the system catalog.\nThe caller must be an account admin or a metastore admin.", - "summary": "Enable a system schema.", - "path": "/api/2.1/unity-catalog/metastores/{metastore_id}/systemschemas/{schema_name}", - "can_use_json": true, + "name": "DeleteEndpoint", + "description": "Delete an AI Search endpoint.", + "summary": "Delete an endpoint.", + "path": "/api/2.0/vector-search/endpoints/{endpoint_name}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "EnableRequest", + "pascal_name": "DeleteEndpointRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { @@ -194154,17 +203321,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { @@ -194174,51 +203332,87 @@ ] }, "response": { - "pascal_name": "EnableResponse", + "pascal_name": "DeleteEndpointResponse", "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "catalog_name", - "description": "the catalog for which the system schema is to enabled in", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_positional_arguments": [ + ] + }, + { + "name": "GetEndpoint", + "description": "Get details for a single AI Search endpoint.", + "summary": "Get an endpoint.", + "path": "/api/2.0/vector-search/endpoints/{endpoint_name}", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetEndpointRequest", + "is_object": true, + "required_fields": [ + { + "name": "endpoint_name", + "description": "Name of the endpoint", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "endpoint_name", + "description": "Name of the endpoint", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "EndpointInfo", + "is_object": true + }, + "all_fields": [ { - "name": "metastore_id", - "description": "The metastore ID under which the system schema lives.", + "name": "endpoint_name", + "description": "Name of the endpoint", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "schema_name", - "description": "Full name of the system schema.", + "name": "endpoint_name", + "description": "Name of the endpoint", "required": true, "is_path": true, "entity": { @@ -194228,22 +203422,20 @@ ] }, { - "name": "List", - "description": "Gets an array of system schemas for a metastore.\nThe caller must be an account admin or a metastore admin.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 system schemas.", - "path": "/api/2.1/unity-catalog/metastores/{metastore_id}/systemschemas", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get vector search endpoint permission levels.", + "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}/permissionLevels", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSystemSchemasRequest", + "pascal_name": "GetVectorSearchEndpointPermissionLevelsRequest", "is_object": true, "required_fields": [ { - "name": "metastore_id", - "description": "The ID for the metastore in which the system schema resides.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -194253,8 +203445,8 @@ ], "required_in_url_fields": [ { - "name": "metastore_id", - "description": "The ID for the metastore in which the system schema resides.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -194264,155 +203456,87 @@ ] }, "response": { - "pascal_name": "ListSystemSchemasResponse", + "pascal_name": "GetVectorSearchEndpointPermissionLevelsResponse", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Maximum number of schemas to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the schemas are returned (not recommended).", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "metastore_id", - "description": "The ID for the metastore in which the system schema resides.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "metastore_id", - "description": "The ID for the metastore in which the system schema resides.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - }, - "max_results": { - "name": "max_results", - "description": "Maximum number of schemas to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the schemas are returned (not recommended).", - "is_query": true, - "entity": { - "is_int": true - } - } - } - } - ] - }, - { - "id": "catalog.TableConstraints", - "name": "TableConstraints", - "description": "Primary key and foreign key constraints encode relationships between fields in tables.\n\nPrimary and foreign keys are informational only and are not enforced. Foreign keys must reference a primary key in another table.\nThis primary key is the parent constraint of the foreign key, and the table this primary key is on is the parent table of the foreign key.\nSimilarly, the foreign key is the child constraint of its referenced primary key. The table of the foreign key is the child table of the primary key.\n\nYou can declare primary keys and foreign keys as part of the table specification during table creation.\nYou can also add or drop constraints on existing tables.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + ] + }, { - "name": "Create", - "description": "Creates a new table constraint.\n\nFor the table constraint creation to succeed, the user must satisfy both of these conditions:\n- the user must have the **USE_CATALOG** privilege on the table's parent catalog,\nthe **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table.\n- if the new constraint is a __ForeignKeyConstraint__,\nthe user must have the **USE_CATALOG** privilege on the referenced parent table's catalog,\nthe **USE_SCHEMA** privilege on the referenced parent table's schema,\nand be the owner of the referenced parent table.", - "summary": "Create a table constraint.", - "path": "/api/2.1/unity-catalog/constraints", - "can_use_json": true, - "must_use_json": true, - "is_crud_create": true, + "name": "GetPermissions", + "description": "Gets the permissions of a vector search endpoint. Vector search endpoints can inherit permissions from their root object.", + "summary": "Get vector search endpoint permissions.", + "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}", + "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateTableConstraint", + "pascal_name": "GetVectorSearchEndpointPermissionsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "full_name_arg", - "description": "The full name of the table referenced by the constraint.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "constraint", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TableConstraint", - "is_object": true - } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "full_name_arg", - "description": "The full name of the table referenced by the constraint.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "constraint", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TableConstraint", - "is_object": true - } } ] }, "response": { - "pascal_name": "TableConstraint", + "pascal_name": "VectorSearchEndpointPermissions", "is_object": true }, "all_fields": [ { - "name": "constraint", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "TableConstraint", - "is_object": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "full_name_arg", - "description": "The full name of the table referenced by the constraint.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -194420,518 +203544,146 @@ ] }, { - "name": "Delete", - "description": "Deletes a table constraint.\n\nFor the table constraint deletion to succeed, the user must satisfy both of these conditions:\n- the user must have the **USE_CATALOG** privilege on the table's parent catalog,\nthe **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table.\n- if __cascade__ argument is **true**, the user must have the following permissions on all of the child tables:\nthe **USE_CATALOG** privilege on the table's catalog,\nthe **USE_SCHEMA** privilege on the table's schema,\nand be the owner of the table.", - "summary": "Delete a table constraint.", - "path": "/api/2.1/unity-catalog/constraints/{full_name}", + "name": "ListEndpoints", + "description": "List all AI Search endpoints in the workspace.", + "summary": "List all endpoints.", + "path": "/api/2.0/vector-search/endpoints", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteTableConstraintRequest", - "is_object": true, - "required_fields": [ - { - "name": "full_name", - "description": "Full name of the table referenced by the constraint.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "constraint_name", - "description": "The name of the constraint to delete.", - "required": true, + "pascal_name": "ListEndpointsRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListEndpointResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_token", + "description": "Token for pagination", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Token for pagination", "is_query": true, "entity": { "is_string": true } - }, + } + } + } + }, + { + "name": "PatchEndpoint", + "description": "Update an endpoint", + "summary": "Update an endpoint.", + "path": "/api/2.0/vector-search/endpoints/{endpoint_name}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", + "request": { + "pascal_name": "PatchEndpointRequest", + "is_object": true, + "required_fields": [ { - "name": "cascade", - "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } } ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the table referenced by the constraint.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "constraint_name", - "description": "The name of the constraint to delete.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "cascade", - "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", - "required": true, - "is_query": true, - "entity": { - "is_bool": true - } } ] }, "response": { - "pascal_name": "DeleteTableConstraintResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "EndpointInfo", + "is_object": true }, "all_fields": [ { - "name": "cascade", - "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", - "required": true, - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "constraint_name", - "description": "The name of the constraint to delete.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "full_name", - "description": "Full name of the table referenced by the constraint.", - "required": true, - "is_path": true, + "name": "target_qps", + "description": "Target QPS for the endpoint. Best-effort; the system does not guarantee this QPS\nwill be achieved.", + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the table referenced by the constraint.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "constraint_name", - "description": "The name of the constraint to delete.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "cascade", - "description": "If true, try deleting all child constraints of the current constraint.\nIf false, reject this operation if the current constraint has any child constraints.", - "required": true, - "is_query": true, - "entity": { - "is_bool": true - } } ] - } - ] - }, - { - "id": "catalog.Tables", - "name": "Tables", - "description": "A table resides in the third layer of Unity Catalog’s three-level namespace. It contains\nrows of data. To create a table, users must have CREATE_TABLE and USE_SCHEMA permissions on the schema,\nand they must have the USE_CATALOG permission on its parent catalog. To query a table, users must\nhave the SELECT permission on the table, and they must have the USE_CATALOG permission on its\nparent catalog and the USE_SCHEMA permission on its parent schema.\n\nA table can be managed or external.\nFrom an API perspective, a __VIEW__ is a particular kind of table (rather than a managed or external table).", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListTablesRequest" - } - }, - "methods": [ + }, { - "name": "Create", - "description": "Creates a new table in the specified catalog and schema.\n\nTo create an external delta table, the caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema\nand the **EXTERNAL_USE_LOCATION** privilege on the external location. These privileges must always be granted explicitly,\nand cannot be inherited through ownership or **ALL_PRIVILEGES**.\n\nStandard UC permissions needed to create tables still apply: **USE_CATALOG** on the parent catalog (or ownership of\nthe parent catalog), **CREATE_TABLE** and **USE_SCHEMA** on the parent schema (or ownership of the parent schema),\nand **CREATE_EXTERNAL_TABLE** on external location.\n\nThe **columns** field needs to be in a Spark compatible format, so we recommend you use Spark to create these tables.\nThe API itself does not validate the correctness of the column spec. If the spec is not Spark compatible,\nthe tables may not be readable by Databricks Runtime.\n\nNOTE: The Create Table API for external clients only supports creating **external delta tables**. The values shown\nin the respective enums are all values supported by Databricks, however for this specific Create Table API,\nonly **table_type** **EXTERNAL** and **data_source_format** **DELTA** are supported. Additionally, column masks\nare not supported when creating tables through this API.", - "summary": "Create a table.", - "path": "/api/2.1/unity-catalog/tables", + "name": "RetrieveUserVisibleMetrics", + "description": "Retrieve user-visible metrics for an endpoint", + "summary": "Retrieve user-visible metrics for an endpoint.", + "path": "/api/2.0/vector-search/endpoints/{name}/metrics", "can_use_json": true, - "is_crud_create": true, + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateTableRequest", + "pascal_name": "RetrieveUserVisibleMetricsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "Name of table, relative to parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "Name of parent schema relative to its parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TableType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "EXTERNAL_SHALLOW_CLONE" - }, - { - "content": "FOREIGN" - }, - { - "content": "MANAGED" - }, - { - "content": "MANAGED_SHALLOW_CLONE" - }, - { - "content": "MATERIALIZED_VIEW" - }, - { - "content": "METRIC_VIEW" - }, - { - "content": "STREAMING_TABLE" - }, - { - "content": "VIEW" - } - ] - } - }, - { - "name": "data_source_format", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataSourceFormat", - "enum": [ - { - "content": "AVRO" - }, - { - "content": "BIGQUERY_FORMAT" - }, - { - "content": "CSV" - }, - { - "content": "DATABRICKS_FORMAT" - }, - { - "content": "DATABRICKS_ROW_STORE_FORMAT" - }, - { - "content": "DELTA" - }, - { - "content": "DELTASHARING" - }, - { - "content": "DELTA_UNIFORM_HUDI" - }, - { - "content": "DELTA_UNIFORM_ICEBERG" - }, - { - "content": "HIVE" - }, - { - "content": "ICEBERG" - }, - { - "content": "JSON" - }, - { - "content": "MONGODB_FORMAT" - }, - { - "content": "MYSQL_FORMAT" - }, - { - "content": "NETSUITE_FORMAT" - }, - { - "content": "ORACLE_FORMAT" - }, - { - "content": "ORC" - }, - { - "content": "PARQUET" - }, - { - "content": "POSTGRESQL_FORMAT" - }, - { - "content": "REDSHIFT_FORMAT" - }, - { - "content": "SALESFORCE_DATA_CLOUD_FORMAT" - }, - { - "content": "SALESFORCE_FORMAT" - }, - { - "content": "SNOWFLAKE_FORMAT" - }, - { - "content": "SQLDW_FORMAT" - }, - { - "content": "SQLSERVER_FORMAT" - }, - { - "content": "TERADATA_FORMAT" - }, - { - "content": "TEXT" - }, - { - "content": "UNITY_CATALOG" - }, - { - "content": "VECTOR_INDEX_FORMAT" - }, - { - "content": "WORKDAY_RAAS_FORMAT" - } - ] - } - }, - { - "name": "storage_location", - "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", + "description": "AI Search endpoint name", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { "name": "name", - "description": "Name of table, relative to parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "Name of parent schema relative to its parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TableType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "EXTERNAL_SHALLOW_CLONE" - }, - { - "content": "FOREIGN" - }, - { - "content": "MANAGED" - }, - { - "content": "MANAGED_SHALLOW_CLONE" - }, - { - "content": "MATERIALIZED_VIEW" - }, - { - "content": "METRIC_VIEW" - }, - { - "content": "STREAMING_TABLE" - }, - { - "content": "VIEW" - } - ] - } - }, - { - "name": "data_source_format", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataSourceFormat", - "enum": [ - { - "content": "AVRO" - }, - { - "content": "BIGQUERY_FORMAT" - }, - { - "content": "CSV" - }, - { - "content": "DATABRICKS_FORMAT" - }, - { - "content": "DATABRICKS_ROW_STORE_FORMAT" - }, - { - "content": "DELTA" - }, - { - "content": "DELTASHARING" - }, - { - "content": "DELTA_UNIFORM_HUDI" - }, - { - "content": "DELTA_UNIFORM_ICEBERG" - }, - { - "content": "HIVE" - }, - { - "content": "ICEBERG" - }, - { - "content": "JSON" - }, - { - "content": "MONGODB_FORMAT" - }, - { - "content": "MYSQL_FORMAT" - }, - { - "content": "NETSUITE_FORMAT" - }, - { - "content": "ORACLE_FORMAT" - }, - { - "content": "ORC" - }, - { - "content": "PARQUET" - }, - { - "content": "POSTGRESQL_FORMAT" - }, - { - "content": "REDSHIFT_FORMAT" - }, - { - "content": "SALESFORCE_DATA_CLOUD_FORMAT" - }, - { - "content": "SALESFORCE_FORMAT" - }, - { - "content": "SNOWFLAKE_FORMAT" - }, - { - "content": "SQLDW_FORMAT" - }, - { - "content": "SQLSERVER_FORMAT" - }, - { - "content": "TERADATA_FORMAT" - }, - { - "content": "TEXT" - }, - { - "content": "UNITY_CATALOG" - }, - { - "content": "VECTOR_INDEX_FORMAT" - }, - { - "content": "WORKDAY_RAAS_FORMAT" - } - ] - } - }, - { - "name": "storage_location", - "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", + "description": "AI Search endpoint name", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -194939,397 +203691,92 @@ ] }, "response": { - "pascal_name": "TableInfo", + "pascal_name": "RetrieveUserVisibleMetricsResponse", "is_object": true }, "all_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, + "name": "end_time", + "description": "End time for metrics query", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "columns", - "description": "The array of __ColumnInfo__ definitions of the table's columns.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ColumnInfoList", - "array_value": { - "pascal_name": "ColumnInfo", - "is_object": true - } - } - }, - { - "name": "data_source_format", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataSourceFormat", - "enum": [ - { - "content": "AVRO" - }, - { - "content": "BIGQUERY_FORMAT" - }, - { - "content": "CSV" - }, - { - "content": "DATABRICKS_FORMAT" - }, - { - "content": "DATABRICKS_ROW_STORE_FORMAT" - }, - { - "content": "DELTA" - }, - { - "content": "DELTASHARING" - }, - { - "content": "DELTA_UNIFORM_HUDI" - }, - { - "content": "DELTA_UNIFORM_ICEBERG" - }, - { - "content": "HIVE" - }, - { - "content": "ICEBERG" - }, - { - "content": "JSON" - }, - { - "content": "MONGODB_FORMAT" - }, - { - "content": "MYSQL_FORMAT" - }, - { - "content": "NETSUITE_FORMAT" - }, - { - "content": "ORACLE_FORMAT" - }, - { - "content": "ORC" - }, - { - "content": "PARQUET" - }, - { - "content": "POSTGRESQL_FORMAT" - }, - { - "content": "REDSHIFT_FORMAT" - }, - { - "content": "SALESFORCE_DATA_CLOUD_FORMAT" - }, - { - "content": "SALESFORCE_FORMAT" - }, - { - "content": "SNOWFLAKE_FORMAT" - }, - { - "content": "SQLDW_FORMAT" - }, - { - "content": "SQLSERVER_FORMAT" - }, - { - "content": "TERADATA_FORMAT" - }, - { - "content": "TEXT" - }, - { - "content": "UNITY_CATALOG" - }, - { - "content": "VECTOR_INDEX_FORMAT" - }, - { - "content": "WORKDAY_RAAS_FORMAT" - } - ] - } - }, - { - "name": "name", - "description": "Name of table, relative to parent schema.", - "required": true, + "name": "granularity_in_seconds", + "description": "Granularity in seconds", "is_request_body_field": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "properties", - "description": "A map of key-value properties attached to the securable.", + "name": "metrics", + "description": "List of metrics to retrieve", "is_request_body_field": true, "entity": { - "map_value": { - "is_string": true + "pascal_name": "MetricList", + "array_value": { + "pascal_name": "Metric", + "is_object": true } } }, - { - "name": "schema_name", - "description": "Name of parent schema relative to its parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "storage_location", - "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "table_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TableType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "EXTERNAL_SHALLOW_CLONE" - }, - { - "content": "FOREIGN" - }, - { - "content": "MANAGED" - }, - { - "content": "MANAGED_SHALLOW_CLONE" - }, - { - "content": "MATERIALIZED_VIEW" - }, - { - "content": "METRIC_VIEW" - }, - { - "content": "STREAMING_TABLE" - }, - { - "content": "VIEW" - } - ] - } - } - ], - "required_positional_arguments": [ { "name": "name", - "description": "Name of table, relative to parent schema.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "catalog_name", - "description": "Name of parent catalog.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "schema_name", - "description": "Name of parent schema relative to its parent catalog.", + "description": "AI Search endpoint name", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "table_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TableType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "EXTERNAL_SHALLOW_CLONE" - }, - { - "content": "FOREIGN" - }, - { - "content": "MANAGED" - }, - { - "content": "MANAGED_SHALLOW_CLONE" - }, - { - "content": "MATERIALIZED_VIEW" - }, - { - "content": "METRIC_VIEW" - }, - { - "content": "STREAMING_TABLE" - }, - { - "content": "VIEW" - } - ] - } - }, - { - "name": "data_source_format", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "DataSourceFormat", - "enum": [ - { - "content": "AVRO" - }, - { - "content": "BIGQUERY_FORMAT" - }, - { - "content": "CSV" - }, - { - "content": "DATABRICKS_FORMAT" - }, - { - "content": "DATABRICKS_ROW_STORE_FORMAT" - }, - { - "content": "DELTA" - }, - { - "content": "DELTASHARING" - }, - { - "content": "DELTA_UNIFORM_HUDI" - }, - { - "content": "DELTA_UNIFORM_ICEBERG" - }, - { - "content": "HIVE" - }, - { - "content": "ICEBERG" - }, - { - "content": "JSON" - }, - { - "content": "MONGODB_FORMAT" - }, - { - "content": "MYSQL_FORMAT" - }, - { - "content": "NETSUITE_FORMAT" - }, - { - "content": "ORACLE_FORMAT" - }, - { - "content": "ORC" - }, - { - "content": "PARQUET" - }, - { - "content": "POSTGRESQL_FORMAT" - }, - { - "content": "REDSHIFT_FORMAT" - }, - { - "content": "SALESFORCE_DATA_CLOUD_FORMAT" - }, - { - "content": "SALESFORCE_FORMAT" - }, - { - "content": "SNOWFLAKE_FORMAT" - }, - { - "content": "SQLDW_FORMAT" - }, - { - "content": "SQLSERVER_FORMAT" - }, - { - "content": "TERADATA_FORMAT" - }, - { - "content": "TEXT" - }, - { - "content": "UNITY_CATALOG" - }, - { - "content": "VECTOR_INDEX_FORMAT" - }, - { - "content": "WORKDAY_RAAS_FORMAT" - } - ] - } - }, - { - "name": "storage_location", - "description": "Storage root URL for table (for **MANAGED**, **EXTERNAL** tables).", - "required": true, + "name": "page_token", + "description": "Token for pagination", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "start_time", + "description": "Start time for metrics query", "is_request_body_field": true, "entity": { "is_string": true } } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "AI Search endpoint name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } ] }, { - "name": "Delete", - "description": "Deletes a table from the specified parent catalog and schema.\nThe caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema,\nor be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.", - "summary": "Delete a table.", - "path": "/api/2.1/unity-catalog/tables/{full_name}", + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set vector search endpoint permissions.", + "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteTableRequest", + "pascal_name": "VectorSearchEndpointPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -195339,8 +203786,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -195350,14 +203797,24 @@ ] }, "response": { - "pascal_name": "DeleteResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "VectorSearchEndpointPermissions", + "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "VectorSearchEndpointAccessControlRequestList", + "array_value": { + "pascal_name": "VectorSearchEndpointAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -195367,8 +203824,8 @@ ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -195378,48 +203835,80 @@ ] }, { - "name": "Exists", - "description": "Gets if a table exists in the metastore for a specific catalog and schema.\nThe caller must satisfy one of the following requirements:\n* Be a metastore admin\n* Be the owner of the parent catalog\n* Be the owner of the parent schema and have the **USE_CATALOG** privilege on the parent catalog\n* Have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema,\nand either be the table owner or have the **SELECT** privilege on the table.\n* Have **BROWSE** privilege on the parent catalog\n* Have **BROWSE** privilege on the parent schema", - "summary": "Get boolean reflecting if table exists.", - "path": "/api/2.1/unity-catalog/tables/{full_name}/exists", - "is_crud_read": true, + "name": "UpdateEndpointBudgetPolicy", + "description": "Update the budget policy of an endpoint", + "summary": "Update the budget policy of an endpoint.", + "path": "/api/2.0/vector-search/endpoints/{endpoint_name}/budget-policy", + "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PUBLIC_PREVIEW", + "cli_launch_stage_label": "*Public Preview*", + "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", + "cli_launch_stage_display": "Public Preview", "request": { - "pascal_name": "ExistsRequest", + "pascal_name": "PatchEndpointBudgetPolicyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "budget_policy_id", + "description": "The budget policy id to be applied", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "budget_policy_id", + "description": "The budget policy id to be applied", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } ] }, "response": { - "pascal_name": "TableExistsResponse", + "pascal_name": "PatchEndpointBudgetPolicyResponse", "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "budget_policy_id", + "description": "The budget policy id to be applied", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { @@ -195429,94 +203918,196 @@ ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "budget_policy_id", + "description": "The budget policy id to be applied", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } } ] }, { - "name": "Get", - "description": "Gets a table from the metastore for a specific catalog and schema.\nThe caller must satisfy one of the following requirements:\n* Be a metastore admin\n* Be the owner of the parent catalog\n* Be the owner of the parent schema and have the **USE_CATALOG** privilege on the parent catalog\n* Have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema,\nand either be the table owner or have the **SELECT** privilege on the table.", - "summary": "Get a table.", - "path": "/api/2.1/unity-catalog/tables/{full_name}", - "is_crud_read": true, + "name": "UpdateEndpointCustomTags", + "description": "Update the custom tags of an endpoint.", + "summary": "Update the custom tags of an endpoint.", + "path": "/api/2.0/vector-search/endpoints/{endpoint_name}/tags", + "can_use_json": true, + "must_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetTableRequest", + "pascal_name": "UpdateEndpointCustomTagsRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "custom_tags", + "description": "The new custom tags for the AI Search endpoint", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CustomTagList", + "array_value": { + "pascal_name": "CustomTag", + "is_object": true + } + } } ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "custom_tags", + "description": "The new custom tags for the AI Search endpoint", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CustomTagList", + "array_value": { + "pascal_name": "CustomTag", + "is_object": true + } + } + } ] }, "response": { - "pascal_name": "TableInfo", + "pascal_name": "UpdateEndpointCustomTagsResponse", "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "custom_tags", + "description": "The new custom tags for the AI Search endpoint", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "CustomTagList", + "array_value": { + "pascal_name": "CustomTag", + "is_object": true + } + } + }, + { + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "include_browse", - "description": "Whether to include tables in the response for which the principal can only access selective metadata for.", - "is_query": true, + "name": "endpoint_name", + "description": "Name of the AI Search endpoint", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } - }, + } + ] + }, + { + "name": "UpdatePermissions", + "description": "Updates the permissions on a vector search endpoint. Vector search endpoints can inherit permissions from their root object.", + "summary": "Update vector search endpoint permissions.", + "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "VectorSearchEndpointPermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "VectorSearchEndpointPermissions", + "is_object": true + }, + "all_fields": [ { - "name": "include_delta_metadata", - "description": "Whether delta metadata should be included in the response.", - "is_query": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "VectorSearchEndpointAccessControlRequestList", + "array_value": { + "pascal_name": "VectorSearchEndpointAccessControlRequest", + "is_object": true + } } }, { - "name": "include_manifest_capabilities", - "description": "Whether to include a manifest containing table capabilities in the response.", - "is_query": true, + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "endpoint_id", + "description": "The vector search endpoint for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -195524,134 +204115,213 @@ } } ] - }, + } + ] + }, + { + "id": "vectorsearch.VectorSearchIndexes", + "name": "VectorSearchIndexes", + "description": "**Index**: An efficient representation of your embedding vectors that supports real-time and\nefficient approximate nearest neighbor (ANN) search queries.\n\nThere are 2 types of AI Search indexes:\n- **Delta Sync Index**: An index that automatically syncs with a source Delta Table, automatically\nand incrementally updating the index as the underlying data in the Delta Table changes.\n- **Direct Vector Access Index**: An index that supports direct read and write of vectors and metadata\nthrough our REST and SDK APIs. With this model, the user manages index updates.", + "package": { + "name": "vectorsearch" + }, + "docs_group": "vectorsearch", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListIndexesRequest" + } + }, + "methods": [ { - "name": "List", - "description": "Gets an array of all tables for the current metastore under the parent catalog and schema.\nThe caller must be a metastore admin or an owner of (or have the **SELECT** privilege on) the table.\nFor the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.\nThere is no guarantee of a specific ordering of the elements in the array.\n\nNOTE: **view_dependencies** and **table_constraints** are not returned by ListTables queries.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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 tables.", - "path": "/api/2.1/unity-catalog/tables", + "name": "CreateIndex", + "description": "Create a new index.", + "summary": "Create an index.", + "path": "/api/2.0/vector-search/indexes", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListTablesRequest", + "pascal_name": "CreateVectorIndexRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "name", + "description": "Name of the index", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Parent schema of tables.", + "name": "endpoint_name", + "description": "Name of the endpoint to be used for serving the index", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "primary_key", + "description": "Primary key of the index", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "index_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "VectorIndexType", + "enum": [ + { + "content": "DELTA_SYNC" + }, + { + "content": "DIRECT_ACCESS" + } + ] + } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "name", + "description": "Name of the index", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Parent schema of tables.", + "name": "endpoint_name", + "description": "Name of the endpoint to be used for serving the index", "required": true, - "is_query": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "primary_key", + "description": "Primary key of the index", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "index_type", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "VectorIndexType", + "enum": [ + { + "content": "DELTA_SYNC" + }, + { + "content": "DIRECT_ACCESS" + } + ] + } } ] }, "response": { - "pascal_name": "ListTablesResponse", + "pascal_name": "VectorIndex", "is_object": true }, "all_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "include_browse", - "description": "Whether to include tables in the response for which the principal can only access selective metadata for.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "include_manifest_capabilities", - "description": "Whether to include a manifest containing table capabilities in the response.", - "is_query": true, + "name": "delta_sync_index_spec", + "description": "Specification for Delta Sync Index. Required if `index_type` is `DELTA_SYNC`.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_bool": true + "pascal_name": "DeltaSyncVectorIndexSpecRequest", + "is_object": true } }, { - "name": "max_results", - "description": "Maximum number of tables to return.\nIf not set, all the tables are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", - "is_query": true, + "name": "direct_access_index_spec", + "description": "Specification for Direct Vector Access Index. Required if `index_type` is `DIRECT_ACCESS`.", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int": true + "pascal_name": "DirectAccessVectorIndexSpec", + "is_object": true } }, { - "name": "omit_columns", - "description": "Whether to omit the columns of the table from the response or not.", - "is_query": true, + "name": "endpoint_name", + "description": "Name of the endpoint to be used for serving the index", + "required": true, + "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "omit_properties", - "description": "Whether to omit the properties of the table from the response or not.", - "is_query": true, + "name": "index_subtype", + "description": "The subtype of the index. Use `HYBRID` or `FULL_TEXT`. `VECTOR` is not supported.", + "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "IndexSubtype", + "enum": [ + { + "content": "FULL_TEXT" + }, + { + "content": "HYBRID" + }, + { + "content": "VECTOR" + } + ] } }, { - "name": "omit_username", - "description": "Whether to omit the username of the table (e.g. owner, updated_by, created_by) from the response or not.", - "is_query": true, + "name": "index_type", + "required": true, + "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "VectorIndexType", + "enum": [ + { + "content": "DELTA_SYNC" + }, + { + "content": "DIRECT_ACCESS" + } + ] } }, { - "name": "page_token", - "description": "Opaque token to send for the next page of results (pagination).", - "is_query": true, + "name": "name", + "description": "Name of the index", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Parent schema of tables.", + "name": "primary_key", + "description": "Primary key of the index", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -195659,129 +204329,194 @@ ], "required_positional_arguments": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "name", + "description": "Name of the index", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "Parent schema of tables.", + "name": "endpoint_name", + "description": "Name of the endpoint to be used for serving the index", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque token to send for the next page of results (pagination).", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "primary_key", + "description": "Primary key of the index", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } }, - "max_results": { - "name": "max_results", - "description": "Maximum number of tables to return.\nIf not set, all the tables are returned (not recommended).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- when set to 0, the page length is set to a server configured value (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", - "is_query": true, + { + "name": "index_type", + "required": true, + "is_request_body_field": true, "entity": { - "is_int": true + "pascal_name": "VectorIndexType", + "enum": [ + { + "content": "DELTA_SYNC" + }, + { + "content": "DIRECT_ACCESS" + } + ] } } - } + ] }, { - "name": "ListSummaries", - "description": "Gets an array of summaries for tables for a schema and catalog within the metastore. The table summaries returned are either:\n\n* summaries for tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or:\n* summaries for tables and schemas (within the current metastore and parent catalog)\nfor which the user has ownership or the **SELECT** privilege on the table and ownership or **USE_SCHEMA** privilege on the schema,\nprovided that the user also has ownership or the **USE_CATALOG** privilege on the parent catalog.\n\nThere is no guarantee of a specific ordering of the elements in the array.\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 table summaries.", - "path": "/api/2.1/unity-catalog/table-summaries", + "name": "DeleteDataVectorIndex", + "description": "Handles the deletion of data from a specified vector index.", + "summary": "Delete data from index.", + "path": "/api/2.0/vector-search/indexes/{index_name}/delete-data", + "can_use_json": true, + "must_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListSummariesRequest", + "pascal_name": "DeleteDataVectorIndexRequest", "is_object": true, "required_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "index_name", + "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "primary_keys", + "description": "List of primary keys for the data to be deleted.", + "required": true, + "is_query": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ], "required_in_url_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "index_name", + "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } + }, + { + "name": "primary_keys", + "description": "List of primary keys for the data to be deleted.", + "required": true, + "is_query": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } } ] }, "response": { - "pascal_name": "ListTableSummariesResponse", + "pascal_name": "DeleteDataVectorIndexResponse", "is_object": true }, "all_fields": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "index_name", + "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "include_manifest_capabilities", - "description": "Whether to include a manifest containing table capabilities in the response.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Maximum number of summaries for tables to return.\nIf not set, the page length is set to a server configured value (10000, as of 1/5/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 1/5/2024);\n- when set to 0, the page length is set to a server configured value (10000, as of 1/5/2024) (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;", + "name": "primary_keys", + "description": "List of primary keys for the data to be deleted.", + "required": true, "is_query": true, "entity": { - "is_int": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, + "name": "index_name", + "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "schema_name_pattern", - "description": "A sql LIKE pattern (% and _) for schema names.\nAll schemas will be returned if not set or empty.", - "is_query": true, - "entity": { - "is_string": true + } + ] + }, + { + "name": "DeleteIndex", + "description": "Delete an index.", + "summary": "Delete an index.", + "path": "/api/2.0/vector-search/indexes/{index_name}", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "DeleteIndexRequest", + "is_object": true, + "required_fields": [ + { + "name": "index_name", + "description": "Name of the index", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, + ], + "required_in_url_fields": [ + { + "name": "index_name", + "description": "Name of the index", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "DeleteIndexResponse", + "is_object": true, + "is_empty_response": true + }, + "all_fields": [ { - "name": "table_name_pattern", - "description": "A sql LIKE pattern (% and _) for table names.\nAll tables will be returned if not set or empty.", - "is_query": true, + "name": "index_name", + "description": "Name of the index", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -195789,45 +204524,32 @@ ], "required_positional_arguments": [ { - "name": "catalog_name", - "description": "Name of parent catalog for tables of interest.", + "name": "index_name", + "description": "Name of the index", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + ] }, { - "name": "Update", - "description": "Change the owner of the table.\nThe caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema,\nor be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.", - "summary": "Update a table owner.", - "path": "/api/2.1/unity-catalog/tables/{full_name}", - "can_use_json": true, - "is_hidden_cli": true, + "name": "GetIndex", + "description": "Get an index.", + "summary": "Get an index.", + "path": "/api/2.0/vector-search/indexes/{index_name}", + "is_crud_read": true, "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateTableRequest", + "pascal_name": "GetIndexRequest", "is_object": true, "required_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "index_name", + "description": "Name of the index", "required": true, "is_path": true, "entity": { @@ -195837,8 +204559,8 @@ ], "required_in_url_fields": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "index_name", + "description": "Name of the index", "required": true, "is_path": true, "entity": { @@ -195848,24 +204570,23 @@ ] }, "response": { - "pascal_name": "UpdateResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "VectorIndex", + "is_object": true }, "all_fields": [ { - "name": "full_name", - "description": "Full name of the table.", - "required": true, - "is_path": true, + "name": "ensure_reranker_compatible", + "description": "If true, the URL returned for the index is guaranteed to be compatible with the reranker.\nCurrently this means we return the CP URL regardless of how the index is being accessed.\nIf not set or set to false, the URL may still be compatible with the reranker depending on\nwhat URL we return.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "owner", - "description": "Username of current owner of table.", - "is_request_body_field": true, + "name": "index_name", + "description": "Name of the index", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -195873,8 +204594,8 @@ ], "required_positional_arguments": [ { - "name": "full_name", - "description": "Full name of the table.", + "name": "index_name", + "description": "Name of the index", "required": true, "is_path": true, "entity": { @@ -195882,101 +204603,131 @@ } } ] - } - ] - }, - { - "id": "tags.TagPolicies", - "name": "TagPolicies", - "description": "The Tag Policy API allows you to manage policies for governed tags in Databricks. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy). Permissions for tag policies can be managed using the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", - "package": { - "name": "tags" - }, - "docs_group": "tags", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListTagPoliciesRequest" - } - }, - "methods": [ + }, { - "name": "CreateTagPolicy", - "description": "Creates a new tag policy, making the associated tag key governed. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy). To manage permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", - "summary": "Create a new tag policy.", - "path": "/api/2.1/tag-policies", - "can_use_json": true, - "is_crud_create": true, + "name": "ListIndexes", + "description": "List all indexes in the given endpoint.", + "summary": "List indexes.", + "path": "/api/2.0/vector-search/indexes", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateTagPolicyRequest", + "pascal_name": "ListIndexesRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "tag_policy", + "name": "endpoint_name", + "description": "Name of the endpoint", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "TagPolicy", - "is_object": true + "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "tag_policy", + "name": "endpoint_name", + "description": "Name of the endpoint", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { - "pascal_name": "TagPolicy", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "tag_policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TagPolicy", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } + "response": { + "pascal_name": "ListVectorIndexesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "endpoint_name", + "description": "Name of the endpoint", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "page_token", + "description": "Token for pagination", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "endpoint_name", + "description": "Name of the endpoint", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Token for pagination", + "is_query": true, + "entity": { + "is_string": true } - ] + } } - }, - "response": { - "pascal_name": "TagPolicy", + } + }, + { + "name": "QueryIndex", + "description": "Query the specified vector index.", + "summary": "Query an index.", + "path": "/api/2.0/vector-search/indexes/{index_name}/query", + "can_use_json": true, + "must_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "QueryVectorIndexRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to query.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "columns", + "description": "List of column names to include in the response.", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + } + ], + "required_in_url_fields": [ + { + "name": "index_name", + "description": "Name of the vector index to query.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -195984,104 +204735,157 @@ ], "required_request_body_fields": [ { - "name": "tag_key", + "name": "columns", + "description": "List of column names to include in the response.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_string": true + } } } ] }, + "response": { + "pascal_name": "QueryVectorIndexResponse", + "is_object": true + }, "all_fields": [ { - "name": "tag_policy", + "name": "columns", + "description": "List of column names to include in the response.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagPolicy", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "columns_to_rerank", + "description": "Column names used to retrieve data to send to the reranker.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "facets", + "description": "Facets to compute over the matched results. Each entry has one of these forms:\n`\"\u003ccolumn\u003e\"` - top 10 distinct values by count\n`\"\u003ccolumn\u003e TOP \u003cn\u003e\"` - top n distinct values, where n \u003e 0\n`\"\u003ccolumn\u003e BUCKETS [[from,to],...]\"` - inclusive numeric ranges\n`TOP` and `BUCKETS` are case-insensitive. A column may appear at most once.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } + } + }, + { + "name": "filters_json", + "description": "JSON string representing query filters.\n\nExample filters:\n\n- `{\"id \u003c\": 5}`: Filter for id less than 5.\n- `{\"id \u003e\": 5}`: Filter for id greater than 5.\n- `{\"id \u003c=\": 5}`: Filter for id less than equal to 5.\n- `{\"id \u003e=\": 5}`: Filter for id greater than equal to 5.\n- `{\"id\": 5}`: Filter for id equal to 5.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "index_name", + "description": "Name of the vector index to query.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "num_results", + "description": "Number of results to return. Defaults to 10.", + "is_request_body_field": true, + "entity": { + "is_int": true + } + }, + { + "name": "query_columns", + "description": "Text columns to search for `query_text`. When empty, all text columns are searched.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_string": true + } } }, { - "name": "create_time", - "description": "Timestamp when the tag policy was created", - "is_output_only": true, + "name": "query_text", + "description": "Query text. Required for Delta Sync Index using model endpoint.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "description", + "name": "query_type", + "description": "The query type to use. Choices are `ANN` and `HYBRID` and `FULL_TEXT`. Defaults to `ANN`.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "id", - "is_output_only": true, + "name": "query_vector", + "description": "Query vector. Required for Direct Vector Access Index and Delta Sync Index using self-managed vectors.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "List", + "array_value": { + "is_float64": true + } } }, { - "name": "tag_key", - "required": true, + "name": "reranker", + "description": "If set, the top 50 results are reranked with the Databricks Reranker model before returning the `num_results` results to the user.\nThe setting `columns_to_rerank` selects which columns are used for reranking. For each datapoint, the columns selected are concatenated before\nbeing sent to the reranking model. See https://docs.databricks.com/aws/en/vector-search/query-vector-search#rerank for more information.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "RerankerConfig", + "is_object": true } }, { - "name": "update_time", - "description": "Timestamp when the tag policy was last updated", - "is_output_only": true, + "name": "score_threshold", + "description": "Threshold for the approximate nearest neighbor search. Defaults to 0.0.", "is_request_body_field": true, "entity": { - "is_string": true + "is_float64": true } }, { - "name": "values", + "name": "sort_columns", + "description": "Sort results by column values instead of the default relevance ordering.\nEach clause has the form `\"\u003ccolumn\u003e ASC\"` or `\"\u003ccolumn\u003e DESC\"`, for example\n`[\"rating DESC\", \"price ASC\"]`.", "is_request_body_field": true, "entity": { - "pascal_name": "ValueList", + "pascal_name": "List", "array_value": { - "pascal_name": "Value", - "is_object": true + "is_string": true } } } ], "required_positional_arguments": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to query.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -196089,19 +204893,22 @@ ] }, { - "name": "DeleteTagPolicy", - "description": "Deletes a tag policy by its associated governed tag's key, leaving that tag key ungoverned. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy).", - "summary": "Delete a tag policy.", - "path": "/api/2.1/tag-policies/{tag_key}", + "name": "QueryNextPage", + "description": "Use `next_page_token` returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` request to fetch next page of results.", + "summary": "Query next page.", + "path": "/api/2.0/vector-search/indexes/{index_name}/query-next-page", + "can_use_json": true, + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteTagPolicyRequest", + "pascal_name": "QueryVectorIndexNextPageRequest", "is_object": true, "required_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to query.", "required": true, "is_path": true, "entity": { @@ -196111,7 +204918,8 @@ ], "required_in_url_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to query.", "required": true, "is_path": true, "entity": { @@ -196121,21 +204929,40 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "QueryVectorIndexResponse", + "is_object": true }, "all_fields": [ { - "name": "tag_key", + "name": "endpoint_name", + "description": "Name of the endpoint.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "index_name", + "description": "Name of the vector index to query.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "page_token", + "description": "Page token returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` API.", + "is_request_body_field": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to query.", "required": true, "is_path": true, "entity": { @@ -196145,20 +204972,22 @@ ] }, { - "name": "GetTagPolicy", - "description": "Gets a single tag policy by its associated governed tag's key. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/tag_policy). To list granted permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", - "summary": "Get a tag policy.", - "path": "/api/2.1/tag-policies/{tag_key}", + "name": "ScanIndex", + "description": "Scan the specified vector index and return the first `num_results` entries after the exclusive `primary_key`.", + "summary": "Scan an index.", + "path": "/api/2.0/vector-search/indexes/{index_name}/scan", + "can_use_json": true, "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetTagPolicyRequest", + "pascal_name": "ScanVectorIndexRequest", "is_object": true, "required_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to scan.", "required": true, "is_path": true, "entity": { @@ -196168,7 +204997,8 @@ ], "required_in_url_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to scan.", "required": true, "is_path": true, "entity": { @@ -196178,43 +205008,40 @@ ] }, "response": { - "pascal_name": "TagPolicy", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "ScanVectorIndexResponse", + "is_object": true }, "all_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to scan.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "last_primary_key", + "description": "Primary key of the last entry returned in the previous scan.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "num_results", + "description": "Number of results to return. Defaults to 10.", + "is_request_body_field": true, + "entity": { + "is_int": true + } } ], "required_positional_arguments": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index to scan.", "required": true, "is_path": true, "entity": { @@ -196224,68 +205051,84 @@ ] }, { - "name": "ListTagPolicies", - "description": "Lists the tag policies for all governed tags in the account. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/tag_policies). To list granted permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", - "summary": "List tag policies.", - "path": "/api/2.1/tag-policies", + "name": "SyncIndex", + "description": "Triggers a synchronization process for a specified vector index.", + "summary": "Synchronize an index.", + "path": "/api/2.0/vector-search/indexes/{index_name}/sync", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListTagPoliciesRequest", - "is_object": true + "pascal_name": "SyncIndexRequest", + "is_object": true, + "required_fields": [ + { + "name": "index_name", + "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "index_name", + "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "ListTagPoliciesResponse", - "is_object": true + "pascal_name": "SyncIndexResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "page_size", - "description": "The maximum number of results to return in this request. Fewer results may be returned than requested. If\nunspecified or set to 0, this defaults to 1000. The maximum value is 1000; values above 1000 will be coerced down\nto 1000.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "An optional page token received from a previous list tag policies call.", - "is_query": true, + "name": "index_name", + "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "required": true, + "is_path": true, "entity": { "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "An optional page token received from a previous list tag policies call.", - "is_query": true, - "entity": { - "is_string": true - } + "required_positional_arguments": [ + { + "name": "index_name", + "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "UpdateTagPolicy", - "description": "Updates an existing tag policy for a single governed tag. For Terraform usage, see the [Tag Policy Terraform documentation](https://registry.terraform.io/providers/databricks/databricks/latest/docs/resources/tag_policy). To manage permissions for tag policies, use the [Account Access Control Proxy API](https://docs.databricks.com/api/workspace/accountaccesscontrolproxy).", - "summary": "Update an existing tag policy.", - "path": "/api/2.1/tag-policies/{tag_key}", + "name": "UpsertDataVectorIndex", + "description": "Handles the upserting of data into a specified vector index.", + "summary": "Upsert data into an index.", + "path": "/api/2.0/vector-search/indexes/{index_name}/upsert-data", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateTagPolicyRequest", + "pascal_name": "UpsertDataVectorIndexRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", "required": true, "is_path": true, "entity": { @@ -196293,19 +205136,10 @@ } }, { - "name": "tag_policy", + "name": "inputs_json", + "description": "JSON string representing the data to be upserted.", "required": true, "is_request_body_field": true, - "entity": { - "pascal_name": "TagPolicy", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_query": true, "entity": { "is_string": true } @@ -196313,93 +205147,35 @@ ], "required_in_url_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } } ], "required_request_body_fields": [ { - "name": "tag_policy", + "name": "inputs_json", + "description": "JSON string representing the data to be upserted.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagPolicy", - "is_object": true + "is_string": true } } ] }, - "request_body_field": { - "name": "tag_policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TagPolicy", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, "response": { - "pascal_name": "TagPolicy", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "UpsertDataVectorIndexResponse", + "is_object": true }, "all_fields": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", "required": true, "is_path": true, "entity": { @@ -196407,100 +205183,19 @@ } }, { - "name": "tag_policy", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TagPolicy", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_key", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "create_time", - "description": "Timestamp when the tag policy was created", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "description", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "id", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", + "name": "inputs_json", + "description": "JSON string representing the data to be upserted.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "update_time", - "description": "Timestamp when the tag policy was last updated", - "is_output_only": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "values", - "is_request_body_field": true, - "entity": { - "pascal_name": "ValueList", - "array_value": { - "pascal_name": "Value", - "is_object": true - } - } } ], "required_positional_arguments": [ { - "name": "tag_key", + "name": "index_name", + "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", "required": true, "is_path": true, "entity": { @@ -196508,10 +205203,10 @@ } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "inputs_json", + "description": "JSON string representing the data to be upserted.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -196521,34 +205216,42 @@ ] }, { - "id": "catalog.TemporaryPathCredentials", - "name": "TemporaryPathCredentials", - "description": "Temporary Path Credentials are short-lived, downscoped credentials used to access external cloud storage locations registered in Databricks. These credentials provide secure and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0.\n\nTemporary path credentials ensure that data access is limited in scope and duration, reducing the risk of unauthorized access or misuse. To use the temporary path credentials API, a metastore admin must enable the external_access_enabled flag (off by default) at the metastore level. A user must be granted the EXTERNAL USE LOCATION permission by the external location owner. For requests on existing external tables and external volumes, the user must also be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner.\n\nNote that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for security reasons. Similarly, EXTERNAL USE LOCATION is an external location level permission that can only be granted by the external location owner explicitly and is not included in external location ownership or ALL PRIVILEGES on the external location for security reasons.", + "id": "catalog.Volumes", + "name": "Volumes", + "description": "Volumes are a Unity Catalog (UC) capability for accessing, storing, governing,\norganizing, and processing files. Use cases include running machine learning\non unstructured data such as image, audio, video, or PDF files, organizing data sets\nduring the data exploration stages in data science, working with libraries\nthat require access to the local file system on cluster machines, storing library\nand config files of arbitrary formats such as .whl or .txt centrally\nand providing secure access to those files across workspaces,\nor transforming and querying non-tabular data files in ETL.", "package": { "name": "catalog" }, "docs_group": "catalog", "launch_stage": "GA", "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "VolumeInfoNameToVolumeIdMap" + }, + "request": { + "pascal_name": "ListVolumesRequest" + } + }, "methods": [ { - "name": "GenerateTemporaryPathCredentials", - "description": "Get a short-lived credential for directly accessing cloud storage locations registered in Databricks.\nThe Generate Temporary Path Credentials API is only supported for external storage paths, specifically external\nlocations and external tables. Managed tables are not supported by this API.\nThe metastore must have **external_access_enabled** flag set to true (default false).\nThe caller must have the **EXTERNAL_USE_LOCATION** privilege on the external location; this privilege can only be granted\nby external location owners.\nFor requests on existing external tables, the caller must also have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema;\nthis privilege can only be granted by catalog owners.", - "summary": "Generate a temporary path credential.", - "path": "/api/2.0/unity-catalog/temporary-path-credentials", + "name": "Create", + "description": "Creates a new volume.\n\nThe user could create either an external volume or a managed volume. An external volume\nwill be created in the specified external location, while a managed volume\nwill be located in the default location which is specified by the parent schema,\nor the parent catalog, or the Metastore.\n\nFor the volume creation to succeed, the user must satisfy following conditions:\n- The caller must be a metastore admin, or be the owner of the parent catalog and schema,\nor have the **USE_CATALOG** privilege on the parent catalog\nand the **USE_SCHEMA** privilege on the parent schema.\n- The caller must have **CREATE VOLUME** privilege on the parent schema.\n\nFor an external volume, following conditions also need to satisfy\n- The caller must have **CREATE EXTERNAL VOLUME** privilege on the external location.\n- There are no other tables, nor volumes existing in the specified storage location.\n- The specified storage location is not under the location of other tables, nor volumes,\nor catalogs or schemas.", + "summary": "Create a Volume.", + "path": "/api/2.1/unity-catalog/volumes", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GenerateTemporaryPathCredentialRequest", + "pascal_name": "CreateVolumeRequestContent", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "url", - "description": "URL for path-based access.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the volume are", "required": true, "is_request_body_field": true, "entity": { @@ -196556,21 +205259,36 @@ } }, { - "name": "operation", - "description": "The operation being performed on the path.", + "name": "schema_name", + "description": "The name of the schema where the volume is", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PathOperation", + "is_string": true + } + }, + { + "name": "name", + "description": "The name of the volume", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "volume_type", + "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "VolumeType", "enum": [ { - "content": "PATH_CREATE_TABLE" - }, - { - "content": "PATH_READ" + "content": "EXTERNAL" }, { - "content": "PATH_READ_WRITE" + "content": "MANAGED" } ] } @@ -196578,8 +205296,8 @@ ], "required_request_body_fields": [ { - "name": "url", - "description": "URL for path-based access.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the volume are", "required": true, "is_request_body_field": true, "entity": { @@ -196587,21 +205305,36 @@ } }, { - "name": "operation", - "description": "The operation being performed on the path.", + "name": "schema_name", + "description": "The name of the schema where the volume is", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PathOperation", + "is_string": true + } + }, + { + "name": "name", + "description": "The name of the volume", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "volume_type", + "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "VolumeType", "enum": [ { - "content": "PATH_CREATE_TABLE" - }, - { - "content": "PATH_READ" + "content": "EXTERNAL" }, { - "content": "PATH_READ_WRITE" + "content": "MANAGED" } ] } @@ -196609,52 +205342,30 @@ ] }, "response": { - "pascal_name": "GenerateTemporaryPathCredentialResponse", + "pascal_name": "VolumeInfo", "is_object": true }, "all_fields": [ { - "name": "dry_run", - "description": "Optional. When set to true, the service will not validate that the generated\ncredentials can perform write operations, therefore no new paths will be created\nand the response will not contain valid credentials. Defaults to false.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "operation", - "description": "The operation being performed on the path.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the volume are", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PathOperation", - "enum": [ - { - "content": "PATH_CREATE_TABLE" - }, - { - "content": "PATH_READ" - }, - { - "content": "PATH_READ_WRITE" - } - ] + "is_string": true } }, { - "name": "url", - "description": "URL for path-based access.", - "required": true, + "name": "comment", + "description": "The comment attached to the volume", "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "url", - "description": "URL for path-based access.", + "name": "name", + "description": "The name of the volume", "required": true, "is_request_body_field": true, "entity": { @@ -196662,212 +205373,44 @@ } }, { - "name": "operation", - "description": "The operation being performed on the path.", + "name": "schema_name", + "description": "The name of the schema where the volume is", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "PathOperation", - "enum": [ - { - "content": "PATH_CREATE_TABLE" - }, - { - "content": "PATH_READ" - }, - { - "content": "PATH_READ_WRITE" - } - ] - } - } - ] - } - ] - }, - { - "id": "catalog.TemporaryTableCredentials", - "name": "TemporaryTableCredentials", - "description": "Temporary Table Credentials are short-lived, downscoped credentials used to access cloud storage locations where table data is stored in Databricks. These credentials provide secure and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0.\n\nTemporary table credentials ensure that data access is limited in scope and duration, reducing the risk of unauthorized access or misuse. To use the temporary table credentials API, a metastore admin must enable the external_access_enabled flag (off by default) at the metastore level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for security reasons.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ - { - "name": "GenerateTemporaryTableCredentials", - "description": "Get a short-lived credential for directly accessing the table data on cloud storage.\nThe metastore must have **external_access_enabled** flag set to true (default false).\nThe caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and this privilege can only be granted\nby catalog owners.", - "summary": "Generate a temporary table credential.", - "path": "/api/2.0/unity-catalog/temporary-table-credentials", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GenerateTemporaryTableCredentialRequest", - "is_object": true - }, - "response": { - "pascal_name": "GenerateTemporaryTableCredentialResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "operation", - "description": "The operation performed against the table data, either READ or READ_WRITE. If READ_WRITE is specified,\nthe credentials returned will have write permissions, otherwise, it will be read only.", - "is_request_body_field": true, - "entity": { - "pascal_name": "TableOperation", - "enum": [ - { - "content": "READ" - }, - { - "content": "READ_WRITE" - } - ] + "is_string": true } }, { - "name": "table_id", - "description": "UUID of the table to read or write.", + "name": "storage_location", + "description": "The storage location on the cloud", "is_request_body_field": true, "entity": { "is_string": true } - } - ] - } - ] - }, - { - "id": "catalog.TemporaryVolumeCredentials", - "name": "TemporaryVolumeCredentials", - "description": "Temporary Volume Credentials are short-lived, downscoped credentials used to access cloud storage locations where volume data is stored in Databricks. These credentials provide secure and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0.\n\nTemporary volume credentials ensure that data access is limited in scope and duration, reducing the risk of unauthorized access or misuse. To use the temporary volume credentials API, a metastore admin must enable the external_access_enabled flag (off by default) at the metastore level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for security reasons.", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "methods": [ - { - "name": "GenerateTemporaryVolumeCredentials", - "description": "Get a short-lived credential for directly accessing the volume data on cloud storage.\nThe metastore must have **external_access_enabled** flag set to true (default false).\nThe caller must have the **EXTERNAL_USE_SCHEMA** privilege on the parent schema and this privilege can only be granted\nby catalog owners.", - "summary": "Generate a temporary volume credential.", - "path": "/api/2.0/unity-catalog/temporary-volume-credentials", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GenerateTemporaryVolumeCredentialRequest", - "is_object": true - }, - "response": { - "pascal_name": "GenerateTemporaryVolumeCredentialResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "operation", - "description": "The operation performed against the volume data, either READ_VOLUME or WRITE_VOLUME. If WRITE_VOLUME is specified,\nthe credentials returned will have write permissions, otherwise, it will be read only.", + "name": "volume_type", + "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "VolumeOperation", + "pascal_name": "VolumeType", "enum": [ { - "content": "READ_VOLUME" + "content": "EXTERNAL" }, { - "content": "WRITE_VOLUME" + "content": "MANAGED" } ] } - }, - { - "name": "volume_id", - "description": "Id of the volume to read or write.", - "is_request_body_field": true, - "entity": { - "is_string": true - } } - ] - } - ] - }, - { - "id": "settings.TokenManagement", - "name": "TokenManagement", - "description": "Enables administrators to get all tokens and delete tokens for other users. Admins can\neither get every token, get a specific token by ID, or get all tokens for a particular user.", - "package": { - "name": "settings" - }, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "TokenInfoCommentToTokenIdMap" - }, - "request": { - "pascal_name": "ListTokenManagementRequest" - } - }, - "methods": [ - { - "name": "CreateOboToken", - "description": "Creates a token on behalf of a service principal.", - "summary": "Create on-behalf token.", - "path": "/api/2.0/token-management/on-behalf-of/tokens", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateOboTokenRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "application_id", - "description": "Application ID of the service principal.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "application_id", - "description": "Application ID of the service principal.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "CreateOboTokenResponse", - "is_object": true - }, - "all_fields": [ + ], + "required_positional_arguments": [ { - "name": "application_id", - "description": "Application ID of the service principal.", + "name": "catalog_name", + "description": "The name of the catalog where the schema and the volume are", "required": true, "is_request_body_field": true, "entity": { @@ -196875,67 +205418,57 @@ } }, { - "name": "autoscope_enabled", - "description": "Whether to enable autoscoping for this token.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "comment", - "description": "Comment that describes the purpose of the token.", + "name": "schema_name", + "description": "The name of the schema where the volume is", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "lifetime_seconds", - "description": "The number of seconds before the token expires.", + "name": "name", + "description": "The name of the volume", + "required": true, "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "scopes", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ], - "required_positional_arguments": [ - { - "name": "application_id", - "description": "Application ID of the service principal.", + "name": "volume_type", + "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "VolumeType", + "enum": [ + { + "content": "EXTERNAL" + }, + { + "content": "MANAGED" + } + ] } } ] }, { "name": "Delete", - "description": "Deletes a token, specified by its ID.", - "summary": "Delete a token.", - "path": "/api/2.0/token-management/tokens/{token_id}", + "description": "Deletes a volume from the specified parent catalog and schema.\n\nThe caller must be a metastore admin or an owner of the volume.\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.", + "summary": "Delete a Volume.", + "path": "/api/2.1/unity-catalog/volumes/{name}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteTokenManagementRequest", + "pascal_name": "DeleteVolumeRequest", "is_object": true, "required_fields": [ { - "name": "token_id", - "description": "The ID of the token to revoke.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { @@ -196945,8 +205478,8 @@ ], "required_in_url_fields": [ { - "name": "token_id", - "description": "The ID of the token to revoke.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { @@ -196960,8 +205493,8 @@ }, "all_fields": [ { - "name": "token_id", - "description": "The ID of the token to revoke.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { @@ -196971,8 +205504,8 @@ ], "required_positional_arguments": [ { - "name": "token_id", - "description": "The ID of the token to revoke.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { @@ -196982,23 +205515,31 @@ ] }, { - "name": "Get", - "description": "Gets information about a token, specified by its ID.", - "summary": "Get token info.", - "path": "/api/2.0/token-management/tokens/{token_id}", - "is_crud_read": true, + "name": "List", + "description": "Gets an array of volumes for the current metastore\nunder the parent catalog and schema.\n\nThe returned volumes are filtered based on the privileges of the calling user.\nFor example, the metastore admin is able to list all the volumes.\nA regular user needs to be the owner or have the **READ VOLUME** privilege\non the volume to receive the volumes 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 array.\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 Volumes.", + "path": "/api/2.1/unity-catalog/volumes", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetTokenManagementRequest", + "pascal_name": "ListVolumesRequest", "is_object": true, "required_fields": [ { - "name": "token_id", - "description": "The ID of the token to get.", + "name": "catalog_name", + "description": "The identifier of the catalog", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The identifier of the schema", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -197006,10 +205547,19 @@ ], "required_in_url_fields": [ { - "name": "token_id", - "description": "The ID of the token to get.", + "name": "catalog_name", + "description": "The identifier of the catalog", "required": true, - "is_path": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The identifier of the schema", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -197017,257 +205567,207 @@ ] }, "response": { - "pascal_name": "GetTokenResponse", + "pascal_name": "ListVolumesResponseContent", "is_object": true }, "all_fields": [ { - "name": "token_id", - "description": "The ID of the token to get.", + "name": "catalog_name", + "description": "The identifier of the catalog", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "token_id", - "description": "The ID of the token to get.", + "name": "include_browse", + "description": "Whether to include volumes in the response for which the principal can only access selective metadata for", + "is_query": true, + "entity": { + "is_bool": true + } + }, + { + "name": "max_results", + "description": "Maximum number of volumes to return (page length).\n\nIf not set, the page length is set to a server configured value (10000, as of 1/29/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 1/29/2024);\n- when set to 0, the page length is set to a server configured value (10000, as of 1/29/2024) (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;\n\nNote: this parameter controls only the maximum number of volumes to return. The actual number of volumes returned in a page\nmay be smaller than this value, including 0, even if there are more pages.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Opaque token returned by a previous request. It must be included in the request to retrieve the next page of results (pagination).", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "schema_name", + "description": "The identifier of the schema", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } - ] - }, - { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get token permission levels.", - "path": "/api/2.0/permissions/authorization/tokens/permissionLevels", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetTokenPermissionLevelsRequest", - "is_object": true - }, - "response": { - "pascal_name": "GetTokenPermissionLevelsResponse", - "is_object": true - } - }, - { - "name": "GetPermissions", - "description": "Gets the permissions of all tokens. Tokens can inherit permissions from their root object.", - "summary": "Get token permissions.", - "path": "/api/2.0/permissions/authorization/tokens", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetTokenPermissionsRequest", - "is_object": true - }, - "response": { - "pascal_name": "TokenPermissions", - "is_object": true - } - }, - { - "name": "List", - "description": "Lists all tokens associated with the specified workspace or user.", - "summary": "List all tokens.", - "path": "/api/2.0/token-management/tokens", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListTokenManagementRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListTokensResponse", - "is_object": true - }, - "all_fields": [ + ], + "required_positional_arguments": [ { - "name": "created_by_id", - "description": "User ID of the user that created the token.", + "name": "catalog_name", + "description": "The identifier of the catalog", + "required": true, "is_query": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "created_by_username", - "description": "Username of the user that created the token.", + "name": "schema_name", + "description": "The identifier of the schema", + "required": true, "is_query": true, "entity": { "is_string": true } } ], - "pagination": {} - }, - { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set token permissions.", - "path": "/api/2.0/permissions/authorization/tokens", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "TokenPermissionsRequest", - "is_object": true - }, - "response": { - "pascal_name": "TokenPermissions", - "is_object": true - }, - "all_fields": [ - { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "TokenAccessControlRequestList", - "array_value": { - "pascal_name": "TokenAccessControlRequest", - "is_object": true + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque token returned by a previous request. It must be included in the request to retrieve the next page of results (pagination).", + "is_query": true, + "entity": { + "is_string": true } } } - ] + } }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on all tokens. Tokens can inherit permissions from their root object.", - "summary": "Update token permissions.", - "path": "/api/2.0/permissions/authorization/tokens", - "can_use_json": true, + "name": "Read", + "description": "Gets a volume from the metastore for a specific catalog and schema.\n\nThe caller must be a metastore admin or an owner of (or have the **READ VOLUME**\nprivilege on) the volume.\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.", + "summary": "Get a Volume.", + "path": "/api/2.1/unity-catalog/volumes/{name}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "TokenPermissionsRequest", - "is_object": true + "pascal_name": "ReadVolumeRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The three-level (fully qualified) name of the volume", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The three-level (fully qualified) name of the volume", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "TokenPermissions", + "pascal_name": "VolumeInfo", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, + "name": "include_browse", + "description": "Whether to include volumes in the response for which the principal can only access selective metadata for", + "is_query": true, "entity": { - "pascal_name": "TokenAccessControlRequestList", - "array_value": { - "pascal_name": "TokenAccessControlRequest", - "is_object": true - } + "is_bool": true + } + }, + { + "name": "name", + "description": "The three-level (fully qualified) name of the volume", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The three-level (fully qualified) name of the volume", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ] }, { - "name": "UpdateTokenManagement", - "description": "Updates a token, specified by its ID.", - "summary": "Update an on-behalf token.", - "path": "/api/2.0/token-management/tokens/{token_id}", + "name": "Update", + "description": "Updates the specified volume under the specified parent catalog and schema.\n\nThe caller must be a metastore admin or an owner of the volume.\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\nCurrently only the name, the owner or the comment of the volume could be updated.", + "summary": "Update a Volume.", + "path": "/api/2.1/unity-catalog/volumes/{name}", "can_use_json": true, - "must_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateTokenManagementRequest", + "pascal_name": "UpdateVolumeRequestContent", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "token_id", - "description": "ID of the token.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "token", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TokenInfo", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "token_id", - "description": "ID of the token.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "token", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TokenInfo", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_field_mask": true - } - } ] }, "response": { - "pascal_name": "TokenInfo", + "pascal_name": "VolumeInfo", "is_object": true }, "all_fields": [ { - "name": "token", - "required": true, + "name": "comment", + "description": "The comment attached to the volume", "is_request_body_field": true, "entity": { - "pascal_name": "TokenInfo", - "is_object": true + "is_string": true } }, { - "name": "token_id", - "description": "ID of the token.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { @@ -197275,19 +205775,26 @@ } }, { - "name": "update_mask", - "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, + "name": "new_name", + "description": "New name for the volume.", "is_request_body_field": true, "entity": { - "is_field_mask": true + "is_string": true + } + }, + { + "name": "owner", + "description": "The identifier of the user who owns the volume", + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_positional_arguments": [ { - "name": "token_id", - "description": "ID of the token.", + "name": "name", + "description": "The three-level (fully qualified) name of the volume", "required": true, "is_path": true, "entity": { @@ -197299,111 +205806,98 @@ ] }, { - "id": "settings.Tokens", - "name": "Tokens", - "description": "The Token API allows you to create, list, and revoke tokens that can be used to authenticate and access Databricks REST APIs.", + "id": "provisioning.VpcEndpoints", + "name": "VpcEndpoints", + "description": "These APIs manage VPC endpoint configurations for this account.", "package": { - "name": "settings" + "name": "provisioning" }, - "docs_group": "settings", + "is_accounts": true, + "docs_group": "provisioning", "launch_stage": "GA", "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "PublicTokenInfoCommentToTokenIdMap" - }, - "is_legacy_empty_request": true, - "request": { - "pascal_name": "ListTokens" - } - }, "methods": [ { "name": "Create", - "description": "Creates and returns a token for a user. If this call is made through token authentication, it creates\na token with the same client ID as the authenticated token. If the user's token quota is exceeded, this call\nreturns an error **QUOTA_EXCEEDED**.", - "summary": "Create a user token.", - "path": "/api/2.0/token/create", + "description": "Creates a VPC endpoint configuration, which represents a\n[VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html)\nobject in AWS used to communicate privately with Databricks over\n[AWS PrivateLink](https://aws.amazon.com/privatelink).\n\nAfter you create the VPC endpoint configuration, the Databricks\n[endpoint service](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)\nautomatically accepts the VPC endpoint.\n\nBefore configuring PrivateLink, read the\n[Databricks article about PrivateLink](https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html).", + "summary": "Create a VPC endpoint configuration.", + "path": "/api/2.0/accounts/{account_id}/vpc-endpoints", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateTokenRequest", + "pascal_name": "CreateVpcEndpointRequest", "is_object": true }, "response": { - "pascal_name": "CreateTokenResponse", + "pascal_name": "VpcEndpoint", "is_object": true }, "all_fields": [ { - "name": "autoscope_enabled", - "description": "Whether to enable autoscoping for this token. When true, the token will\nautomatically collect inferred API path scopes as it is used.", + "name": "aws_vpc_endpoint_id", + "description": "The ID of the VPC endpoint object in AWS.", "is_request_body_field": true, "entity": { - "is_bool": true + "is_string": true } }, { - "name": "comment", - "description": "Optional description to attach to the token.", + "name": "gcp_vpc_endpoint_info", + "description": "The cloud info of this vpc endpoint.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "GcpVpcEndpointInfo", + "is_object": true } }, { - "name": "lifetime_seconds", - "description": "The lifetime of the token, in seconds.\n\nIf the lifetime is not specified, this token remains valid for 2 years.", + "name": "region", + "description": "The region in which this VPC endpoint object exists.", "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "scopes", - "description": "Optional scopes of the token.", + "name": "vpc_endpoint_name", + "description": "The human-readable name of the storage configuration.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ] }, { "name": "Delete", - "description": "Revokes an access token.\n\nIf a token with the specified ID is not valid, this call returns an error **RESOURCE_DOES_NOT_EXIST**.", - "summary": "Revoke token.", - "path": "/api/2.0/token/delete", - "can_use_json": true, + "description": "Deletes a Databricks VPC endpoint configuration. You cannot delete a VPC endpoint configuration that is associated with any workspace.", + "summary": "Delete a VPC endpoint configuration.", + "path": "/api/2.0/accounts/{account_id}/vpc-endpoints/{vpc_endpoint_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RevokeTokenRequest", + "pascal_name": "DeleteVpcEndpointRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "token_id", - "description": "The ID of the token to be revoked.", + "name": "vpc_endpoint_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "token_id", - "description": "The ID of the token to be revoked.", + "name": "vpc_endpoint_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -197411,16 +205905,14 @@ ] }, "response": { - "pascal_name": "RevokeTokenResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "VpcEndpoint", + "is_object": true }, "all_fields": [ { - "name": "token_id", - "description": "The ID of the token to be revoked.", + "name": "vpc_endpoint_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -197428,10 +205920,9 @@ ], "required_positional_arguments": [ { - "name": "token_id", - "description": "The ID of the token to be revoked.", + "name": "vpc_endpoint_id", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -197439,136 +205930,59 @@ ] }, { - "name": "List", - "description": "Lists all the valid tokens for a user-workspace pair.", - "summary": "List tokens.", - "path": "/api/2.0/token/list", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListTokens", - "is_object": true - }, - "response": { - "pascal_name": "ListPublicTokensResponse", - "is_object": true - }, - "pagination": {} - }, - { - "name": "Update", - "description": "Updates the comment or scopes of a token.\n\nIf a token with the specified ID is not valid, this call returns an error **NOT_FOUND**.", - "summary": "Update a user token.", - "path": "/api/2.0/token/{token_id}", - "can_use_json": true, - "must_use_json": true, + "name": "Get", + "description": "Gets a VPC endpoint configuration, which represents\na [VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html)\nobject in AWS used to communicate privately with Databricks over\n[AWS PrivateLink](https://aws.amazon.com/privatelink).", + "summary": "Get a VPC endpoint configuration.", + "path": "/api/2.0/accounts/{account_id}/vpc-endpoints/{vpc_endpoint_id}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateTokenRequest", + "pascal_name": "GetVpcEndpointRequest", "is_object": true, - "has_field_mask": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "token_id", - "description": "The SHA-256 hash of the token to be updated.", + "name": "vpc_endpoint_id", + "description": "Databricks VPC endpoint ID.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "token", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PublicTokenInfo", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_field_mask": true - } } ], "required_in_url_fields": [ { - "name": "token_id", - "description": "The SHA-256 hash of the token to be updated.", + "name": "vpc_endpoint_id", + "description": "Databricks VPC endpoint ID.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "token", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PublicTokenInfo", - "is_object": true - } - }, - { - "name": "update_mask", - "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_field_mask": true - } - } ] }, "response": { - "pascal_name": "UpdateTokenResponse", + "pascal_name": "VpcEndpoint", "is_object": true }, "all_fields": [ { - "name": "token", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "PublicTokenInfo", - "is_object": true - } - }, - { - "name": "token_id", - "description": "The SHA-256 hash of the token to be updated.", + "name": "vpc_endpoint_id", + "description": "Databricks VPC endpoint ID.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "update_mask", - "description": "A list of field name under token, For example, {\"update_mask\": \"comment,scopes\"}\n\nThe field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_field_mask": true - } } ], "required_positional_arguments": [ { - "name": "token_id", - "description": "The SHA-256 hash of the token to be updated.", + "name": "vpc_endpoint_id", + "description": "Databricks VPC endpoint ID.", "required": true, "is_path": true, "entity": { @@ -197576,307 +205990,262 @@ } } ] - } - ] - }, - { - "id": "billing.UsageDashboards", - "name": "UsageDashboards", - "description": "These APIs manage usage dashboards for this account. Usage dashboards enable you to gain insights into your usage with pre-built dashboards: visualize breakdowns, analyze tag attributions, and identify cost drivers.", - "package": { - "name": "billing" - }, - "is_accounts": true, - "docs_group": "billing", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "methods": [ - { - "name": "Create", - "description": "Create a usage dashboard specified by workspaceId, accountId, and dashboard type.", - "summary": "Create new usage dashboard.", - "path": "/api/2.0/accounts/{account_id}/dashboard", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "CreateBillingUsageDashboardRequest", - "is_object": true - }, - "response": { - "pascal_name": "CreateBillingUsageDashboardResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "dashboard_type", - "description": "Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account.", - "is_request_body_field": true, - "entity": { - "pascal_name": "UsageDashboardType", - "enum": [ - { - "content": "USAGE_DASHBOARD_TYPE_GLOBAL" - }, - { - "content": "USAGE_DASHBOARD_TYPE_WORKSPACE" - } - ] - } - }, - { - "name": "major_version", - "description": "The major version of the usage dashboard template to use. Defaults to VERSION_1.", - "is_request_body_field": true, - "entity": { - "pascal_name": "UsageDashboardMajorVersion", - "enum": [ - { - "content": "USAGE_DASHBOARD_MAJOR_VERSION_1" - }, - { - "content": "USAGE_DASHBOARD_MAJOR_VERSION_2" - } - ] - } - }, - { - "name": "workspace_id", - "description": "The workspace ID of the workspace in which the usage dashboard is created.", - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ] }, { - "name": "Get", - "description": "Get a usage dashboard specified by workspaceId, accountId, and dashboard type.", - "summary": "Get usage dashboard.", - "path": "/api/2.0/accounts/{account_id}/dashboard", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "name": "List", + "description": "Lists Databricks VPC endpoint configurations for an account.", + "summary": "List VPC endpoint configurations.", + "path": "/api/2.0/accounts/{account_id}/vpc-endpoints", + "is_legacy_empty_request": true, + "is_crud_read": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetBillingUsageDashboardRequest", + "pascal_name": "ListVpcEndpointsRequest", "is_object": true }, "response": { - "pascal_name": "GetBillingUsageDashboardResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "dashboard_type", - "description": "Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage dashboard shows usage data for all workspaces in the account.", - "is_query": true, - "entity": { - "pascal_name": "UsageDashboardType", - "enum": [ - { - "content": "USAGE_DASHBOARD_TYPE_GLOBAL" - }, - { - "content": "USAGE_DASHBOARD_TYPE_WORKSPACE" - } - ] - } - }, - { - "name": "workspace_id", - "description": "The workspace ID of the workspace in which the usage dashboard is created.", - "is_query": true, - "entity": { - "is_int64": true - } + "pascal_name": "VpcEndpointList", + "array_value": { + "pascal_name": "VpcEndpoint", + "is_object": true } - ] + } } ] }, { - "id": "iam.UsersV2", - "name": "UsersV2", - "description": "User identities recognized by Databricks and represented by email addresses.\n\nDatabricks recommends using SCIM provisioning to sync users and groups automatically from\nyour identity provider to your Databricks workspace. SCIM streamlines onboarding a new\nemployee or team by using your identity provider to create users and groups in Databricks workspace\nand give them the proper level of access. When a user leaves your organization or no longer\nneeds access to Databricks workspace, admins can terminate the user in your identity provider and that\nuser’s account will also be removed from Databricks workspace. This ensures a consistent offboarding\nprocess and prevents unauthorized users from accessing sensitive data.", + "id": "sql.Warehouses", + "name": "Warehouses", + "description": "A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide processing capabilities in the cloud.", "package": { - "name": "iam" + "name": "sql" }, - "docs_group": "iam", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "docs_group": "sql", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { + "named_id_map": { + "pascal_name": "EndpointInfoNameToIdMap" + }, "request": { - "pascal_name": "ListUsersRequest" + "pascal_name": "ListWarehousesRequest" } }, "methods": [ { "name": "Create", - "description": "Creates a new user in the Databricks workspace. This new user will also be added to the Databricks account.", - "summary": "Create a new user.", - "path": "/api/2.0/preview/scim/v2/Users", + "description": "Creates a new SQL warehouse.", + "summary": "Create a warehouse.", + "path": "/api/2.0/sql/warehouses", "can_use_json": true, "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateUserRequest", + "pascal_name": "CreateWarehouseRequest", "is_object": true }, "response": { - "pascal_name": "User", + "pascal_name": "CreateWarehouseResponse", "is_object": true }, "all_fields": [ { - "name": "active", - "description": "If this user is active", + "name": "auto_stop_mins", + "description": "The amount of time in minutes that a SQL warehouse must be idle (i.e., no\nRUNNING queries) before it is automatically stopped.\n\nSupported values:\n- Must be == 0 or \u003e= 10 mins\n- 0 indicates no autostop.\n\nDefaults to 120 mins", "is_request_body_field": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "displayName", - "description": "String that represents a concatenation of given and family names. For example `John Smith`. This field cannot be updated through the Workspace SCIM APIs when [identity federation is enabled](https://docs.databricks.com/administration-guide/users-groups/best-practices.html#enable-identity-federation). Use Account SCIM APIs to update `displayName`.", + "name": "channel", + "description": "Channel Details", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "Channel", + "is_object": true + } + }, + { + "name": "cluster_size", + "description": "Size of the clusters allocated for this warehouse.\nIncreasing the size of a spark cluster allows you to run larger queries on\nit. If you want to increase the number of concurrent queries, please tune\nmax_num_clusters.\n\nSupported values:\n- 2X-Small\n- X-Small\n- Small\n- Medium\n- Large\n- X-Large\n- 2X-Large\n- 3X-Large\n- 4X-Large\n- 5X-Large", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "emails", - "description": "All the emails associated with the Databricks user.", + "name": "creator_name", + "description": "warehouse creator name", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_string": true } }, { - "name": "entitlements", - "description": "Entitlements assigned to the user. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", + "name": "enable_photon", + "description": "Configures whether the warehouse should use Photon optimized clusters.\n\nDefaults to true.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_bool": true } }, { - "name": "externalId", - "description": "External ID is not currently supported. It is reserved for future use.", + "name": "enable_serverless_compute", + "description": "Configures whether the warehouse should use serverless compute", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "instance_profile_arn", + "description": "Deprecated. Instance profile used to pass IAM role to the cluster", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "groups", + "name": "max_num_clusters", + "description": "Maximum number of clusters that the autoscaler will create to handle\nconcurrent queries.\n\nSupported values:\n- Must be \u003e= min_num_clusters\n- Must be \u003c= 40.\n\nDefaults to min_clusters if unset.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_int": true } }, { - "name": "id", - "description": "Databricks user ID.", + "name": "min_num_clusters", + "description": "Minimum number of available clusters that will be maintained for this SQL\nwarehouse. Increasing this will ensure that a larger number of clusters are\nalways running and therefore may reduce the cold start time for new\nqueries. This is similar to reserved vs. revocable cores in a resource\nmanager.\n\nSupported values:\n- Must be \u003e 0\n- Must be \u003c= min(max_num_clusters, 30)\n\nDefaults to 1", "is_request_body_field": true, "entity": { - "is_string": true + "is_int": true } }, { "name": "name", + "description": "Logical name for the cluster.\n\nSupported values:\n- Must be unique within an org.\n- Must be less than 100 characters.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Name", - "is_object": true + "is_string": true } }, { - "name": "roles", - "description": "Corresponds to AWS instance profile/arn role.", + "name": "spot_instance_policy", + "description": "Configurations whether the endpoint should use spot instances.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "pascal_name": "SpotInstancePolicy", + "enum": [ + { + "content": "COST_OPTIMIZED" + }, + { + "content": "POLICY_UNSPECIFIED" + }, + { + "content": "RELIABILITY_OPTIMIZED" + } + ] } }, { - "name": "schemas", - "description": "The schema of the user.", + "name": "tags", + "description": "A set of key-value pairs that will be tagged on all resources (e.g., AWS instances and EBS volumes) associated\nwith this SQL warehouse.\n\nSupported values:\n- Number of tags \u003c 45.", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "pascal_name": "UserSchemaList", - "array_value": { - "pascal_name": "UserSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:schemas:core:2.0:User" - }, - { - "content": "urn:ietf:params:scim:schemas:extension:workspace:2.0:User" - } - ] - } + "pascal_name": "EndpointTags", + "is_object": true } }, { - "name": "userName", - "description": "Email address of the Databricks user.", + "name": "warehouse_type", + "description": "Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute,\nyou must set to `PRO` and also set the field `enable_serverless_compute` to `true`.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "CreateWarehouseRequestWarehouseType", + "enum": [ + { + "content": "CLASSIC" + }, + { + "content": "PRO" + }, + { + "content": "TYPE_UNSPECIFIED" + } + ] } } - ] + ], + "wait": { + "success": [ + { + "content": "RUNNING" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "GetWarehouseResponse" + } + }, + "status_path": [ + { + "pascal_name": "State" + } + ], + "message_path": [ + { + "pascal_name": "Health" + }, + { + "pascal_name": "Summary" + } + ], + "message_path_head": { + "pascal_name": "Health" + } + } }, { - "name": "Delete", - "description": "Deletes a user. Deleting a user from a Databricks workspace also removes objects associated with the user.", - "summary": "Delete a user.", - "path": "/api/2.0/preview/scim/v2/Users/{id}", + "name": "CreateDefaultWarehouseOverride", + "description": "Creates a new default warehouse override for a user.\nUsers can create their own override. Admins can create overrides for any user.", + "summary": "Create default warehouse override.", + "path": "/api/warehouses/v1/default-warehouse-overrides", + "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "DeleteUserRequest", + "pascal_name": "CreateDefaultWarehouseOverrideRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to create.", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true + } + }, + { + "name": "default_warehouse_override_id", + "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_query": true, "entity": { "is_string": true } @@ -197884,327 +206253,266 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", + "name": "default_warehouse_override_id", + "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } + ], + "required_request_body_fields": [ + { + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true + } + } ] }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "request_body_field": { + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ] } - ] - }, - { - "name": "Get", - "description": "Gets information for a specific user in Databricks workspace.", - "summary": "Get user details.", - "path": "/api/2.0/preview/scim/v2/Users/{id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GetUserRequest", + }, + "response": { + "pascal_name": "DefaultWarehouseOverride", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", + "name": "type", + "description": "The type of override behavior.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", + "name": "type", + "description": "The type of override behavior.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] } } ] }, - "response": { - "pascal_name": "User", - "is_object": true - }, "all_fields": [ { - "name": "attributes", - "description": "Comma-separated list of attributes to return in response.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "count", - "description": "Desired number of results per page.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "excludedAttributes", - "description": "Comma-separated list of attributes to exclude in response.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "filter", - "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "sortBy", - "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "sortOrder", - "description": "The order to sort the results.", - "is_query": true, - "entity": { - "pascal_name": "GetSortOrder", - "enum": [ - { - "content": "ascending" - }, - { - "content": "descending" - } - ] - } - }, - { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, - "entity": { - "is_int": true - } - } - ], - "required_positional_arguments": [ - { - "name": "id", - "description": "Unique ID for a user in the Databricks workspace.", + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to create.", "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get password permission levels.", - "path": "/api/2.0/permissions/authorization/passwords/permissionLevels", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GetPasswordPermissionLevelsRequest", - "is_object": true - }, - "response": { - "pascal_name": "GetPasswordPermissionLevelsResponse", - "is_object": true - } - }, - { - "name": "GetPermissions", - "description": "Gets the permissions of all passwords. Passwords can inherit permissions from their root object.", - "summary": "Get password permissions.", - "path": "/api/2.0/permissions/authorization/passwords", - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "GetPasswordPermissionsRequest", - "is_object": true - }, - "response": { - "pascal_name": "PasswordPermissions", - "is_object": true - } - }, - { - "name": "List", - "description": "Gets details for all the users associated with a Databricks workspace.", - "summary": "List users.", - "path": "/api/2.0/preview/scim/v2/Users", - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "ListUsersRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListUsersResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "attributes", - "description": "Comma-separated list of attributes to return in response.", - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "count", - "description": "Desired number of results per page.", - "is_query": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "DefaultWarehouseOverride", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ] } }, { - "name": "excludedAttributes", - "description": "Comma-separated list of attributes to exclude in response.", + "name": "default_warehouse_override_id", + "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, "is_query": true, "entity": { "is_string": true } }, { - "name": "filter", - "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", - "is_query": true, + "name": "default_warehouse_override_id", + "description": "The ID component of the resource name (user ID).", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sortBy", - "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", - "is_query": true, + "name": "name", + "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sortOrder", - "description": "The order to sort the results.", - "is_query": true, + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, "entity": { - "pascal_name": "ListSortOrder", + "pascal_name": "DefaultWarehouseOverrideType", "enum": [ { - "content": "ascending" + "content": "CUSTOM" }, { - "content": "descending" + "content": "LAST_SELECTED" } ] } }, { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, + "name": "warehouse_id", + "description": "The specific warehouse ID when type is CUSTOM.\nNot set for LAST_SELECTED type.", + "is_request_body_field": true, "entity": { - "is_int64": true + "is_string": true } } ], - "pagination": { - "offset": { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", + "required_positional_arguments": [ + { + "name": "default_warehouse_override_id", + "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, "is_query": true, "entity": { - "is_int64": true + "is_string": true } }, - "limit": { - "name": "count", - "description": "Desired number of results per page.", - "is_query": true, + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, "entity": { - "is_int64": true + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] } } - } + ] }, { - "name": "Patch", - "description": "Partially updates a user resource by applying the supplied operations on specific user attributes.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", - "summary": "Update user details.", - "path": "/api/2.0/preview/scim/v2/Users/{id}", - "can_use_json": true, + "name": "Delete", + "description": "Deletes a SQL warehouse.", + "summary": "Delete a warehouse.", + "path": "/api/2.0/sql/warehouses/{id}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchUserRequest", + "pascal_name": "DeleteWarehouseRequest", "is_object": true, "required_fields": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -198215,7 +206523,7 @@ "required_in_url_fields": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -198225,50 +206533,25 @@ ] }, "response": { + "pascal_name": "DeleteWarehouseResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "Operations", - "is_request_body_field": true, - "entity": { - "pascal_name": "PatchList", - "array_value": { - "pascal_name": "Patch", - "is_object": true - } - } - }, - { - "name": "schemas", - "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", - "is_request_body_field": true, - "entity": { - "pascal_name": "PatchSchemaList", - "array_value": { - "pascal_name": "PatchSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" - } - ] - } - } } ], "required_positional_arguments": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -198278,56 +206561,83 @@ ] }, { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set password permissions.", - "path": "/api/2.0/permissions/authorization/passwords", - "can_use_json": true, + "name": "DeleteDefaultWarehouseOverride", + "description": "Deletes the default warehouse override for a user.\nUsers can delete their own override. Admins can delete overrides for any user.\nAfter deletion, the workspace default warehouse will be used.", + "summary": "Delete default warehouse override.", + "path": "/api/warehouses/v1/{name=default-warehouse-overrides/*}", "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public 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": "PasswordPermissionsRequest", - "is_object": true + "pascal_name": "DeleteDefaultWarehouseOverrideRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "PasswordPermissions", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, + "name": "name", + "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "PasswordAccessControlRequestList", - "array_value": { - "pascal_name": "PasswordAccessControlRequest", - "is_object": true - } + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } ] }, { - "name": "Update", - "description": "Replaces a user's information with the data supplied in request.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", - "summary": "Replace a user.", - "path": "/api/2.0/preview/scim/v2/Users/{id}", + "name": "Edit", + "description": "Updates the configuration for a SQL warehouse.", + "summary": "Update a warehouse.", + "path": "/api/2.0/sql/warehouses/{id}/edit", "can_use_json": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateUserRequest", + "pascal_name": "EditWarehouseRequest", "is_object": true, "required_fields": [ { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the warehouse to configure.", "required": true, "is_path": true, "entity": { @@ -198338,7 +206648,7 @@ "required_in_url_fields": [ { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the warehouse to configure.", "required": true, "is_path": true, "entity": { @@ -198348,71 +206658,64 @@ ] }, "response": { + "pascal_name": "EditWarehouseResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "active", - "description": "If this user is active", + "name": "auto_stop_mins", + "description": "The amount of time in minutes that a SQL warehouse must be idle (i.e., no\nRUNNING queries) before it is automatically stopped.\n\nSupported values:\n- Must be == 0 or \u003e= 10 mins\n- 0 indicates no autostop.\n\nDefaults to 120 mins", "is_request_body_field": true, "entity": { - "is_bool": true + "is_int": true } }, { - "name": "displayName", - "description": "String that represents a concatenation of given and family names. For example `John Smith`. This field cannot be updated through the Workspace SCIM APIs when [identity federation is enabled](https://docs.databricks.com/administration-guide/users-groups/best-practices.html#enable-identity-federation). Use Account SCIM APIs to update `displayName`.", + "name": "channel", + "description": "Channel Details", "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "Channel", + "is_object": true } }, { - "name": "emails", - "description": "All the emails associated with the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", + "name": "cluster_size", + "description": "Size of the clusters allocated for this warehouse.\nIncreasing the size of a spark cluster allows you to run larger queries on\nit. If you want to increase the number of concurrent queries, please tune\nmax_num_clusters.\n\nSupported values:\n- 2X-Small\n- X-Small\n- Small\n- Medium\n- Large\n- X-Large\n- 2X-Large\n- 3X-Large\n- 4X-Large\n- 5X-Large", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_string": true } }, { - "name": "entitlements", - "description": "Entitlements assigned to the user. See [assigning entitlements](https://docs.databricks.com/administration-guide/users-groups/index.html#assigning-entitlements) for a full list of supported values.", + "name": "creator_name", + "description": "warehouse creator name", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_string": true } }, { - "name": "externalId", - "description": "External ID is not currently supported. It is reserved for future use.", + "name": "enable_photon", + "description": "Configures whether the warehouse should use Photon optimized clusters.\n\nDefaults to true.", "is_request_body_field": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "groups", + "name": "enable_serverless_compute", + "description": "Configures whether the warehouse should use serverless compute", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_bool": true } }, { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the warehouse to configure.", "required": true, "is_path": true, "entity": { @@ -198420,206 +206723,287 @@ } }, { - "name": "name", + "name": "instance_profile_arn", + "description": "Deprecated. Instance profile used to pass IAM role to the cluster", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "Name", - "is_object": true + "is_string": true } }, { - "name": "roles", - "description": "Corresponds to AWS instance profile/arn role.", + "name": "max_num_clusters", + "description": "Maximum number of clusters that the autoscaler will create to handle\nconcurrent queries.\n\nSupported values:\n- Must be \u003e= min_num_clusters\n- Must be \u003c= 40.\n\nDefaults to min_clusters if unset.", "is_request_body_field": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_int": true } }, { - "name": "schemas", - "description": "The schema of the user.", + "name": "min_num_clusters", + "description": "Minimum number of available clusters that will be maintained for this SQL\nwarehouse. Increasing this will ensure that a larger number of clusters are\nalways running and therefore may reduce the cold start time for new\nqueries. This is similar to reserved vs. revocable cores in a resource\nmanager.\n\nSupported values:\n- Must be \u003e 0\n- Must be \u003c= min(max_num_clusters, 30)\n\nDefaults to 1", "is_request_body_field": true, "entity": { - "pascal_name": "UserSchemaList", - "array_value": { - "pascal_name": "UserSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:schemas:core:2.0:User" - }, - { - "content": "urn:ietf:params:scim:schemas:extension:workspace:2.0:User" - } - ] - } + "is_int": true } }, { - "name": "userName", - "description": "Email address of the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", + "name": "name", + "description": "Logical name for the cluster.\n\nSupported values:\n- Must be unique within an org.\n- Must be less than 100 characters.", "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "spot_instance_policy", + "description": "Configurations whether the endpoint should use spot instances.", + "is_request_body_field": true, + "entity": { + "pascal_name": "SpotInstancePolicy", + "enum": [ + { + "content": "COST_OPTIMIZED" + }, + { + "content": "POLICY_UNSPECIFIED" + }, + { + "content": "RELIABILITY_OPTIMIZED" + } + ] + } + }, + { + "name": "tags", + "description": "A set of key-value pairs that will be tagged on all resources (e.g., AWS instances and EBS volumes) associated\nwith this SQL warehouse.\n\nSupported values:\n- Number of tags \u003c 45.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "EndpointTags", + "is_object": true + } + }, + { + "name": "warehouse_type", + "description": "Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute,\nyou must set to `PRO` and also set the field `enable_serverless_compute` to `true`.", + "is_request_body_field": true, + "entity": { + "pascal_name": "EditWarehouseRequestWarehouseType", + "enum": [ + { + "content": "CLASSIC" + }, + { + "content": "PRO" + }, + { + "content": "TYPE_UNSPECIFIED" + } + ] + } } ], "required_positional_arguments": [ { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the warehouse to configure.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - { - "name": "UpdatePermissions", - "description": "Updates the permissions on all passwords. Passwords can inherit permissions from their root object.", - "summary": "Update password permissions.", - "path": "/api/2.0/permissions/authorization/passwords", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "PasswordPermissionsRequest", - "is_object": true - }, - "response": { - "pascal_name": "PasswordPermissions", - "is_object": true - }, - "all_fields": [ - { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "PasswordAccessControlRequestList", - "array_value": { - "pascal_name": "PasswordAccessControlRequest", - "is_object": true - } + ], + "wait": { + "success": [ + { + "content": "RUNNING" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "GetWarehouseResponse" + } + }, + "status_path": [ + { + "pascal_name": "State" + } + ], + "message_path": [ + { + "pascal_name": "Health" + }, + { + "pascal_name": "Summary" } + ], + "message_path_head": { + "pascal_name": "Health" } - ] - } - ] - }, - { - "id": "iam.AccountUsersV2", - "name": "AccountUsersV2", - "description": "User identities recognized by Databricks and represented by email addresses.\n\nDatabricks recommends using SCIM provisioning to sync users and groups automatically from\nyour identity provider to your Databricks account. SCIM streamlines onboarding a new\nemployee or team by using your identity provider to create users and groups in Databricks account\nand give them the proper level of access. When a user leaves your organization or no longer\nneeds access to Databricks account, admins can terminate the user in your identity provider and that\nuser’s account will also be removed from Databricks account. This ensures a consistent offboarding\nprocess and prevents unauthorized users from accessing sensitive data.", - "package": { - "name": "iam" - }, - "is_accounts": true, - "docs_group": "iam", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListAccountUsersRequest" - } - }, - "methods": [ + } + }, { - "name": "Create", - "description": "Creates a new user in the Databricks account. This new user will also be added to the Databricks account.", - "summary": "Create a new user.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/Users", - "can_use_json": true, - "is_crud_create": true, + "name": "Get", + "description": "Gets the information for a single SQL warehouse.", + "summary": "Get warehouse info.", + "path": "/api/2.0/sql/warehouses/{id}", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateAccountUserRequest", - "is_object": true + "pascal_name": "GetWarehouseRequest", + "is_object": true, + "required_fields": [ + { + "name": "id", + "description": "Required. Id of the SQL warehouse.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "id", + "description": "Required. Id of the SQL warehouse.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] }, "response": { - "pascal_name": "AccountUser", + "pascal_name": "GetWarehouseResponse", "is_object": true }, "all_fields": [ { - "name": "active", - "description": "If this user is active", - "is_request_body_field": true, + "name": "id", + "description": "Required. Id of the SQL warehouse.", + "required": true, + "is_path": true, "entity": { - "is_bool": true + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "displayName", - "description": "String that represents a concatenation of given and family names. For example `John Smith`.", - "is_request_body_field": true, + "name": "id", + "description": "Required. Id of the SQL warehouse.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "emails", - "description": "All the emails associated with the Databricks user.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true + } + ] + }, + { + "name": "GetDefaultWarehouseOverride", + "description": "Returns the default warehouse override for a user.\nUsers can fetch their own override. Admins can fetch overrides for any user.\nIf no override exists, the UI will fallback to the workspace default warehouse.", + "summary": "Get default warehouse override.", + "path": "/api/warehouses/v1/{name=default-warehouse-overrides/*}", + "is_crud_read": 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": "GetDefaultWarehouseOverrideRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - }, - { - "name": "externalId", - "description": "External ID is not currently supported. It is reserved for future use.", - "is_request_body_field": true, - "entity": { - "is_string": true + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } - }, - { - "name": "id", - "description": "Databricks user ID.", - "is_request_body_field": true, - "entity": { - "is_string": true + ] + }, + "response": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } } - }, - { - "name": "name", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Name", - "is_object": true + ], + "required_request_body_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } } - }, + ] + }, + "all_fields": [ { - "name": "roles", - "description": "Indicates if the group has the admin role.", - "is_request_body_field": true, + "name": "name", + "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } + "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "userName", - "description": "Email address of the Databricks user.", - "is_request_body_field": true, + "name": "name", + "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -198627,20 +207011,20 @@ ] }, { - "name": "Delete", - "description": "Deletes a user. Deleting a user from a Databricks account also removes objects associated with the user.", - "summary": "Delete a user.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get SQL warehouse permission levels.", + "path": "/api/2.0/permissions/warehouses/{warehouse_id}/permissionLevels", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteAccountUserRequest", + "pascal_name": "GetWarehousePermissionLevelsRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198650,8 +207034,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198661,12 +207045,13 @@ ] }, "response": { - "is_empty_response": true + "pascal_name": "GetWarehousePermissionLevelsResponse", + "is_object": true }, "all_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198676,8 +207061,8 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198687,21 +207072,20 @@ ] }, { - "name": "Get", - "description": "Gets information for a specific user in Databricks account.", - "summary": "Get user details.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", - "is_crud_read": true, + "name": "GetPermissions", + "description": "Gets the permissions of a SQL warehouse. SQL warehouses can inherit permissions from their root object.", + "summary": "Get SQL warehouse permissions.", + "path": "/api/2.0/permissions/warehouses/{warehouse_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetAccountUserRequest", + "pascal_name": "GetWarehousePermissionsRequest", "is_object": true, "required_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198711,8 +207095,8 @@ ], "required_in_url_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198722,88 +207106,218 @@ ] }, "response": { - "pascal_name": "AccountUser", + "pascal_name": "WarehousePermissions", "is_object": true }, "all_fields": [ { - "name": "attributes", - "description": "Comma-separated list of attributes to return in response.", - "is_query": true, + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "count", - "description": "Desired number of results per page. Default is 10000.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetWorkspaceWarehouseConfig", + "description": "Gets the workspace level configuration that is shared by all SQL warehouses in a workspace.", + "summary": "Get the workspace configuration.", + "path": "/api/2.0/sql/config/warehouses", + "is_legacy_empty_request": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetWorkspaceWarehouseConfigRequest", + "is_object": true + }, + "response": { + "pascal_name": "GetWorkspaceWarehouseConfigResponse", + "is_object": true + } + }, + { + "name": "List", + "description": "Lists all SQL warehouses that a user has access to.", + "summary": "List warehouses.", + "path": "/api/2.0/sql/warehouses", + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "ListWarehousesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListWarehousesResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "The max number of warehouses to return.", "is_query": true, "entity": { "is_int": true } }, { - "name": "excludedAttributes", - "description": "Comma-separated list of attributes to exclude in response.", + "name": "page_token", + "description": "A page token, received from a previous `ListWarehouses` call.\nProvide this to retrieve the subsequent page; otherwise the first\nwill be retrieved.\n\nWhen paginating, all other parameters provided to `ListWarehouses` must match\nthe call that provided the page token.", "is_query": true, "entity": { "is_string": true } }, { - "name": "filter", - "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", + "name": "run_as_user_id", + "description": "Deprecated: this field is ignored by the server.\nService Principal which will be used to fetch the list of endpoints.\nIf not specified, SQL Gateway will use the user from the session header.", "is_query": true, "entity": { - "is_string": true + "is_int": true } - }, + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListWarehouses` call.\nProvide this to retrieve the subsequent page; otherwise the first\nwill be retrieved.\n\nWhen paginating, all other parameters provided to `ListWarehouses` must match\nthe call that provided the page token.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListDefaultWarehouseOverrides", + "description": "Lists all default warehouse overrides in the workspace.\nOnly workspace administrators can list all overrides.", + "summary": "List default warehouse overrides.", + "path": "/api/warehouses/v1/default-warehouse-overrides", + "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": "ListDefaultWarehouseOverridesRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListDefaultWarehouseOverridesResponse", + "is_object": true + }, + "all_fields": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", - "required": true, - "is_path": true, + "name": "page_size", + "description": "The maximum number of overrides to return. The service may return fewer than\nthis value.\nIf unspecified, at most 100 overrides will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "sortBy", - "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", + "name": "page_token", + "description": "A page token, received from a previous `ListDefaultWarehouseOverrides` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListDefaultWarehouseOverrides`\nmust match the call that provided the page token.", "is_query": true, "entity": { "is_string": true } - }, + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous `ListDefaultWarehouseOverrides` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListDefaultWarehouseOverrides`\nmust match the call that provided the page token.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", + "summary": "Set SQL warehouse permissions.", + "path": "/api/2.0/permissions/warehouses/{warehouse_id}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "WarehousePermissionsRequest", + "is_object": true, + "required_fields": [ + { + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "WarehousePermissions", + "is_object": true + }, + "all_fields": [ { - "name": "sortOrder", - "description": "The order to sort the results.", - "is_query": true, + "name": "access_control_list", + "is_request_body_field": true, "entity": { - "pascal_name": "GetSortOrder", - "enum": [ - { - "content": "ascending" - }, - { - "content": "descending" - } - ] + "pascal_name": "WarehouseAccessControlRequestList", + "array_value": { + "pascal_name": "WarehouseAccessControlRequest", + "is_object": true + } } }, { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { - "is_int": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "id", - "description": "Unique ID for a user in the Databricks account.", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -198813,122 +207327,148 @@ ] }, { - "name": "List", - "description": "Gets details for all the users associated with a Databricks account.", - "summary": "List users.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/Users", + "name": "SetWorkspaceWarehouseConfig", + "description": "Sets the workspace level configuration that is shared by all SQL warehouses in a workspace.", + "summary": "Set the workspace configuration.", + "path": "/api/2.0/sql/config/warehouses", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListAccountUsersRequest", + "pascal_name": "SetWorkspaceWarehouseConfigRequest", "is_object": true }, "response": { - "pascal_name": "ListAccountUsersResponse", - "is_object": true + "pascal_name": "SetWorkspaceWarehouseConfigResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "attributes", - "description": "Comma-separated list of attributes to return in response.", - "is_query": true, + "name": "channel", + "description": "Optional: Channel selection details", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_string": true + "pascal_name": "Channel", + "is_object": true } }, { - "name": "count", - "description": "Desired number of results per page. Default is 10000.", - "is_query": true, + "name": "config_param", + "description": "Deprecated: Use sql_configuration_parameters", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int64": true + "pascal_name": "RepeatedEndpointConfPairs", + "is_object": true } }, { - "name": "excludedAttributes", - "description": "Comma-separated list of attributes to exclude in response.", - "is_query": true, + "name": "data_access_config", + "description": "Spark confs for external hive metastore configuration\nJSON serialized size must be less than \u003c= 512K", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "EndpointConfPairList", + "array_value": { + "pascal_name": "EndpointConfPair", + "is_object": true + } } }, { - "name": "filter", - "description": "Query by which the results have to be filtered. Supported operators are equals(`eq`), contains(`co`), starts with(`sw`) and not equals(`ne`). Additionally, simple expressions can be formed using logical operators - `and` and `or`. The [SCIM RFC](https://tools.ietf.org/html/rfc7644#section-3.4.2.2) has more details but we currently only support simple expressions.", - "is_query": true, + "name": "enable_serverless_compute", + "description": "Deprecated: only setting this to true is allowed.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "enabled_warehouse_types", + "description": "List of Warehouse Types allowed in this workspace (limits allowed value of\nthe type field in CreateWarehouse and EditWarehouse). Note: Some types\ncannot be disabled, they don't need to be specified\nin SetWorkspaceWarehouseConfig.\nNote: Disabling a type may cause existing warehouses to be converted to\nanother type. Used by frontend to save specific type availability in the\nwarehouse create and edit form UI.", + "is_request_body_field": true, + "entity": { + "pascal_name": "WarehouseTypePairList", + "array_value": { + "pascal_name": "WarehouseTypePair", + "is_object": true + } + } + }, + { + "name": "global_param", + "description": "Deprecated: Use sql_configuration_parameters", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "RepeatedEndpointConfPairs", + "is_object": true + } + }, + { + "name": "google_service_account", + "description": "GCP only: Google Service Account used to pass to cluster to access Google\nCloud Storage", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sortBy", - "description": "Attribute to sort the results. Multi-part paths are supported. For example, `userName`, `name.givenName`, and `emails`.", - "is_query": true, + "name": "instance_profile_arn", + "description": "AWS Only: The instance profile used to pass an IAM role to the SQL\nwarehouses. This configuration is also applied to the workspace's\nserverless compute for notebooks and jobs.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "sortOrder", - "description": "The order to sort the results.", - "is_query": true, + "name": "security_policy", + "description": "Security policy for warehouses", + "is_request_body_field": true, "entity": { - "pascal_name": "ListSortOrder", + "pascal_name": "SetWorkspaceWarehouseConfigRequestSecurityPolicy", "enum": [ { - "content": "ascending" + "content": "DATA_ACCESS_CONTROL" }, { - "content": "descending" + "content": "NONE" + }, + { + "content": "PASSTHROUGH" } ] } }, { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, - "entity": { - "is_int64": true - } - } - ], - "pagination": { - "offset": { - "name": "startIndex", - "description": "Specifies the index of the first result. First item is number 1.", - "is_query": true, - "entity": { - "is_int64": true - } - }, - "limit": { - "name": "count", - "description": "Desired number of results per page. Default is 10000.", - "is_query": true, + "name": "sql_configuration_parameters", + "description": "SQL configuration parameters", + "is_request_body_field": true, + "is_optional_object": true, "entity": { - "is_int64": true + "pascal_name": "RepeatedEndpointConfPairs", + "is_object": true } } - } + ] }, { - "name": "Patch", - "description": "Partially updates a user resource by applying the supplied operations on specific user attributes.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", - "summary": "Update user details.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", - "can_use_json": true, + "name": "Start", + "description": "Starts a SQL warehouse.", + "summary": "Start a warehouse.", + "path": "/api/2.0/sql/warehouses/{id}/start", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchAccountUserRequest", + "pascal_name": "StartRequest", "is_object": true, "required_fields": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -198939,7 +207479,7 @@ "required_in_url_fields": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -198949,74 +207489,78 @@ ] }, "response": { + "pascal_name": "StartWarehouseResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "Operations", - "is_request_body_field": true, - "entity": { - "pascal_name": "PatchList", - "array_value": { - "pascal_name": "Patch", - "is_object": true - } - } - }, - { - "name": "schemas", - "description": "The schema of the patch request. Must be [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"].", - "is_request_body_field": true, - "entity": { - "pascal_name": "PatchSchemaList", - "array_value": { - "pascal_name": "PatchSchema", - "enum": [ - { - "content": "urn:ietf:params:scim:api:messages:2.0:PatchOp" - } - ] - } - } } ], "required_positional_arguments": [ { "name": "id", - "description": "Unique ID in the Databricks workspace.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] + ], + "wait": { + "success": [ + { + "content": "RUNNING" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "GetWarehouseResponse" + } + }, + "status_path": [ + { + "pascal_name": "State" + } + ], + "message_path": [ + { + "pascal_name": "Health" + }, + { + "pascal_name": "Summary" + } + ], + "message_path_head": { + "pascal_name": "Health" + } + } }, { - "name": "Update", - "description": "Replaces a user's information with the data supplied in request.\nThe `userName` and `emails` attributes cannot be updated through this API; any supplied changes to them are ignored (no-op).", - "summary": "Replace a user.", - "path": "/api/2.0/accounts/{account_id}/scim/v2/Users/{id}", - "can_use_json": true, + "name": "Stop", + "description": "Stops a SQL warehouse.", + "summary": "Stop a warehouse.", + "path": "/api/2.0/sql/warehouses/{id}/stop", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateAccountUserRequest", + "pascal_name": "StopRequest", "is_object": true, "required_fields": [ { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -199027,7 +207571,7 @@ "required_in_url_fields": [ { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { @@ -199037,151 +207581,209 @@ ] }, "response": { + "pascal_name": "StopWarehouseResponse", + "is_object": true, "is_empty_response": true }, "all_fields": [ - { - "name": "active", - "description": "If this user is active", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "displayName", - "description": "String that represents a concatenation of given and family names. For example `John Smith`.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "emails", - "description": "All the emails associated with the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } - } - }, - { - "name": "externalId", - "description": "External ID is not currently supported. It is reserved for future use.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "name", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Name", - "is_object": true - } - }, - { - "name": "roles", - "description": "Indicates if the group has the admin role.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ComplexValueList", - "array_value": { - "pascal_name": "ComplexValue", - "is_object": true - } - } - }, - { - "name": "userName", - "description": "Email address of the Databricks user. This attribute cannot be updated through the SCIM PATCH or PUT APIs; any supplied change is ignored.", - "is_request_body_field": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { "name": "id", - "description": "Databricks user ID.", + "description": "Required. Id of the SQL warehouse.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - } - ] - }, - { - "id": "vectorsearch.VectorSearchEndpoints", - "name": "VectorSearchEndpoints", - "description": "**Endpoint**: Represents the compute resources to host AI Search indexes.", - "package": { - "name": "vectorsearch" - }, - "docs_group": "vectorsearch", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListEndpointsRequest" - } - }, - "methods": [ + ], + "wait": { + "success": [ + { + "content": "STOPPED" + } + ], + "timeout": 20, + "complex_message_path": true, + "poll": { + "response": { + "pascal_name": "GetWarehouseResponse" + } + }, + "status_path": [ + { + "pascal_name": "State" + } + ], + "message_path": [ + { + "pascal_name": "Health" + }, + { + "pascal_name": "Summary" + } + ], + "message_path_head": { + "pascal_name": "Health" + } + } + }, { - "name": "CreateEndpoint", - "description": "Create a new endpoint.", - "summary": "Create an endpoint.", - "path": "/api/2.0/vector-search/endpoints", + "name": "UpdateDefaultWarehouseOverride", + "description": "Updates an existing default warehouse override for a user.\nUsers can update their own override. Admins can update overrides for any user.", + "summary": "Update default warehouse override.", + "path": "/api/warehouses/v1/{name=default-warehouse-overrides/*}", "can_use_json": true, - "is_crud_create": 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": "CreateEndpoint", + "pascal_name": "UpdateDefaultWarehouseOverrideRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { "name": "name", - "description": "Name of the AI Search endpoint", + "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "endpoint_type", - "description": "Type of endpoint", + "name": "update_mask", + "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "EndpointType", + "pascal_name": "DefaultWarehouseOverride", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ] + } + }, + "response": { + "pascal_name": "DefaultWarehouseOverride", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", "enum": [ { - "content": "STANDARD" + "content": "CUSTOM" }, { - "content": "STORAGE_OPTIMIZED" + "content": "LAST_SELECTED" } ] } @@ -199189,196 +207791,138 @@ ], "required_request_body_fields": [ { - "name": "name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "endpoint_type", - "description": "Type of endpoint", + "name": "type", + "description": "The type of override behavior.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "EndpointType", + "pascal_name": "DefaultWarehouseOverrideType", "enum": [ { - "content": "STANDARD" + "content": "CUSTOM" }, { - "content": "STORAGE_OPTIMIZED" + "content": "LAST_SELECTED" } ] } } ] }, - "response": { - "pascal_name": "EndpointInfo", - "is_object": true - }, "all_fields": [ { - "name": "budget_policy_id", - "description": "The budget policy id to be applied", - "is_request_body_field": true, + "name": "allow_missing", + "description": "If set to true, and the override is not found, a new override will be created.\nIn this situation, `update_mask` is ignored and all fields are applied.\nDefaults to false.", + "is_query": true, "entity": { - "is_string": true + "is_bool": true } }, { - "name": "endpoint_type", - "description": "Type of endpoint", + "name": "default_warehouse_override", + "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "EndpointType", - "enum": [ + "pascal_name": "DefaultWarehouseOverride", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "content": "STANDARD" - }, + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } + } + ], + "required_request_body_fields": [ { - "content": "STORAGE_OPTIMIZED" + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } } ] } }, { "name": "name", - "description": "Name of the AI Search endpoint", + "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "target_qps", - "description": "Target QPS for the endpoint. Mutually exclusive with num_replicas.\nThe actual replica count is calculated at index creation/sync time based on this value.\nBest-effort target; the system does not guarantee this QPS will be achieved.", - "is_request_body_field": true, + "name": "update_mask", + "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", + "required": true, + "is_query": true, "entity": { - "is_int64": true + "is_field_mask": true } }, { - "name": "usage_policy_id", - "description": "The usage policy id to be applied once we've migrated to usage policies", + "name": "default_warehouse_override_id", + "description": "The ID component of the resource name (user ID).", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { "name": "name", - "description": "Name of the AI Search endpoint", - "required": true, + "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "endpoint_type", - "description": "Type of endpoint", + "name": "type", + "description": "The type of override behavior.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "EndpointType", + "pascal_name": "DefaultWarehouseOverrideType", "enum": [ { - "content": "STANDARD" + "content": "CUSTOM" }, { - "content": "STORAGE_OPTIMIZED" + "content": "LAST_SELECTED" } ] } - } - ], - "wait": { - "success": [ - { - "content": "ONLINE" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "EndpointInfo" - } }, - "status_path": [ - { - "pascal_name": "EndpointStatus" - }, - { - "pascal_name": "State" - } - ], - "message_path": [ - { - "pascal_name": "EndpointStatus" - }, - { - "pascal_name": "Message" - } - ], - "message_path_head": { - "pascal_name": "EndpointStatus" - } - } - }, - { - "name": "DeleteEndpoint", - "description": "Delete an AI Search endpoint.", - "summary": "Delete an endpoint.", - "path": "/api/2.0/vector-search/endpoints/{endpoint_name}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteEndpointRequest", - "is_object": true, - "required_fields": [ - { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "DeleteEndpointResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_path": true, + "name": "warehouse_id", + "description": "The specific warehouse ID when type is CUSTOM.\nNot set for LAST_SELECTED type.", + "is_request_body_field": true, "entity": { "is_string": true } @@ -199386,32 +207930,58 @@ ], "required_positional_arguments": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "name", + "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "update_mask", + "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "type", + "description": "The type of override behavior.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DefaultWarehouseOverrideType", + "enum": [ + { + "content": "CUSTOM" + }, + { + "content": "LAST_SELECTED" + } + ] + } } ] }, { - "name": "GetEndpoint", - "description": "Get details for a single AI Search endpoint.", - "summary": "Get an endpoint.", - "path": "/api/2.0/vector-search/endpoints/{endpoint_name}", - "is_crud_read": true, + "name": "UpdatePermissions", + "description": "Updates the permissions on a SQL warehouse. SQL warehouses can inherit permissions from their root object.", + "summary": "Update SQL warehouse permissions.", + "path": "/api/2.0/permissions/warehouses/{warehouse_id}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetEndpointRequest", + "pascal_name": "WarehousePermissionsRequest", "is_object": true, "required_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199421,8 +207991,8 @@ ], "required_in_url_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199432,13 +208002,24 @@ ] }, "response": { - "pascal_name": "EndpointInfo", + "pascal_name": "WarehousePermissions", "is_object": true }, "all_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "WarehouseAccessControlRequestList", + "array_value": { + "pascal_name": "WarehouseAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199448,8 +208029,8 @@ ], "required_positional_arguments": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "warehouse_id", + "description": "The SQL warehouse for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199457,35 +208038,58 @@ } } ] + } + ] + }, + { + "id": "workspace.Workspace", + "name": "Workspace", + "description": "The Workspace API allows you to list, import, export, and delete workspace objects such as\nnotebooks, files, folders, and dashboards. Additionally, it provides endpoints to manage\npermissions for any workspace object.\n\nA notebook is a web-based interface to a document that contains runnable code,\nvisualizations, and explanatory text.", + "package": { + "name": "workspace" + }, + "docs_group": "workspace", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "named_id_map": { + "pascal_name": "ObjectInfoPathToObjectIdMap" }, + "request": { + "pascal_name": "ListWorkspaceRequest" + } + }, + "methods": [ { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get vector search endpoint permission levels.", - "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}/permissionLevels", + "name": "Delete", + "description": "Deletes an object or a directory (and optionally recursively deletes all objects in the directory).\n* If `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.\n* If `path` is a non-empty directory and `recursive` is set to `false`, this call returns an error `DIRECTORY_NOT_EMPTY`.\n\nObject deletion cannot be undone and deleting a directory recursively is not atomic.", + "summary": "Delete a workspace object.", + "path": "/api/2.0/workspace/delete", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetVectorSearchEndpointPermissionLevelsRequest", + "pascal_name": "Delete", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -199493,26 +208097,35 @@ ] }, "response": { - "pascal_name": "GetVectorSearchEndpointPermissionLevelsResponse", - "is_object": true + "pascal_name": "DeleteResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "recursive", + "description": "The flag that specifies whether to delete the object recursively. It is `false` by default.\nPlease note this deleting directory is not atomic. If it fails in the middle, some of objects\nunder this directory may be deleted and cannot be undone.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } } ], "required_positional_arguments": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -199520,22 +208133,22 @@ ] }, { - "name": "GetPermissions", - "description": "Gets the permissions of a vector search endpoint. Vector search endpoints can inherit permissions from their root object.", - "summary": "Get vector search endpoint permissions.", - "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}", + "name": "Export", + "description": "Exports an object or the contents of an entire directory.\n\nIf `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.\n\nIf the exported data would exceed size limit, this call returns `MAX_NOTEBOOK_SIZE_EXCEEDED`.\nCurrently, this API does not support exporting a library.", + "summary": "Export a workspace object.", + "path": "/api/2.0/workspace/export", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetVectorSearchEndpointPermissionsRequest", + "pascal_name": "ExportRequest", "is_object": true, "required_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199543,10 +208156,10 @@ ], "required_in_url_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199554,15 +208167,46 @@ ] }, "response": { - "pascal_name": "VectorSearchEndpointPermissions", + "pascal_name": "ExportResponse", "is_object": true }, "all_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "format", + "description": "This specifies the format of the exported file. By default, this is `SOURCE`.\n\nThe value is case sensitive.\n\n- `SOURCE`: The notebook is exported as source code. Directory exports will not include non-notebook entries.\n- `HTML`: The notebook is exported as an HTML file.\n- `JUPYTER`: The notebook is exported as a Jupyter/IPython Notebook file.\n- `DBC`: The notebook is exported in Databricks archive format. Directory exports will not include non-notebook entries.\n- `R_MARKDOWN`: The notebook is exported to R Markdown format.\n- `AUTO`: The object or directory is exported depending on the objects type. Directory exports will include notebooks and workspace files.", + "is_query": true, + "entity": { + "pascal_name": "ExportFormat", + "enum": [ + { + "content": "AUTO" + }, + { + "content": "DBC" + }, + { + "content": "HTML" + }, + { + "content": "JUPYTER" + }, + { + "content": "RAW" + }, + { + "content": "R_MARKDOWN" + }, + { + "content": "SOURCE" + } + ] + } + }, + { + "name": "path", + "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199570,10 +208214,10 @@ ], "required_positional_arguments": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199581,62 +208225,29 @@ ] }, { - "name": "ListEndpoints", - "description": "List all AI Search endpoints in the workspace.", - "summary": "List all endpoints.", - "path": "/api/2.0/vector-search/endpoints", + "name": "GetPermissionLevels", + "description": "Gets the permission levels that a user can have on an object.", + "summary": "Get workspace object permission levels.", + "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}/permissionLevels", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListEndpointsRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListEndpointResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_token", - "description": "Token for pagination", - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Token for pagination", - "is_query": true, + "pascal_name": "GetWorkspaceObjectPermissionLevelsRequest", + "is_object": true, + "required_fields": [ + { + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, "entity": { "is_string": true } - } - } - } - }, - { - "name": "PatchEndpoint", - "description": "Update an endpoint", - "summary": "Update an endpoint.", - "path": "/api/2.0/vector-search/endpoints/{endpoint_name}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", - "request": { - "pascal_name": "PatchEndpointRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199646,8 +208257,17 @@ ], "required_in_url_fields": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199657,13 +208277,13 @@ ] }, "response": { - "pascal_name": "EndpointInfo", + "pascal_name": "GetWorkspaceObjectPermissionLevelsResponse", "is_object": true }, "all_fields": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199671,18 +208291,28 @@ } }, { - "name": "target_qps", - "description": "Target QPS for the endpoint. Best-effort; the system does not guarantee this QPS\nwill be achieved.", - "is_request_body_field": true, + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, "entity": { - "is_int64": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199692,22 +208322,29 @@ ] }, { - "name": "RetrieveUserVisibleMetrics", - "description": "Retrieve user-visible metrics for an endpoint", - "summary": "Retrieve user-visible metrics for an endpoint.", - "path": "/api/2.0/vector-search/endpoints/{name}/metrics", - "can_use_json": true, - "is_crud_read": true, + "name": "GetPermissions", + "description": "Gets the permissions of a workspace object. Workspace objects can inherit permissions from their parent objects or root object.", + "summary": "Get workspace object permissions.", + "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "RetrieveUserVisibleMetricsRequest", + "pascal_name": "GetWorkspaceObjectPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "AI Search endpoint name", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199717,8 +208354,17 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "AI Search endpoint name", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199728,68 +208374,42 @@ ] }, "response": { - "pascal_name": "RetrieveUserVisibleMetricsResponse", + "pascal_name": "WorkspaceObjectPermissions", "is_object": true }, "all_fields": [ { - "name": "end_time", - "description": "End time for metrics query", - "is_request_body_field": true, + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "granularity_in_seconds", - "description": "Granularity in seconds", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "metrics", - "description": "List of metrics to retrieve", - "is_request_body_field": true, - "entity": { - "pascal_name": "MetricList", - "array_value": { - "pascal_name": "Metric", - "is_object": true - } - } - }, - { - "name": "name", - "description": "AI Search endpoint name", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "page_token", - "description": "Token for pagination", - "is_request_body_field": true, + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "start_time", - "description": "Start time for metrics query", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "AI Search endpoint name", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -199799,23 +208419,23 @@ ] }, { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set vector search endpoint permissions.", - "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}", - "can_use_json": true, + "name": "GetStatus", + "description": "Gets the status of an object or a directory.\nIf `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.", + "summary": "Get status.", + "path": "/api/2.0/workspace/get-status", + "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "VectorSearchEndpointPermissionsRequest", + "pascal_name": "GetStatusRequest", "is_object": true, "required_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199823,10 +208443,10 @@ ], "required_in_url_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199834,26 +208454,15 @@ ] }, "response": { - "pascal_name": "VectorSearchEndpointPermissions", + "pascal_name": "ObjectInfo", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "VectorSearchEndpointAccessControlRequestList", - "array_value": { - "pascal_name": "VectorSearchEndpointAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199861,10 +208470,10 @@ ], "required_positional_arguments": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -199872,33 +208481,23 @@ ] }, { - "name": "UpdateEndpointBudgetPolicy", - "description": "Update the budget policy of an endpoint", - "summary": "Update the budget policy of an endpoint.", - "path": "/api/2.0/vector-search/endpoints/{endpoint_name}/budget-policy", + "name": "Import", + "description": "Imports a workspace object (for example, a notebook or file) or the contents of an entire directory.\nIf `path` already exists and `overwrite` is set to `false`, this call returns an error `RESOURCE_ALREADY_EXISTS`.\nTo import a directory, you can use either the `DBC` format or the `SOURCE` format with the `language` field unset.\nTo import a single file as `SOURCE`, you must set the `language` field.\nZip files within directories are not supported.", + "summary": "Import a workspace object.", + "path": "/api/2.0/workspace/import", "can_use_json": true, + "is_crud_create": true, "has_required_positional_arguments": true, - "launch_stage": "PUBLIC_PREVIEW", - "cli_launch_stage_label": "*Public Preview*", - "cli_launch_stage_banner": "This command is in Public Preview and may change without notice.", - "cli_launch_stage_display": "Public Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "PatchEndpointBudgetPolicyRequest", + "pascal_name": "Import", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "budget_policy_id", - "description": "The budget policy id to be applied", + "name": "path", + "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", "required": true, "is_request_body_field": true, "entity": { @@ -199906,21 +208505,10 @@ } } ], - "required_in_url_fields": [ - { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], "required_request_body_fields": [ { - "name": "budget_policy_id", - "description": "The budget policy id to be applied", + "name": "path", + "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", "required": true, "is_request_body_field": true, "entity": { @@ -199930,42 +208518,94 @@ ] }, "response": { - "pascal_name": "PatchEndpointBudgetPolicyResponse", - "is_object": true + "pascal_name": "ImportResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "budget_policy_id", - "description": "The budget policy id to be applied", - "required": true, + "name": "content", + "description": "The base64-encoded content. This has a limit of 10 MB.\n\nIf the limit (10MB) is exceeded, exception with error code **MAX_NOTEBOOK_SIZE_EXCEEDED** is thrown.\nThis parameter might be absent, and instead a posted file is used.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", - "required": true, - "is_path": true, + "name": "format", + "description": "This specifies the format of the file to be imported.\n\nThe value is case sensitive.\n\n- `AUTO`: The item is imported depending on an analysis of the item's extension and\nthe header content provided in the request. If the item is imported as a notebook,\nthen the item's extension is automatically removed.\n- `SOURCE`: The notebook or directory is imported as source code.\n- `HTML`: The notebook is imported as an HTML file.\n- `JUPYTER`: The notebook is imported as a Jupyter/IPython Notebook file.\n- `DBC`: The notebook is imported in Databricks archive format. Required for directories.\n- `R_MARKDOWN`: The notebook is imported from R Markdown format.", + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ImportFormat", + "enum": [ + { + "content": "AUTO" + }, + { + "content": "DBC" + }, + { + "content": "HTML" + }, + { + "content": "JUPYTER" + }, + { + "content": "RAW" + }, + { + "content": "R_MARKDOWN" + }, + { + "content": "SOURCE" + } + ] } - } - ], - "required_positional_arguments": [ + }, { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "language", + "description": "The language of the object. This value is set only if the object type is `NOTEBOOK`.", + "is_request_body_field": true, + "entity": { + "pascal_name": "Language", + "enum": [ + { + "content": "PYTHON" + }, + { + "content": "R" + }, + { + "content": "SCALA" + }, + { + "content": "SQL" + } + ] + } + }, + { + "name": "overwrite", + "description": "The flag that specifies whether to overwrite existing object. It is `false` by default.\nFor `DBC` format, `overwrite` is not supported since it may contain a directory.", + "is_request_body_field": true, + "entity": { + "is_bool": true + } + }, + { + "name": "path", + "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "budget_policy_id", - "description": "The budget policy id to be applied", + "name": "path", + "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", "required": true, "is_request_body_field": true, "entity": { @@ -199975,94 +208615,57 @@ ] }, { - "name": "UpdateEndpointCustomTags", - "description": "Update the custom tags of an endpoint.", - "summary": "Update the custom tags of an endpoint.", - "path": "/api/2.0/vector-search/endpoints/{endpoint_name}/tags", - "can_use_json": true, - "must_use_json": true, - "is_hidden_cli": true, + "name": "List", + "description": "Lists the contents of a directory, or the object if it is not a directory.\nIf the input path does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.", + "summary": "List contents.", + "path": "/api/2.0/workspace/list", "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateEndpointCustomTagsRequest", + "pascal_name": "ListWorkspaceRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "custom_tags", - "description": "The new custom tags for the AI Search endpoint", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CustomTagList", - "array_value": { - "pascal_name": "CustomTag", - "is_object": true - } - } } ], "required_in_url_fields": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } - ], - "required_request_body_fields": [ - { - "name": "custom_tags", - "description": "The new custom tags for the AI Search endpoint", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "CustomTagList", - "array_value": { - "pascal_name": "CustomTag", - "is_object": true - } - } - } ] }, "response": { - "pascal_name": "UpdateEndpointCustomTagsResponse", + "pascal_name": "ListResponse", "is_object": true }, "all_fields": [ { - "name": "custom_tags", - "description": "The new custom tags for the AI Search endpoint", - "required": true, - "is_request_body_field": true, + "name": "notebooks_modified_after", + "description": "UTC timestamp in milliseconds", + "is_query": true, "entity": { - "pascal_name": "CustomTagList", - "array_value": { - "pascal_name": "CustomTag", - "is_object": true - } + "is_int64": true } }, { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -200070,45 +208673,47 @@ ], "required_positional_arguments": [ { - "name": "endpoint_name", - "description": "Name of the AI Search endpoint", + "name": "path", + "description": "The absolute path of the notebook or directory.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } - ] + ], + "pagination": {} }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a vector search endpoint. Vector search endpoints can inherit permissions from their root object.", - "summary": "Update vector search endpoint permissions.", - "path": "/api/2.0/permissions/vector-search-endpoints/{endpoint_id}", + "name": "Mkdirs", + "description": "Creates the specified directory (and necessary parent directories if they do not exist).\nIf there is an object (not a directory) at any prefix of the input path, this call returns\nan error `RESOURCE_ALREADY_EXISTS`.\n\nNote that if this operation fails it may have succeeded in creating some of the necessary parent directories.", + "summary": "Create a directory.", + "path": "/api/2.0/workspace/mkdirs", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "VectorSearchEndpointPermissionsRequest", + "pascal_name": "Mkdirs", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -200116,26 +208721,16 @@ ] }, "response": { - "pascal_name": "VectorSearchEndpointPermissions", - "is_object": true + "pascal_name": "MkdirsResponse", + "is_object": true, + "is_empty_response": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "VectorSearchEndpointAccessControlRequestList", - "array_value": { - "pascal_name": "VectorSearchEndpointAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -200143,222 +208738,99 @@ ], "required_positional_arguments": [ { - "name": "endpoint_id", - "description": "The vector search endpoint for which to get or manage permissions.", + "name": "path", + "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "vectorsearch.VectorSearchIndexes", - "name": "VectorSearchIndexes", - "description": "**Index**: An efficient representation of your embedding vectors that supports real-time and\nefficient approximate nearest neighbor (ANN) search queries.\n\nThere are 2 types of AI Search indexes:\n- **Delta Sync Index**: An index that automatically syncs with a source Delta Table, automatically\nand incrementally updating the index as the underlying data in the Delta Table changes.\n- **Direct Vector Access Index**: An index that supports direct read and write of vectors and metadata\nthrough our REST and SDK APIs. With this model, the user manages index updates.", - "package": { - "name": "vectorsearch" - }, - "docs_group": "vectorsearch", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListIndexesRequest" - } - }, - "methods": [ + }, { - "name": "CreateIndex", - "description": "Create a new index.", - "summary": "Create an index.", - "path": "/api/2.0/vector-search/indexes", + "name": "SetPermissions", + "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their parent objects or root object.", + "summary": "Set workspace object permissions.", + "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}", "can_use_json": true, - "is_crud_create": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "CreateVectorIndexRequest", + "pascal_name": "WorkspaceObjectPermissionsRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Name of the index", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "endpoint_name", - "description": "Name of the endpoint to be used for serving the index", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "primary_key", - "description": "Primary key of the index", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "index_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "VectorIndexType", - "enum": [ - { - "content": "DELTA_SYNC" - }, - { - "content": "DIRECT_ACCESS" - } - ] - } } ], - "required_request_body_fields": [ - { - "name": "name", - "description": "Name of the index", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + "required_in_url_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint to be used for serving the index", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "primary_key", - "description": "Primary key of the index", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "index_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "VectorIndexType", - "enum": [ - { - "content": "DELTA_SYNC" - }, - { - "content": "DIRECT_ACCESS" - } - ] - } } ] }, "response": { - "pascal_name": "VectorIndex", + "pascal_name": "WorkspaceObjectPermissions", "is_object": true }, "all_fields": [ { - "name": "delta_sync_index_spec", - "description": "Specification for Delta Sync Index. Required if `index_type` is `DELTA_SYNC`.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DeltaSyncVectorIndexSpecRequest", - "is_object": true - } - }, - { - "name": "direct_access_index_spec", - "description": "Specification for Direct Vector Access Index. Required if `index_type` is `DIRECT_ACCESS`.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "DirectAccessVectorIndexSpec", - "is_object": true - } - }, - { - "name": "endpoint_name", - "description": "Name of the endpoint to be used for serving the index", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "index_subtype", - "description": "The subtype of the index. Use `HYBRID` or `FULL_TEXT`. `VECTOR` is not supported.", - "is_request_body_field": true, - "entity": { - "pascal_name": "IndexSubtype", - "enum": [ - { - "content": "FULL_TEXT" - }, - { - "content": "HYBRID" - }, - { - "content": "VECTOR" - } - ] - } - }, - { - "name": "index_type", - "required": true, + "name": "access_control_list", "is_request_body_field": true, "entity": { - "pascal_name": "VectorIndexType", - "enum": [ - { - "content": "DELTA_SYNC" - }, - { - "content": "DIRECT_ACCESS" - } - ] + "pascal_name": "WorkspaceObjectAccessControlRequestList", + "array_value": { + "pascal_name": "WorkspaceObjectAccessControlRequest", + "is_object": true + } } }, { - "name": "name", - "description": "Name of the index", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "primary_key", - "description": "Primary key of the index", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -200366,67 +208838,41 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "Name of the index", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "endpoint_name", - "description": "Name of the endpoint to be used for serving the index", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "primary_key", - "description": "Primary key of the index", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "index_type", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "VectorIndexType", - "enum": [ - { - "content": "DELTA_SYNC" - }, - { - "content": "DIRECT_ACCESS" - } - ] - } } ] }, { - "name": "DeleteDataVectorIndex", - "description": "Handles the deletion of data from a specified vector index.", - "summary": "Delete data from index.", - "path": "/api/2.0/vector-search/indexes/{index_name}/delete-data", + "name": "UpdatePermissions", + "description": "Updates the permissions on a workspace object. Workspace objects can inherit permissions from their parent objects or root object.", + "summary": "Update workspace object permissions.", + "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}", "can_use_json": true, - "must_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteDataVectorIndexRequest", + "pascal_name": "WorkspaceObjectPermissionsRequest", "is_object": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, "is_path": true, "entity": { @@ -200434,22 +208880,19 @@ } }, { - "name": "primary_keys", - "description": "List of primary keys for the data to be deleted.", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, "is_path": true, "entity": { @@ -200457,27 +208900,35 @@ } }, { - "name": "primary_keys", - "description": "List of primary keys for the data to be deleted.", + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ] }, "response": { - "pascal_name": "DeleteDataVectorIndexResponse", + "pascal_name": "WorkspaceObjectPermissions", "is_object": true }, "all_fields": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", + "name": "access_control_list", + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceObjectAccessControlRequestList", + "array_value": { + "pascal_name": "WorkspaceObjectAccessControlRequest", + "is_object": true + } + } + }, + { + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -200485,22 +208936,28 @@ } }, { - "name": "primary_keys", - "description": "List of primary keys for the data to be deleted.", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", "required": true, - "is_query": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_string": true } } ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be deleted. Must be a Direct Vector Access Index.", + "name": "workspace_object_type", + "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_object_id", + "description": "The workspace object for which to get or manage permissions.", "required": true, "is_path": true, "entity": { @@ -200508,444 +208965,397 @@ } } ] - }, + } + ] + }, + { + "id": "iam.WorkspaceAssignment", + "name": "WorkspaceAssignment", + "description": "The Workspace Permission Assignment API allows you to manage workspace permissions for principals in your account.", + "package": { + "name": "iam" + }, + "is_accounts": true, + "docs_group": "iam", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "list": { + "request": { + "pascal_name": "ListWorkspaceAssignmentRequest" + } + }, + "methods": [ { - "name": "DeleteIndex", - "description": "Delete an index.", - "summary": "Delete an index.", - "path": "/api/2.0/vector-search/indexes/{index_name}", + "name": "Delete", + "description": "Deletes the workspace permissions assignment in a given account and workspace for the specified principal.", + "summary": "Delete permissions assignment.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments/principals/{principal_id}", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "DeleteIndexRequest", + "pascal_name": "DeleteWorkspaceAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "pascal_name": "DeleteIndexResponse", + "pascal_name": "DeleteWorkspacePermissionAssignmentResponse", "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "index_name", - "description": "Name of the index", + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "workspace_id", + "description": "The workspace ID for the account.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, { - "name": "GetIndex", - "description": "Get an index.", - "summary": "Get an index.", - "path": "/api/2.0/vector-search/indexes/{index_name}", + "name": "Get", + "description": "Get an array of workspace permissions for the specified account and workspace.", + "summary": "List workspace permissions.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments/permissions", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GetIndexRequest", + "pascal_name": "GetWorkspaceAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "VectorIndex", + "pascal_name": "WorkspacePermissions", "is_object": true }, "all_fields": [ { - "name": "ensure_reranker_compatible", - "description": "If true, the URL returned for the index is guaranteed to be compatible with the reranker.\nCurrently this means we return the CP URL regardless of how the index is being accessed.\nIf not set or set to false, the URL may still be compatible with the reranker depending on\nwhat URL we return.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the index", + "name": "workspace_id", + "description": "The workspace ID.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "ListIndexes", - "description": "List all indexes in the given endpoint.", - "summary": "List indexes.", - "path": "/api/2.0/vector-search/indexes", + "name": "List", + "description": "Get the permission assignments for the specified Databricks account and Databricks workspace.", + "summary": "Get permission assignments.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ListIndexesRequest", + "pascal_name": "ListWorkspaceAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "ListVectorIndexesResponse", + "pascal_name": "PermissionAssignments", "is_object": true }, "all_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, - "is_query": true, - "entity": { - "is_string": true - } - }, - { - "name": "page_token", - "description": "Token for pagination", - "is_query": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "endpoint_name", - "description": "Name of the endpoint", + "name": "workspace_id", + "description": "The workspace ID for the account.", "required": true, - "is_query": true, + "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Token for pagination", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } + "pagination": {} }, { - "name": "QueryIndex", - "description": "Query the specified vector index.", - "summary": "Query an index.", - "path": "/api/2.0/vector-search/indexes/{index_name}/query", + "name": "Update", + "description": "Creates or updates the workspace permissions assignment in a given account and workspace for the specified principal.", + "summary": "Create or update permissions assignment.", + "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments/principals/{principal_id}", "can_use_json": true, - "must_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "QueryVectorIndexRequest", + "pascal_name": "UpdateWorkspaceAssignments", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "workspace_id", + "description": "The workspace ID.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "columns", - "description": "List of column names to include in the response.", + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "workspace_id", + "description": "The workspace ID.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "columns", - "description": "List of column names to include in the response.", + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } + "is_int64": true } } ] }, "response": { - "pascal_name": "QueryVectorIndexResponse", + "pascal_name": "PermissionAssignment", "is_object": true }, "all_fields": [ { - "name": "columns", - "description": "List of column names to include in the response.", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "columns_to_rerank", - "description": "Column names used to retrieve data to send to the reranker.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "facets", - "description": "Facets to compute over the matched results. Each entry has one of these forms:\n`\"\u003ccolumn\u003e\"` - top 10 distinct values by count\n`\"\u003ccolumn\u003e TOP \u003cn\u003e\"` - top n distinct values, where n \u003e 0\n`\"\u003ccolumn\u003e BUCKETS [[from,to],...]\"` - inclusive numeric ranges\n`TOP` and `BUCKETS` are case-insensitive. A column may appear at most once.", + "name": "permissions", + "description": "Array of permissions assignments to update on the workspace.\nValid values are \"USER\" and \"ADMIN\" (case-sensitive).\nIf both \"USER\" and \"ADMIN\" are provided, \"ADMIN\" takes precedence.\nOther values will be ignored.\nNote that excluding this field, or providing unsupported values, will have the same effect as providing an empty list, which will result in the deletion of all permissions for the principal.", "is_request_body_field": true, "entity": { - "pascal_name": "List", + "pascal_name": "WorkspacePermissionList", "array_value": { - "is_string": true + "pascal_name": "WorkspacePermission", + "enum": [ + { + "content": "ADMIN" + }, + { + "content": "UNKNOWN" + }, + { + "content": "USER" + } + ] } } }, { - "name": "filters_json", - "description": "JSON string representing query filters.\n\nExample filters:\n\n- `{\"id \u003c\": 5}`: Filter for id less than 5.\n- `{\"id \u003e\": 5}`: Filter for id greater than 5.\n- `{\"id \u003c=\": 5}`: Filter for id less than equal to 5.\n- `{\"id \u003e=\": 5}`: Filter for id greater than equal to 5.\n- `{\"id\": 5}`: Filter for id equal to 5.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", "required": true, "is_path": true, "entity": { - "is_string": true - } - }, - { - "name": "num_results", - "description": "Number of results to return. Defaults to 10.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "query_columns", - "description": "Text columns to search for `query_text`. When empty, all text columns are searched.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, - { - "name": "query_text", - "description": "Query text. Required for Delta Sync Index using model endpoint.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "query_type", - "description": "The query type to use. Choices are `ANN` and `HYBRID` and `FULL_TEXT`. Defaults to `ANN`.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "query_vector", - "description": "Query vector. Required for Direct Vector Access Index and Delta Sync Index using self-managed vectors.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_float64": true - } + "is_int64": true } }, { - "name": "reranker", - "description": "If set, the top 50 results are reranked with the Databricks Reranker model before returning the `num_results` results to the user.\nThe setting `columns_to_rerank` selects which columns are used for reranking. For each datapoint, the columns selected are concatenated before\nbeing sent to the reranking model. See https://docs.databricks.com/aws/en/vector-search/query-vector-search#rerank for more information.", - "is_request_body_field": true, - "is_optional_object": true, + "name": "workspace_id", + "description": "The workspace ID.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "RerankerConfig", - "is_object": true + "is_int64": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "score_threshold", - "description": "Threshold for the approximate nearest neighbor search. Defaults to 0.0.", - "is_request_body_field": true, + "name": "workspace_id", + "description": "The workspace ID.", + "required": true, + "is_path": true, "entity": { - "is_float64": true + "is_int64": true } }, { - "name": "sort_columns", - "description": "Sort results by column values instead of the default relevance ordering.\nEach clause has the form `\"\u003ccolumn\u003e ASC\"` or `\"\u003ccolumn\u003e DESC\"`, for example\n`[\"rating DESC\", \"price ASC\"]`.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - } - ], - "required_positional_arguments": [ - { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "principal_id", + "description": "The ID of the user, service principal, or group.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] - }, + } + ] + }, + { + "id": "catalog.WorkspaceBindings", + "name": "WorkspaceBindings", + "description": "A securable in Databricks can be configured as __OPEN__ or __ISOLATED__. An __OPEN__ securable can\nbe accessed from any workspace, while an __ISOLATED__ securable can only be accessed from a configured\nlist of workspaces. This API allows you to configure (bind) securables to workspaces.\n\nNOTE:\nThe __isolation_mode__ is configured for the securable itself (using its Update method) and\nthe workspace bindings are only consulted when the securable's __isolation_mode__ is set to __ISOLATED__.\n\nA securable's workspace bindings can be configured by a metastore admin or the owner of the securable.\n\nThe original path (/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}) is deprecated.\nUse the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}),\nwhich introduces the ability to bind a securable in READ_ONLY mode (catalogs only).\n\nSecurable types that support binding:\n- catalog\n- storage_credential\n- credential\n- external_location", + "package": { + "name": "catalog" + }, + "docs_group": "catalog", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "methods": [ { - "name": "QueryNextPage", - "description": "Use `next_page_token` returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` request to fetch next page of results.", - "summary": "Query next page.", - "path": "/api/2.0/vector-search/indexes/{index_name}/query-next-page", - "can_use_json": true, + "name": "Get", + "description": "Gets workspace bindings of the catalog.\nThe caller must be a metastore admin or an owner of the catalog.", + "summary": "Get catalog workspace bindings.", + "path": "/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "QueryVectorIndexNextPageRequest", + "pascal_name": "GetWorkspaceBindingRequest", "is_object": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { @@ -200955,8 +209365,8 @@ ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { @@ -200966,40 +209376,24 @@ ] }, "response": { - "pascal_name": "QueryVectorIndexResponse", + "pascal_name": "GetCatalogWorkspaceBindingsResponse", "is_object": true }, "all_fields": [ { - "name": "endpoint_name", - "description": "Name of the endpoint.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { "is_string": true } - }, - { - "name": "page_token", - "description": "Page token returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` API.", - "is_request_body_field": true, - "entity": { - "is_string": true - } } ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the vector index to query.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { @@ -201009,22 +209403,30 @@ ] }, { - "name": "ScanIndex", - "description": "Scan the specified vector index and return the first `num_results` entries after the exclusive `primary_key`.", - "summary": "Scan an index.", - "path": "/api/2.0/vector-search/indexes/{index_name}/scan", - "can_use_json": true, + "name": "GetBindings", + "description": "Gets workspace bindings of the securable.\nThe caller must be a metastore admin or an owner of the securable.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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": "Get securable workspace bindings.", + "path": "/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}", "is_crud_read": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "ScanVectorIndexRequest", + "pascal_name": "GetBindingsRequest", "is_object": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the vector index to scan.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "securable_name", + "description": "The name of the securable.", "required": true, "is_path": true, "entity": { @@ -201034,8 +209436,17 @@ ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the vector index to scan.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "securable_name", + "description": "The name of the securable.", "required": true, "is_path": true, "entity": { @@ -201045,63 +209456,102 @@ ] }, "response": { - "pascal_name": "ScanVectorIndexResponse", + "pascal_name": "GetWorkspaceBindingsResponse", "is_object": true }, "all_fields": [ { - "name": "index_name", - "description": "Name of the vector index to scan.", - "required": true, - "is_path": true, + "name": "max_results", + "description": "Maximum number of workspace bindings to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the workspace bindings are returned (not recommended).", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, "entity": { "is_string": true } }, { - "name": "last_primary_key", - "description": "Primary key of the last entry returned in the previous scan.", - "is_request_body_field": true, + "name": "securable_name", + "description": "The name of the securable.", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "num_results", - "description": "Number of results to return. Defaults to 10.", - "is_request_body_field": true, + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", + "required": true, + "is_path": true, "entity": { - "is_int": true + "is_string": true } } ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the vector index to scan.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "securable_name", + "description": "The name of the securable.", "required": true, "is_path": true, "entity": { "is_string": true } } - ] + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Opaque pagination token to go to next page based on previous query.", + "is_query": true, + "entity": { + "is_string": true + } + } + }, + "max_results": { + "name": "max_results", + "description": "Maximum number of workspace bindings to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the workspace bindings are returned (not recommended).", + "is_query": true, + "entity": { + "is_int": true + } + } + } }, { - "name": "SyncIndex", - "description": "Triggers a synchronization process for a specified vector index.", - "summary": "Synchronize an index.", - "path": "/api/2.0/vector-search/indexes/{index_name}/sync", + "name": "Update", + "description": "Updates workspace bindings of the catalog.\nThe caller must be a metastore admin or an owner of the catalog.", + "summary": "Update catalog workspace bindings.", + "path": "/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}", + "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "SyncIndexRequest", + "pascal_name": "UpdateWorkspaceBindings", "is_object": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { @@ -201111,8 +209561,8 @@ ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { @@ -201122,25 +209572,46 @@ ] }, "response": { - "pascal_name": "SyncIndexResponse", - "is_object": true, - "is_empty_response": true + "pascal_name": "UpdateCatalogWorkspaceBindingsResponse", + "is_object": true }, "all_fields": [ { - "name": "index_name", - "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "name": "assign_workspaces", + "description": "A list of workspace IDs.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_int64": true + } + } + }, + { + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { "is_string": true } + }, + { + "name": "unassign_workspaces", + "description": "A list of workspace IDs.", + "is_request_body_field": true, + "entity": { + "pascal_name": "List", + "array_value": { + "is_int64": true + } + } } ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the vector index to synchronize. Must be a Delta Sync Index.", + "name": "name", + "description": "The name of the catalog.", "required": true, "is_path": true, "entity": { @@ -201150,22 +209621,21 @@ ] }, { - "name": "UpsertDataVectorIndex", - "description": "Handles the upserting of data into a specified vector index.", - "summary": "Upsert data into an index.", - "path": "/api/2.0/vector-search/indexes/{index_name}/upsert-data", + "name": "UpdateBindings", + "description": "Updates workspace bindings of the securable.\nThe caller must be a metastore admin or an owner of the securable.", + "summary": "Update securable workspace bindings.", + "path": "/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpsertDataVectorIndexRequest", + "pascal_name": "UpdateWorkspaceBindingsParameters", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", "required": true, "is_path": true, "entity": { @@ -201173,10 +209643,10 @@ } }, { - "name": "inputs_json", - "description": "JSON string representing the data to be upserted.", + "name": "securable_name", + "description": "The name of the securable.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -201184,21 +209654,19 @@ ], "required_in_url_fields": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "inputs_json", - "description": "JSON string representing the data to be upserted.", + "name": "securable_name", + "description": "The name of the securable.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -201206,13 +209674,37 @@ ] }, "response": { - "pascal_name": "UpsertDataVectorIndexResponse", + "pascal_name": "UpdateWorkspaceBindingsResponse", "is_object": true }, "all_fields": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", + "name": "add", + "description": "List of workspace bindings to add. If a binding for the workspace already exists with a\ndifferent binding_type, adding it again with a new binding_type will update the existing\nbinding (e.g., from READ_WRITE to READ_ONLY).", + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceBindingList", + "array_value": { + "pascal_name": "WorkspaceBinding", + "is_object": true + } + } + }, + { + "name": "remove", + "description": "List of workspace bindings to remove.", + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceBindingList", + "array_value": { + "pascal_name": "WorkspaceBinding", + "is_object": true + } + } + }, + { + "name": "securable_name", + "description": "The name of the securable.", "required": true, "is_path": true, "entity": { @@ -201220,10 +209712,10 @@ } }, { - "name": "inputs_json", - "description": "JSON string representing the data to be upserted.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -201231,8 +209723,8 @@ ], "required_positional_arguments": [ { - "name": "index_name", - "description": "Name of the vector index where data is to be upserted. Must be a Direct Vector Access Index.", + "name": "securable_type", + "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", "required": true, "is_path": true, "entity": { @@ -201240,10 +209732,10 @@ } }, { - "name": "inputs_json", - "description": "JSON string representing the data to be upserted.", + "name": "securable_name", + "description": "The name of the securable.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -201253,60 +209745,230 @@ ] }, { - "id": "catalog.Volumes", - "name": "Volumes", - "description": "Volumes are a Unity Catalog (UC) capability for accessing, storing, governing,\norganizing, and processing files. Use cases include running machine learning\non unstructured data such as image, audio, video, or PDF files, organizing data sets\nduring the data exploration stages in data science, working with libraries\nthat require access to the local file system on cluster machines, storing library\nand config files of arbitrary formats such as .whl or .txt centrally\nand providing secure access to those files across workspaces,\nor transforming and querying non-tabular data files in ETL.", + "id": "settings.WorkspaceConf", + "name": "WorkspaceConf", + "description": "This API allows updating known workspace settings for advanced users.", "package": { - "name": "catalog" + "name": "settings" }, - "docs_group": "catalog", + "docs_group": "settings", "launch_stage": "GA", "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "VolumeInfoNameToVolumeIdMap" + "methods": [ + { + "name": "GetStatus", + "description": "Gets the configuration status for a workspace.", + "summary": "Check configuration status.", + "path": "/api/2.0/workspace-conf", + "is_crud_read": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "GetStatusRequest", + "is_object": true, + "required_fields": [ + { + "name": "keys", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "keys", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "WorkspaceConf", + "map_value": { + "is_string": true + } + }, + "all_fields": [ + { + "name": "keys", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "keys", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ] }, + { + "name": "SetStatus", + "description": "Sets the configuration status for a workspace, including enabling or disabling it.", + "summary": "Enable/disable features.", + "path": "/api/2.0/workspace-conf", + "can_use_json": true, + "must_use_json": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "WorkspaceConf", + "map_value": { + "is_string": true + } + }, + "response": { + "is_empty_response": true + } + } + ] + }, + { + "id": "tags.WorkspaceEntityTagAssignments", + "name": "WorkspaceEntityTagAssignments", + "description": "Manage tag assignments on workspace-scoped objects.", + "package": { + "name": "tags" + }, + "docs_group": "tags", + "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", + "list": { "request": { - "pascal_name": "ListVolumesRequest" + "pascal_name": "ListTagAssignmentsRequest" } }, "methods": [ { - "name": "Create", - "description": "Creates a new volume.\n\nThe user could create either an external volume or a managed volume. An external volume\nwill be created in the specified external location, while a managed volume\nwill be located in the default location which is specified by the parent schema,\nor the parent catalog, or the Metastore.\n\nFor the volume creation to succeed, the user must satisfy following conditions:\n- The caller must be a metastore admin, or be the owner of the parent catalog and schema,\nor have the **USE_CATALOG** privilege on the parent catalog\nand the **USE_SCHEMA** privilege on the parent schema.\n- The caller must have **CREATE VOLUME** privilege on the parent schema.\n\nFor an external volume, following conditions also need to satisfy\n- The caller must have **CREATE EXTERNAL VOLUME** privilege on the external location.\n- There are no other tables, nor volumes existing in the specified storage location.\n- The specified storage location is not under the location of other tables, nor volumes,\nor catalogs or schemas.", - "summary": "Create a Volume.", - "path": "/api/2.1/unity-catalog/volumes", + "name": "CreateTagAssignment", + "description": "Create a tag assignment", + "summary": "Create a tag assignment for an entity.", + "path": "/api/2.0/entity-tag-assignments", "can_use_json": true, "is_crud_create": 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": "CreateVolumeRequestContent", + "pascal_name": "CreateTagAssignmentRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the volume are", + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TagAssignment", + "is_object": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "schema_name", - "description": "The name of the schema where the volume is", + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TagAssignment", + "is_object": true } - }, + } + ] + }, + "request_body_field": { + "name": "tag_assignment", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "TagAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "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", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] + } + }, + "response": { + "pascal_name": "TagAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "name", - "description": "The name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -201314,36 +209976,28 @@ } }, { - "name": "volume_type", - "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "VolumeType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "MANAGED" - } - ] + "is_string": true } - } - ], - "required_request_body_fields": [ + }, { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the volume are", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "schema_name", - "description": "The name of the schema where the volume is", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -201351,8 +210005,8 @@ } }, { - "name": "name", - "description": "The name of the volume", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_request_body_field": true, "entity": { @@ -201360,49 +210014,97 @@ } }, { - "name": "volume_type", - "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "VolumeType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "MANAGED" - } - ] + "is_string": true } } ] }, - "response": { - "pascal_name": "VolumeInfo", - "is_object": true - }, "all_fields": [ { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the volume are", + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "TagAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "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", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ] } }, { - "name": "comment", - "description": "The comment attached to the volume", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "The name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -201410,8 +210112,8 @@ } }, { - "name": "schema_name", - "description": "The name of the schema where the volume is", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_request_body_field": true, "entity": { @@ -201419,35 +210121,18 @@ } }, { - "name": "storage_location", - "description": "The storage location on the cloud", + "name": "tag_value", + "description": "The value of the tag", "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "volume_type", - "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "VolumeType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "MANAGED" - } - ] - } } ], "required_positional_arguments": [ { - "name": "catalog_name", - "description": "The name of the catalog where the schema and the volume are", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { @@ -201455,8 +210140,8 @@ } }, { - "name": "schema_name", - "description": "The name of the schema where the volume is", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_request_body_field": true, "entity": { @@ -201464,139 +210149,82 @@ } }, { - "name": "name", - "description": "The name of the volume", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_request_body_field": true, "entity": { "is_string": true } - }, - { - "name": "volume_type", - "description": "The type of the volume. An external volume is located in the specified external location.\nA managed volume is located in the default location which is specified by the parent schema, or the parent catalog, or the Metastore.\n[Learn more](https://docs.databricks.com/aws/en/volumes/managed-vs-external)", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "VolumeType", - "enum": [ - { - "content": "EXTERNAL" - }, - { - "content": "MANAGED" - } - ] - } } ] }, { - "name": "Delete", - "description": "Deletes a volume from the specified parent catalog and schema.\n\nThe caller must be a metastore admin or an owner of the volume.\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.", - "summary": "Delete a Volume.", - "path": "/api/2.1/unity-catalog/volumes/{name}", + "name": "DeleteTagAssignment", + "description": "Delete a tag assignment", + "summary": "Delete a tag assignment for an entity.", + "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key}", "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": "DeleteVolumeRequest", + "pascal_name": "DeleteTagAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "List", - "description": "Gets an array of volumes for the current metastore\nunder the parent catalog and schema.\n\nThe returned volumes are filtered based on the privileges of the calling user.\nFor example, the metastore admin is able to list all the volumes.\nA regular user needs to be the owner or have the **READ VOLUME** privilege\non the volume to receive the volumes 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 array.\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 Volumes.", - "path": "/api/2.1/unity-catalog/volumes", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListVolumesRequest", - "is_object": true, - "required_fields": [ + }, { - "name": "catalog_name", - "description": "The identifier of the catalog", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "schema_name", - "description": "The identifier of the schema", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "catalog_name", - "description": "The identifier of the catalog", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "The identifier of the schema", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -201604,48 +210232,32 @@ ] }, "response": { - "pascal_name": "ListVolumesResponseContent", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "catalog_name", - "description": "The identifier of the catalog", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "include_browse", - "description": "Whether to include volumes in the response for which the principal can only access selective metadata for", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "max_results", - "description": "Maximum number of volumes to return (page length).\n\nIf not set, the page length is set to a server configured value (10000, as of 1/29/2024).\n- when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 1/29/2024);\n- when set to 0, the page length is set to a server configured value (10000, as of 1/29/2024) (recommended);\n- when set to a value less than 0, an invalid parameter error is returned;\n\nNote: this parameter controls only the maximum number of volumes to return. The actual number of volumes returned in a page\nmay be smaller than this value, including 0, even if there are more pages.", - "is_query": true, - "entity": { - "is_int": true - } - }, - { - "name": "page_token", - "description": "Opaque token returned by a previous request. It must be included in the request to retrieve the next page of results (pagination).", - "is_query": true, + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "The identifier of the schema", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -201653,53 +210265,70 @@ ], "required_positional_arguments": [ { - "name": "catalog_name", - "description": "The identifier of the catalog", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "schema_name", - "description": "The identifier of the schema", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Opaque token returned by a previous request. It must be included in the request to retrieve the next page of results (pagination).", - "is_query": true, - "entity": { - "is_string": true - } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_path": true, + "entity": { + "is_string": true } } - } + ] }, { - "name": "Read", - "description": "Gets a volume from the metastore for a specific catalog and schema.\n\nThe caller must be a metastore admin or an owner of (or have the **READ VOLUME**\nprivilege on) the volume.\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.", - "summary": "Get a Volume.", - "path": "/api/2.1/unity-catalog/volumes/{name}", + "name": "GetTagAssignment", + "description": "Get a tag assignment", + "summary": "Get a tag assignment for an entity.", + "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key}", "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": "ReadVolumeRequest", + "pascal_name": "GetTagAssignmentRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_path": true, "entity": { @@ -201709,8 +210338,26 @@ ], "required_in_url_fields": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_path": true, "entity": { @@ -201720,91 +210367,72 @@ ] }, "response": { - "pascal_name": "VolumeInfo", - "is_object": true - }, - "all_fields": [ - { - "name": "include_browse", - "description": "Whether to include volumes in the response for which the principal can only access selective metadata for", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Update", - "description": "Updates the specified volume under the specified parent catalog and schema.\n\nThe caller must be a metastore admin or an owner of the volume.\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\nCurrently only the name, the owner or the comment of the volume could be updated.", - "summary": "Update a Volume.", - "path": "/api/2.1/unity-catalog/volumes/{name}", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "UpdateVolumeRequestContent", + "pascal_name": "TagAssignment", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "VolumeInfo", - "is_object": true - }, - "all_fields": [ - { - "name": "comment", - "description": "The comment attached to the volume", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, + ] + }, + "all_fields": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_path": true, "entity": { @@ -201812,17 +210440,19 @@ } }, { - "name": "new_name", - "description": "New name for the volume.", - "is_request_body_field": true, + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "owner", - "description": "The identifier of the user who owns the volume", - "is_request_body_field": true, + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -201830,79 +210460,28 @@ ], "required_positional_arguments": [ { - "name": "name", - "description": "The three-level (fully qualified) name of the volume", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - } - ] - }, - { - "id": "provisioning.VpcEndpoints", - "name": "VpcEndpoints", - "description": "These APIs manage VPC endpoint configurations for this account.", - "package": { - "name": "provisioning" - }, - "is_accounts": true, - "docs_group": "provisioning", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ - { - "name": "Create", - "description": "Creates a VPC endpoint configuration, which represents a\n[VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html)\nobject in AWS used to communicate privately with Databricks over\n[AWS PrivateLink](https://aws.amazon.com/privatelink).\n\nAfter you create the VPC endpoint configuration, the Databricks\n[endpoint service](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)\nautomatically accepts the VPC endpoint.\n\nBefore configuring PrivateLink, read the\n[Databricks article about PrivateLink](https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html).", - "summary": "Create a VPC endpoint configuration.", - "path": "/api/2.0/accounts/{account_id}/vpc-endpoints", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateVpcEndpointRequest", - "is_object": true - }, - "response": { - "pascal_name": "VpcEndpoint", - "is_object": true - }, - "all_fields": [ - { - "name": "aws_vpc_endpoint_id", - "description": "The ID of the VPC endpoint object in AWS.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "gcp_vpc_endpoint_info", - "description": "The cloud info of this vpc endpoint.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "GcpVpcEndpointInfo", - "is_object": true - } }, { - "name": "region", - "description": "The region in which this VPC endpoint object exists.", - "is_request_body_field": true, + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "vpc_endpoint_name", - "description": "The human-readable name of the storage configuration.", - "is_request_body_field": true, + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_path": true, "entity": { "is_string": true } @@ -201910,89 +210489,51 @@ ] }, { - "name": "Delete", - "description": "Deletes a Databricks VPC endpoint configuration. You cannot delete a VPC endpoint configuration that is associated with any workspace.", - "summary": "Delete a VPC endpoint configuration.", - "path": "/api/2.0/accounts/{account_id}/vpc-endpoints/{vpc_endpoint_id}", + "name": "ListTagAssignments", + "description": "List the tag assignments for an entity", + "summary": "List tag assignments for an entity.", + "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags", "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": "DeleteVpcEndpointRequest", + "pascal_name": "ListTagAssignmentsRequest", "is_object": true, "required_fields": [ { - "name": "vpc_endpoint_id", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "vpc_endpoint_id", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_path": true, "entity": { "is_string": true } } - ] - }, - "response": { - "pascal_name": "VpcEndpoint", - "is_object": true - }, - "all_fields": [ - { - "name": "vpc_endpoint_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "vpc_endpoint_id", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Get", - "description": "Gets a VPC endpoint configuration, which represents\na [VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html)\nobject in AWS used to communicate privately with Databricks over\n[AWS PrivateLink](https://aws.amazon.com/privatelink).", - "summary": "Get a VPC endpoint configuration.", - "path": "/api/2.0/accounts/{account_id}/vpc-endpoints/{vpc_endpoint_id}", - "is_crud_read": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetVpcEndpointRequest", - "is_object": true, - "required_fields": [ + ], + "required_in_url_fields": [ { - "name": "vpc_endpoint_id", - "description": "Databricks VPC endpoint ID.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "vpc_endpoint_id", - "description": "Databricks VPC endpoint ID.", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_path": true, "entity": { @@ -202002,285 +210543,133 @@ ] }, "response": { - "pascal_name": "VpcEndpoint", + "pascal_name": "ListTagAssignmentsResponse", "is_object": true }, "all_fields": [ { - "name": "vpc_endpoint_id", - "description": "Databricks VPC endpoint ID.", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "vpc_endpoint_id", - "description": "Databricks VPC endpoint ID.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_path": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "List", - "description": "Lists Databricks VPC endpoint configurations for an account.", - "summary": "List VPC endpoint configurations.", - "path": "/api/2.0/accounts/{account_id}/vpc-endpoints", - "is_legacy_empty_request": true, - "is_crud_read": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListVpcEndpointsRequest", - "is_object": true - }, - "response": { - "pascal_name": "VpcEndpointList", - "array_value": { - "pascal_name": "VpcEndpoint", - "is_object": true - } - } - } - ] - }, - { - "id": "sql.Warehouses", - "name": "Warehouses", - "description": "A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide processing capabilities in the cloud.", - "package": { - "name": "sql" - }, - "docs_group": "sql", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "EndpointInfoNameToIdMap" - }, - "request": { - "pascal_name": "ListWarehousesRequest" - } - }, - "methods": [ - { - "name": "Create", - "description": "Creates a new SQL warehouse.", - "summary": "Create a warehouse.", - "path": "/api/2.0/sql/warehouses", - "can_use_json": true, - "is_crud_create": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "CreateWarehouseRequest", - "is_object": true - }, - "response": { - "pascal_name": "CreateWarehouseResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "auto_stop_mins", - "description": "The amount of time in minutes that a SQL warehouse must be idle (i.e., no\nRUNNING queries) before it is automatically stopped.\n\nSupported values:\n- Must be == 0 or \u003e= 10 mins\n- 0 indicates no autostop.\n\nDefaults to 120 mins", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "channel", - "description": "Channel Details", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Channel", - "is_object": true - } }, { - "name": "cluster_size", - "description": "Size of the clusters allocated for this warehouse.\nIncreasing the size of a spark cluster allows you to run larger queries on\nit. If you want to increase the number of concurrent queries, please tune\nmax_num_clusters.\n\nSupported values:\n- 2X-Small\n- X-Small\n- Small\n- Medium\n- Large\n- X-Large\n- 2X-Large\n- 3X-Large\n- 4X-Large\n- 5X-Large", - "is_request_body_field": true, + "name": "page_size", + "description": "Optional. Maximum number of tag assignments to return in a single page", + "is_query": true, "entity": { - "is_string": true + "is_int": true } }, { - "name": "creator_name", - "description": "warehouse creator name", - "is_request_body_field": true, + "name": "page_token", + "description": "Pagination token to go to the next page of tag assignments. Requests first page if absent.", + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "enable_photon", - "description": "Configures whether the warehouse should use Photon optimized clusters.\n\nDefaults to true.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "enable_serverless_compute", - "description": "Configures whether the warehouse should use serverless compute", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, + } + ], + "required_positional_arguments": [ { - "name": "instance_profile_arn", - "description": "Deprecated. Instance profile used to pass IAM role to the cluster", - "is_request_body_field": true, + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "max_num_clusters", - "description": "Maximum number of clusters that the autoscaler will create to handle\nconcurrent queries.\n\nSupported values:\n- Must be \u003e= min_num_clusters\n- Must be \u003c= 40.\n\nDefaults to min_clusters if unset.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "min_num_clusters", - "description": "Minimum number of available clusters that will be maintained for this SQL\nwarehouse. Increasing this will ensure that a larger number of clusters are\nalways running and therefore may reduce the cold start time for new\nqueries. This is similar to reserved vs. revocable cores in a resource\nmanager.\n\nSupported values:\n- Must be \u003e 0\n- Must be \u003c= min(max_num_clusters, 30)\n\nDefaults to 1", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "name", - "description": "Logical name for the cluster.\n\nSupported values:\n- Must be unique within an org.\n- Must be less than 100 characters.", - "is_request_body_field": true, + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "spot_instance_policy", - "description": "Configurations whether the endpoint should use spot instances.", - "is_request_body_field": true, - "entity": { - "pascal_name": "SpotInstancePolicy", - "enum": [ - { - "content": "COST_OPTIMIZED" - }, - { - "content": "POLICY_UNSPECIFIED" - }, - { - "content": "RELIABILITY_OPTIMIZED" - } - ] - } - }, - { - "name": "tags", - "description": "A set of key-value pairs that will be tagged on all resources (e.g., AWS instances and EBS volumes) associated\nwith this SQL warehouse.\n\nSupported values:\n- Number of tags \u003c 45.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "EndpointTags", - "is_object": true - } - }, - { - "name": "warehouse_type", - "description": "Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute,\nyou must set to `PRO` and also set the field `enable_serverless_compute` to `true`.", - "is_request_body_field": true, - "entity": { - "pascal_name": "CreateWarehouseRequestWarehouseType", - "enum": [ - { - "content": "CLASSIC" - }, - { - "content": "PRO" - }, - { - "content": "TYPE_UNSPECIFIED" - } - ] - } } ], - "wait": { - "success": [ - { - "content": "RUNNING" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "GetWarehouseResponse" - } - }, - "status_path": [ - { - "pascal_name": "State" - } - ], - "message_path": [ - { - "pascal_name": "Health" - }, - { - "pascal_name": "Summary" + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Pagination token to go to the next page of tag assignments. Requests first page if absent.", + "is_query": true, + "entity": { + "is_string": true + } } - ], - "message_path_head": { - "pascal_name": "Health" } } }, { - "name": "CreateDefaultWarehouseOverride", - "description": "Creates a new default warehouse override for a user.\nUsers can create their own override. Admins can create overrides for any user.", - "summary": "Create default warehouse override.", - "path": "/api/warehouses/v1/default-warehouse-overrides", + "name": "UpdateTagAssignment", + "description": "Update a tag assignment", + "summary": "Update a tag assignment for an entity.", + "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key}", "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": "CreateDefaultWarehouseOverrideRequest", + "pascal_name": "UpdateTagAssignmentRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to create.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "TagAssignment", "is_object": true } }, { - "name": "default_warehouse_override_id", - "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_query": true, "entity": { @@ -202290,8 +210679,35 @@ ], "required_in_url_fields": [ { - "name": "default_warehouse_override_id", - "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_query": true, "entity": { @@ -202301,162 +210717,246 @@ ], "required_request_body_fields": [ { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to create.", + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "TagAssignment", "is_object": true } } ] }, "request_body_field": { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to create.", + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "TagAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] } }, "response": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "TagAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] }, "all_fields": [ { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to create.", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_assignment", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "TagAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true + } + }, + { + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true } } ] } }, { - "name": "default_warehouse_override_id", - "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, "is_query": true, "entity": { @@ -202464,42 +210964,35 @@ } }, { - "name": "default_warehouse_override_id", - "description": "The ID component of the resource name (user ID).", - "is_output_only": true, + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "name", - "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "required": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "type", - "description": "The type of override behavior.", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_string": true } }, { - "name": "warehouse_id", - "description": "The specific warehouse ID when type is CUSTOM.\nNot set for LAST_SELECTED type.", + "name": "tag_value", + "description": "The value of the tag", "is_request_body_field": true, "entity": { "is_string": true @@ -202508,333 +211001,289 @@ ], "required_positional_arguments": [ { - "name": "default_warehouse_override_id", - "description": "Required. The ID to use for the override, which will become the final component\nof the override's resource name.\nCan be a numeric user ID or the literal string \"me\" for the current user.", + "name": "entity_type", + "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "type", - "description": "The type of override behavior.", + "name": "entity_id", + "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] - } - } - ] - }, - { - "name": "Delete", - "description": "Deletes a SQL warehouse.", - "summary": "Delete a warehouse.", - "path": "/api/2.0/sql/warehouses/{id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "DeleteWarehouseRequest", - "is_object": true, - "required_fields": [ - { - "name": "id", - "description": "Required. Id of the SQL warehouse.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "id", - "description": "Required. Id of the SQL warehouse.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "is_string": true } - ] - }, - "response": { - "pascal_name": "DeleteWarehouseResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ + }, { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "tag_key", + "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", "required": true, "is_path": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "update_mask", + "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } } ] - }, + } + ] + }, + { + "id": "iamv2.WorkspaceIamV2", + "name": "WorkspaceIamV2", + "description": "These APIs are used to manage identities and the workspace access of these identities in \u003cDatabricks\u003e.", + "package": { + "name": "iamv2" + }, + "docs_group": "iam", + "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", + "methods": [ { - "name": "DeleteDefaultWarehouseOverride", - "description": "Deletes the default warehouse override for a user.\nUsers can delete their own override. Admins can delete overrides for any user.\nAfter deletion, the workspace default warehouse will be used.", - "summary": "Delete default warehouse override.", - "path": "/api/warehouses/v1/{name=default-warehouse-overrides/*}", + "name": "CreateDirectGroupMemberProxy", + "description": "Creates a group membership (assigns a principal to a group).", + "summary": "Create a direct group membership.", + "path": "/api/2.0/identity/groups/{group_id}/direct-members", + "can_use_json": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteDefaultWarehouseOverrideRequest", + "pascal_name": "CreateDirectGroupMemberProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - } - ], - "required_in_url_fields": [ + }, { - "name": "name", - "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "direct_group_member", + "description": "Required. The group membership to create.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "DirectGroupMember", + "is_object": true } } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "name", - "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Required. The resource name of the default warehouse override to delete.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "Edit", - "description": "Updates the configuration for a SQL warehouse.", - "summary": "Update a warehouse.", - "path": "/api/2.0/sql/warehouses/{id}/edit", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "EditWarehouseRequest", - "is_object": true, - "required_fields": [ + ], + "required_in_url_fields": [ { - "name": "id", - "description": "Required. Id of the warehouse to configure.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Required. Id of the warehouse to configure.", + "name": "direct_group_member", + "description": "Required. The group membership to create.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "DirectGroupMember", + "is_object": true } } ] }, + "request_body_field": { + "name": "direct_group_member", + "description": "Required. The group membership to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DirectGroupMember", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + } + }, "response": { - "pascal_name": "EditWarehouseResponse", + "pascal_name": "DirectGroupMember", "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "auto_stop_mins", - "description": "The amount of time in minutes that a SQL warehouse must be idle (i.e., no\nRUNNING queries) before it is automatically stopped.\n\nSupported values:\n- Must be == 0 or \u003e= 10 mins\n- 0 indicates no autostop.\n\nDefaults to 120 mins", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "channel", - "description": "Channel Details", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Channel", - "is_object": true - } - }, - { - "name": "cluster_size", - "description": "Size of the clusters allocated for this warehouse.\nIncreasing the size of a spark cluster allows you to run larger queries on\nit. If you want to increase the number of concurrent queries, please tune\nmax_num_clusters.\n\nSupported values:\n- 2X-Small\n- X-Small\n- Small\n- Medium\n- Large\n- X-Large\n- 2X-Large\n- 3X-Large\n- 4X-Large\n- 5X-Large", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "creator_name", - "description": "warehouse creator name", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "enable_photon", - "description": "Configures whether the warehouse should use Photon optimized clusters.\n\nDefaults to true.", - "is_request_body_field": true, - "entity": { - "is_bool": true + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } } - }, + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + }, + "all_fields": [ { - "name": "enable_serverless_compute", - "description": "Configures whether the warehouse should use serverless compute", + "name": "direct_group_member", + "description": "Required. The group membership to create.", + "required": true, "is_request_body_field": true, "entity": { - "is_bool": true + "pascal_name": "DirectGroupMember", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] } }, { - "name": "id", - "description": "Required. Id of the warehouse to configure.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "instance_profile_arn", - "description": "Deprecated. Instance profile used to pass IAM role to the cluster", + "name": "display_name", + "description": "Display name of the principal.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "max_num_clusters", - "description": "Maximum number of clusters that the autoscaler will create to handle\nconcurrent queries.\n\nSupported values:\n- Must be \u003e= min_num_clusters\n- Must be \u003c= 40.\n\nDefaults to min_clusters if unset.", - "is_request_body_field": true, - "entity": { - "is_int": true - } - }, - { - "name": "min_num_clusters", - "description": "Minimum number of available clusters that will be maintained for this SQL\nwarehouse. Increasing this will ensure that a larger number of clusters are\nalways running and therefore may reduce the cold start time for new\nqueries. This is similar to reserved vs. revocable cores in a resource\nmanager.\n\nSupported values:\n- Must be \u003e 0\n- Must be \u003c= min(max_num_clusters, 30)\n\nDefaults to 1", + "name": "external_id", + "description": "The external ID of the principal in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "name", - "description": "Logical name for the cluster.\n\nSupported values:\n- Must be unique within an org.\n- Must be less than 100 characters.", + "name": "group_id", + "description": "The internal ID of the group this member belongs to.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "spot_instance_policy", - "description": "Configurations whether the endpoint should use spot instances.", + "name": "membership_source", + "description": "The source of group membership (internal or from identity provider).", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "SpotInstancePolicy", + "pascal_name": "GroupMembershipSource", "enum": [ { - "content": "COST_OPTIMIZED" - }, - { - "content": "POLICY_UNSPECIFIED" + "content": "IDENTITY_PROVIDER" }, { - "content": "RELIABILITY_OPTIMIZED" + "content": "INTERNAL" } ] } }, { - "name": "tags", - "description": "A set of key-value pairs that will be tagged on all resources (e.g., AWS instances and EBS volumes) associated\nwith this SQL warehouse.\n\nSupported values:\n- Number of tags \u003c 45.", + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "EndpointTags", - "is_object": true + "is_int64": true } }, { - "name": "warehouse_type", - "description": "Warehouse type: `PRO` or `CLASSIC`. If you want to use serverless compute,\nyou must set to `PRO` and also set the field `enable_serverless_compute` to `true`.", + "name": "principal_type", + "description": "The type of the principal (user/service principal/group).", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "EditWarehouseRequestWarehouseType", + "pascal_name": "PrincipalType", "enum": [ { - "content": "CLASSIC" + "content": "GROUP" }, { - "content": "PRO" + "content": "SERVICE_PRINCIPAL" }, { - "content": "TYPE_UNSPECIFIED" + "content": "USER" } ] } @@ -202842,102 +211291,119 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Required. Id of the warehouse to configure.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true - } - } - ], - "wait": { - "success": [ - { - "content": "RUNNING" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "GetWarehouseResponse" + "is_int64": true } }, - "status_path": [ - { - "pascal_name": "State" - } - ], - "message_path": [ - { - "pascal_name": "Health" - }, - { - "pascal_name": "Summary" + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } - ], - "message_path_head": { - "pascal_name": "Health" } - } + ] }, { - "name": "Get", - "description": "Gets the information for a single SQL warehouse.", - "summary": "Get warehouse info.", - "path": "/api/2.0/sql/warehouses/{id}", - "is_crud_read": true, + "name": "CreateGroupProxy", + "description": "Creates a local group in the Databricks account that parents the calling workspace and returns\nthe created group. A local group is one that is not synced from the customer's identity\nprovider, and can be created whether or not Account Identity Management (AIM) is enabled.\n\nWhen AIM is enabled, supplying an external ID returns an error. To provision the identity from\nyour identity provider, resolve it by its external ID with ResolveGroup; to read an existing\nexternal identity, use the ExternalGroup resource.", + "summary": "Create a group in the account.", + "path": "/api/2.0/identity/groups", + "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWarehouseRequest", + "pascal_name": "CreateGroupProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Group", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Group", + "is_object": true } } ] }, + "request_body_field": { + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + }, "response": { - "pascal_name": "GetWarehouseResponse", + "pascal_name": "Group", "is_object": true }, "all_fields": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "group", + "description": "Required. Group to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + }, + { + "name": "account_id", + "description": "The parent account ID for group in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "id", - "description": "Required. Id of the SQL warehouse.", - "required": true, - "is_path": true, + "name": "external_id", + "description": "ExternalId of the group in the customer's IdP.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "group_id", + "description": "Internal group ID of the group in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "group_name", + "description": "Display name of the group.", + "is_request_body_field": true, "entity": { "is_string": true } @@ -202945,60 +211411,138 @@ ] }, { - "name": "GetDefaultWarehouseOverride", - "description": "Returns the default warehouse override for a user.\nUsers can fetch their own override. Admins can fetch overrides for any user.\nIf no override exists, the UI will fallback to the workspace default warehouse.", - "summary": "Get default warehouse override.", - "path": "/api/warehouses/v1/{name=default-warehouse-overrides/*}", - "is_crud_read": true, + "name": "CreateServicePrincipalProxy", + "description": "Creates a local service principal in the Databricks account that parents the calling workspace\nand returns the created service principal. A local service principal is one that is not synced\nfrom the customer's identity provider, and can be created whether or not Account Identity\nManagement (AIM) is enabled.\n\nWhen AIM is enabled, supplying an external ID returns an error. To provision the identity from\nyour identity provider, resolve it by its external ID with ResolveServicePrincipal; to read an\nexisting external identity, use the ExternalServicePrincipal resource.", + "summary": "Create a service principal in the account.", + "path": "/api/2.0/identity/service-principals", + "can_use_json": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetDefaultWarehouseOverrideRequest", + "pascal_name": "CreateServicePrincipalProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true } } ] }, + "request_body_field": { + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] + } + }, "response": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "ServicePrincipal", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", "enum": [ { - "content": "CUSTOM" + "content": "ACTIVE" }, { - "content": "LAST_SELECTED" + "content": "INACTIVE" } ] } @@ -203006,18 +211550,27 @@ ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", "enum": [ { - "content": "CUSTOM" + "content": "ACTIVE" }, { - "content": "LAST_SELECTED" + "content": "INACTIVE" } ] } @@ -203026,516 +211579,509 @@ }, "all_fields": [ { - "name": "name", - "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "name", - "description": "Required. The resource name of the default warehouse override to retrieve.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "service_principal", + "description": "Required. Service principal to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get SQL warehouse permission levels.", - "path": "/api/2.0/permissions/warehouses/{warehouse_id}/permissionLevels", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetWarehousePermissionLevelsRequest", - "is_object": true, - "required_fields": [ - { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } - ] - }, - "response": { - "pascal_name": "GetWarehousePermissionLevelsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "account_id", + "description": "The parent account ID for the service principal in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ] - }, - { - "name": "GetPermissions", - "description": "Gets the permissions of a SQL warehouse. SQL warehouses can inherit permissions from their root object.", - "summary": "Get SQL warehouse permissions.", - "path": "/api/2.0/permissions/warehouses/{warehouse_id}", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetWarehousePermissionsRequest", - "is_object": true, - "required_fields": [ - { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_in_url_fields": [ - { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } - ] - }, - "response": { - "pascal_name": "WarehousePermissions", - "is_object": true - }, - "all_fields": [ + }, { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, + "name": "application_id", + "description": "Application ID of the service principal. Set at creation time and cannot be changed\nafterwards; when omitted, the server generates one.", + "is_computed": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "GetWorkspaceWarehouseConfig", - "description": "Gets the workspace level configuration that is shared by all SQL warehouses in a workspace.", - "summary": "Get the workspace configuration.", - "path": "/api/2.0/sql/config/warehouses", - "is_legacy_empty_request": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "GetWorkspaceWarehouseConfigRequest", - "is_object": true - }, - "response": { - "pascal_name": "GetWorkspaceWarehouseConfigResponse", - "is_object": true - } - }, - { - "name": "List", - "description": "Lists all SQL warehouses that a user has access to.", - "summary": "List warehouses.", - "path": "/api/2.0/sql/warehouses", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "ListWarehousesRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListWarehousesResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_size", - "description": "The max number of warehouses to return.", - "is_query": true, - "entity": { - "is_int": true - } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListWarehouses` call.\nProvide this to retrieve the subsequent page; otherwise the first\nwill be retrieved.\n\nWhen paginating, all other parameters provided to `ListWarehouses` must match\nthe call that provided the page token.", - "is_query": true, + "name": "external_id", + "description": "ExternalId of the service principal in the customer's IdP.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "run_as_user_id", - "description": "Deprecated: this field is ignored by the server.\nService Principal which will be used to fetch the list of endpoints.\nIf not specified, SQL Gateway will use the user from the session header.", - "is_query": true, + "name": "service_principal_id", + "description": "Internal service principal ID of the service principal in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } } ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListWarehouses` call.\nProvide this to retrieve the subsequent page; otherwise the first\nwill be retrieved.\n\nWhen paginating, all other parameters provided to `ListWarehouses` must match\nthe call that provided the page token.", - "is_query": true, - "entity": { - "is_string": true - } - } - } - } - }, - { - "name": "ListDefaultWarehouseOverrides", - "description": "Lists all default warehouse overrides in the workspace.\nOnly workspace administrators can list all overrides.", - "summary": "List default warehouse overrides.", - "path": "/api/warehouses/v1/default-warehouse-overrides", - "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": "ListDefaultWarehouseOverridesRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListDefaultWarehouseOverridesResponse", - "is_object": true - }, - "all_fields": [ + "required_positional_arguments": [ { - "name": "page_size", - "description": "The maximum number of overrides to return. The service may return fewer than\nthis value.\nIf unspecified, at most 100 overrides will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.", - "is_query": true, + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true } }, { - "name": "page_token", - "description": "A page token, received from a previous `ListDefaultWarehouseOverrides` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListDefaultWarehouseOverrides`\nmust match the call that provided the page token.", - "is_query": true, + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "A page token, received from a previous `ListDefaultWarehouseOverrides` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListDefaultWarehouseOverrides`\nmust match the call that provided the page token.", - "is_query": true, - "entity": { - "is_string": true - } + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } - } + ] }, { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their root object.", - "summary": "Set SQL warehouse permissions.", - "path": "/api/2.0/permissions/warehouses/{warehouse_id}", + "name": "CreateUserProxy", + "description": "Creates a local user in the Databricks account that parents the calling workspace and returns\nthe created user. A local user is one that is not synced from the customer's identity provider,\nand can be created whether or not Account Identity Management (AIM) is enabled.\n\nWhen AIM is enabled, supplying an external ID returns an error. To provision the identity from\nyour identity provider, resolve it by its external ID with ResolveUser; to read an existing\nexternal identity, use the ExternalUser resource.", + "summary": "Create a user in the account.", + "path": "/api/2.0/identity/users", "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "WarehousePermissionsRequest", + "pascal_name": "CreateUserProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "User", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "User", + "is_object": true } } ] }, - "response": { - "pascal_name": "WarehousePermissions", - "is_object": true - }, - "all_fields": [ - { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "WarehouseAccessControlRequestList", - "array_value": { - "pascal_name": "WarehouseAccessControlRequest", - "is_object": true + "request_body_field": { + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } - } - }, - { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } - ] - }, - { - "name": "SetWorkspaceWarehouseConfig", - "description": "Sets the workspace level configuration that is shared by all SQL warehouses in a workspace.", - "summary": "Set the workspace configuration.", - "path": "/api/2.0/sql/config/warehouses", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "SetWorkspaceWarehouseConfigRequest", - "is_object": true }, "response": { - "pascal_name": "SetWorkspaceWarehouseConfigResponse", + "pascal_name": "User", "is_object": true, - "is_empty_response": true - }, - "all_fields": [ - { - "name": "channel", - "description": "Optional: Channel selection details", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "Channel", - "is_object": true - } - }, - { - "name": "config_param", - "description": "Deprecated: Use sql_configuration_parameters", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RepeatedEndpointConfPairs", - "is_object": true - } - }, - { - "name": "data_access_config", - "description": "Spark confs for external hive metastore configuration\nJSON serialized size must be less than \u003c= 512K", - "is_request_body_field": true, - "entity": { - "pascal_name": "EndpointConfPairList", - "array_value": { - "pascal_name": "EndpointConfPair", + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", "is_object": true } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } - }, - { - "name": "enable_serverless_compute", - "description": "Deprecated: only setting this to true is allowed.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "enabled_warehouse_types", - "description": "List of Warehouse Types allowed in this workspace (limits allowed value of\nthe type field in CreateWarehouse and EditWarehouse). Note: Some types\ncannot be disabled, they don't need to be specified\nin SetWorkspaceWarehouseConfig.\nNote: Disabling a type may cause existing warehouses to be converted to\nanother type. Used by frontend to save specific type availability in the\nwarehouse create and edit form UI.", - "is_request_body_field": true, - "entity": { - "pascal_name": "WarehouseTypePairList", - "array_value": { - "pascal_name": "WarehouseTypePair", + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", "is_object": true } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } - }, - { - "name": "global_param", - "description": "Deprecated: Use sql_configuration_parameters", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "RepeatedEndpointConfPairs", - "is_object": true - } - }, + ] + }, + "all_fields": [ { - "name": "google_service_account", - "description": "GCP only: Google Service Account used to pass to cluster to access Google\nCloud Storage", + "name": "user", + "description": "Required. User to be created in \u003cDatabricks\u003e", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "User", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "username", + "description": "Username/email of the user.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } }, { - "name": "instance_profile_arn", - "description": "AWS Only: The instance profile used to pass an IAM role to the SQL\nwarehouses. This configuration is also applied to the workspace's\nserverless compute for notebooks and jobs.", + "name": "account_id", + "description": "The accountId parent of the user in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "security_policy", - "description": "Security policy for warehouses", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "SetWorkspaceWarehouseConfigRequestSecurityPolicy", + "pascal_name": "State", "enum": [ { - "content": "DATA_ACCESS_CONTROL" - }, - { - "content": "NONE" + "content": "ACTIVE" }, { - "content": "PASSTHROUGH" + "content": "INACTIVE" } ] } }, { - "name": "sql_configuration_parameters", - "description": "SQL configuration parameters", + "name": "external_id", + "description": "ExternalId of the user in the customer's IdP.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "pascal_name": "RepeatedEndpointConfPairs", - "is_object": true - } - } - ] - }, - { - "name": "Start", - "description": "Starts a SQL warehouse.", - "summary": "Start a warehouse.", - "path": "/api/2.0/sql/warehouses/{id}/start", - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "StartRequest", - "is_object": true, - "required_fields": [ - { - "name": "id", - "description": "Required. Id of the SQL warehouse.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "id", - "description": "Required. Id of the SQL warehouse.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true } - ] - }, - "response": { - "pascal_name": "StartWarehouseResponse", - "is_object": true, - "is_empty_response": true - }, - "all_fields": [ + }, + { + "name": "user_id", + "description": "Internal userId of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "username", + "description": "Username/email of the user.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -203543,590 +212089,679 @@ ], "required_positional_arguments": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "username", + "description": "Username/email of the user.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "wait": { - "success": [ - { - "content": "RUNNING" - } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "GetWarehouseResponse" - } }, - "status_path": [ - { - "pascal_name": "State" + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true } - ], - "message_path": [ - { - "pascal_name": "Health" - }, - { - "pascal_name": "Summary" + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } - ], - "message_path_head": { - "pascal_name": "Health" } - } + ] }, { - "name": "Stop", - "description": "Stops a SQL warehouse.", - "summary": "Stop a warehouse.", - "path": "/api/2.0/sql/warehouses/{id}/stop", + "name": "CreateWorkspaceAssignmentDetailProxy", + "description": "Creates a workspace assignment detail for a principal in the calling workspace. Entitlements\nare granted one at a time rather than atomically. If the request fails partway through, the\nprincipal stays assigned to the workspace with only some of the requested entitlements. Get the\nassignment detail afterwards to confirm which entitlements were granted.", + "summary": "Create a workspace assignment detail for a workspace.", + "path": "/api/2.0/identity/workspace-assignment-details", + "can_use_json": true, + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "StopRequest", + "pascal_name": "CreateWorkspaceAssignmentDetailProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true } } ] }, + "request_body_field": { + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] + } + }, "response": { - "pascal_name": "StopWarehouseResponse", + "pascal_name": "WorkspaceAssignmentDetail", "is_object": true, - "is_empty_response": true + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, "all_fields": [ { - "name": "id", - "description": "Required. Id of the SQL warehouse.", + "name": "workspace_assignment_detail", + "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] } - } - ], - "required_positional_arguments": [ + }, { - "name": "id", - "description": "Required. Id of the SQL warehouse.", - "required": true, - "is_path": true, + "name": "account_id", + "description": "The account ID parent of the workspace where the principal is assigned", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ], - "wait": { - "success": [ - { - "content": "STOPPED" + }, + { + "name": "effective_entitlements", + "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } - ], - "timeout": 20, - "complex_message_path": true, - "poll": { - "response": { - "pascal_name": "GetWarehouseResponse" + }, + { + "name": "entitlements", + "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", + "is_request_body_field": true, + "entity": { + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } }, - "status_path": [ - { - "pascal_name": "State" + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } - ], - "message_path": [ - { - "pascal_name": "Health" - }, - { - "pascal_name": "Summary" + }, + { + "name": "principal_type", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PrincipalType", + "enum": [ + { + "content": "GROUP" + }, + { + "content": "SERVICE_PRINCIPAL" + }, + { + "content": "USER" + } + ] + } + }, + { + "name": "workspace_id", + "description": "The workspace ID where the principal is assigned.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true } - ], - "message_path_head": { - "pascal_name": "Health" } - } + ], + "required_positional_arguments": [ + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, { - "name": "UpdateDefaultWarehouseOverride", - "description": "Updates an existing default warehouse override for a user.\nUsers can update their own override. Admins can update overrides for any user.", - "summary": "Update default warehouse override.", - "path": "/api/warehouses/v1/{name=default-warehouse-overrides/*}", + "name": "CreateWorkspaceAssignmentProxy", + "description": "Creates a workspace assignment for a principal in the calling workspace. Entitlements\nare granted one at a time rather than atomically. If the request fails partway through, the\nprincipal stays assigned to the workspace with only some of the requested entitlements. Get the\nassignment afterwards to confirm which entitlements were granted.", + "summary": "Create a workspace assignment for a workspace.", + "path": "/api/2.0/identity/workspace-assignments", "can_use_json": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateDefaultWarehouseOverrideRequest", + "pascal_name": "CreateWorkspaceAssignmentProxyRequest", "is_object": true, - "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "WorkspaceAssignment", "is_object": true } - }, - { - "name": "update_mask", - "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - } - ], - "required_in_url_fields": [ - { - "name": "name", - "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } } ], "required_request_body_fields": [ { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "WorkspaceAssignment", "is_object": true } } ] }, "request_body_field": { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ] } }, "response": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ] }, "all_fields": [ { - "name": "allow_missing", - "description": "If set to true, and the override is not found, a new override will be created.\nIn this situation, `update_mask` is ignored and all fields are applied.\nDefaults to false.", - "is_query": true, - "entity": { - "is_bool": true - } - }, - { - "name": "default_warehouse_override", - "description": "Required. The default warehouse override to update.\nThe name field must be set in the format: default-warehouse-overrides/{default_warehouse_override_id}\nThe default_warehouse_override_id can be a numeric user ID or the literal string \"me\" for the current user.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverride", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ], "required_request_body_fields": [ { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ] } }, { - "name": "name", - "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", - "required": true, - "is_path": true, + "name": "account_id", + "description": "The account ID parent of the workspace where the principal is assigned", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", - "required": true, - "is_query": true, + "name": "effective_entitlements", + "description": "Every entitlement the principal holds in this workspace, whether granted directly or through\ngroup membership. Get responses populate this field. List responses leave it empty.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_field_mask": true + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } }, { - "name": "default_warehouse_override_id", - "description": "The ID component of the resource name (user ID).", - "is_output_only": true, + "name": "entitlements", + "description": "Entitlements granted directly to the principal on this workspace. This is the only\nclient-settable field. Create and update manage exactly this set, including entitlements the\nprincipal also holds through a group.\nList responses leave this field empty. Get a single principal to read its entitlements.", "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "EntitlementList", + "array_value": { + "pascal_name": "Entitlement", + "enum": [ + { + "content": "ALLOW_CLUSTER_CREATE" + }, + { + "content": "ALLOW_INSTANCE_POOL_CREATE" + }, + { + "content": "DATABRICKS_SQL_ACCESS" + }, + { + "content": "WORKSPACE_ACCESS" + }, + { + "content": "WORKSPACE_ADMIN" + }, + { + "content": "WORKSPACE_CONSUME" + } + ] + } } }, { - "name": "name", - "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "type", - "description": "The type of override behavior.", - "required": true, + "name": "principal_type", + "description": "The type of the principal (user/service principal/group) that is assigned.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", + "pascal_name": "PrincipalType", "enum": [ { - "content": "CUSTOM" + "content": "GROUP" }, { - "content": "LAST_SELECTED" + "content": "SERVICE_PRINCIPAL" + }, + { + "content": "USER" } ] } }, { - "name": "warehouse_id", - "description": "The specific warehouse ID when type is CUSTOM.\nNot set for LAST_SELECTED type.", + "name": "workspace_id", + "description": "The workspace ID where the principal is assigned.", + "is_output_only": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The resource name of the default warehouse override.\nFormat: default-warehouse-overrides/{default_warehouse_override_id}", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "update_mask", - "description": "Required. Field mask specifying which fields to update.\nOnly the fields specified in the mask will be updated.\nUse \"*\" to update all fields.\nWhen allow_missing is true, this field is ignored and all fields are applied.", - "required": true, - "is_query": true, - "entity": { - "is_field_mask": true - } - }, - { - "name": "type", - "description": "The type of override behavior.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "DefaultWarehouseOverrideType", - "enum": [ - { - "content": "CUSTOM" - }, - { - "content": "LAST_SELECTED" - } - ] + "is_int64": true } } ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a SQL warehouse. SQL warehouses can inherit permissions from their root object.", - "summary": "Update SQL warehouse permissions.", - "path": "/api/2.0/permissions/warehouses/{warehouse_id}", - "can_use_json": true, + "name": "DeleteDirectGroupMemberProxy", + "description": "Deletes a group membership (unassigns a principal from a group).", + "summary": "Delete a direct group membership.", + "path": "/api/2.0/identity/groups/{group_id}/direct-members/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "WarehousePermissionsRequest", + "pascal_name": "DeleteDirectGroupMemberProxyRequest", "is_object": true, "required_fields": [ { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] }, "response": { - "pascal_name": "WarehousePermissions", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", + "required": true, + "is_path": true, "entity": { - "pascal_name": "WarehouseAccessControlRequestList", - "array_value": { - "pascal_name": "WarehouseAccessControlRequest", - "is_object": true - } + "is_int64": true } }, { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "warehouse_id", - "description": "The SQL warehouse for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal to be unassigned from the group.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true } } ] - } - ] - }, - { - "id": "workspace.Workspace", - "name": "Workspace", - "description": "The Workspace API allows you to list, import, export, and delete workspace objects such as\nnotebooks, files, folders, and dashboards. Additionally, it provides endpoints to manage\npermissions for any workspace object.\n\nA notebook is a web-based interface to a document that contains runnable code,\nvisualizations, and explanatory text.", - "package": { - "name": "workspace" - }, - "docs_group": "workspace", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "named_id_map": { - "pascal_name": "ObjectInfoPathToObjectIdMap" }, - "request": { - "pascal_name": "ListWorkspaceRequest" - } - }, - "methods": [ { - "name": "Delete", - "description": "Deletes an object or a directory (and optionally recursively deletes all objects in the directory).\n* If `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.\n* If `path` is a non-empty directory and `recursive` is set to `false`, this call returns an error `DIRECTORY_NOT_EMPTY`.\n\nObject deletion cannot be undone and deleting a directory recursively is not atomic.", - "summary": "Delete a workspace object.", - "path": "/api/2.0/workspace/delete", - "can_use_json": true, + "name": "DeleteGroupProxy", + "description": "Deletes a group by its internal ID from the Databricks\naccount that parents the calling workspace.", + "summary": "Delete a group in the account.", + "path": "/api/2.0/identity/groups/{group_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "Delete", + "pascal_name": "DeleteGroupProxyRequest", "is_object": true, - "has_required_request_body_fields": true, "required_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "required_in_url_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -204134,35 +212769,25 @@ ] }, "response": { - "pascal_name": "DeleteResponse", - "is_object": true, "is_empty_response": true }, "all_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } - }, - { - "name": "recursive", - "description": "The flag that specifies whether to delete the object recursively. It is `false` by default.\nPlease note this deleting directory is not atomic. If it fails in the middle, some of objects\nunder this directory may be deleted and cannot be undone.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } } ], "required_positional_arguments": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -204170,22 +212795,23 @@ ] }, { - "name": "Export", - "description": "Exports an object or the contents of an entire directory.\n\nIf `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.\n\nIf the exported data would exceed size limit, this call returns `MAX_NOTEBOOK_SIZE_EXCEEDED`.\nCurrently, this API does not support exporting a library.", - "summary": "Export a workspace object.", - "path": "/api/2.0/workspace/export", + "name": "DeleteServicePrincipalProxy", + "description": "Deletes a service principal by its internal ID\nfrom the Databricks account that parents the calling workspace.", + "summary": "Delete a service principal in the account.", + "path": "/api/2.0/identity/service-principals/{service_principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "ExportRequest", + "pascal_name": "DeleteServicePrincipalProxyRequest", "is_object": true, "required_fields": [ { - "name": "path", - "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204193,10 +212819,10 @@ ], "required_in_url_fields": [ { - "name": "path", - "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204204,46 +212830,14 @@ ] }, "response": { - "pascal_name": "ExportResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "format", - "description": "This specifies the format of the exported file. By default, this is `SOURCE`.\n\nThe value is case sensitive.\n\n- `SOURCE`: The notebook is exported as source code. Directory exports will not include non-notebook entries.\n- `HTML`: The notebook is exported as an HTML file.\n- `JUPYTER`: The notebook is exported as a Jupyter/IPython Notebook file.\n- `DBC`: The notebook is exported in Databricks archive format. Directory exports will not include non-notebook entries.\n- `R_MARKDOWN`: The notebook is exported to R Markdown format.\n- `AUTO`: The object or directory is exported depending on the objects type. Directory exports will include notebooks and workspace files.", - "is_query": true, - "entity": { - "pascal_name": "ExportFormat", - "enum": [ - { - "content": "AUTO" - }, - { - "content": "DBC" - }, - { - "content": "HTML" - }, - { - "content": "JUPYTER" - }, - { - "content": "RAW" - }, - { - "content": "R_MARKDOWN" - }, - { - "content": "SOURCE" - } - ] - } - }, - { - "name": "path", - "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204251,10 +212845,10 @@ ], "required_positional_arguments": [ { - "name": "path", - "description": "The absolute path of the object or directory. Exporting a directory is only supported for the `DBC`, `SOURCE`, and `AUTO` format.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204262,217 +212856,327 @@ ] }, { - "name": "GetPermissionLevels", - "description": "Gets the permission levels that a user can have on an object.", - "summary": "Get workspace object permission levels.", - "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}/permissionLevels", + "name": "DeleteUserProxy", + "description": "Deletes a user by its internal ID from the Databricks\naccount that parents the calling workspace.", + "summary": "Delete a user in the account.", + "path": "/api/2.0/identity/users/{user_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWorkspaceObjectPermissionLevelsRequest", + "pascal_name": "DeleteUserProxyRequest", "is_object": true, "required_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, "is_path": true, "entity": { "is_string": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ + { + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "DeleteWorkspaceAssignmentDetailProxy", + "description": "Deletes a workspace assignment detail for a principal in the calling workspace, revoking all of\nits entitlements. Entitlements are revoked one at a time rather than atomically. If the request\nfails partway through, the principal stays assigned with some of its original entitlements.\nRetrying is safe.", + "summary": "Delete a workspace assignment detail for a workspace.", + "path": "/api/2.0/identity/workspace-assignment-details/{principal_id}", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "DeleteWorkspaceAssignmentDetailProxyRequest", + "is_object": true, + "required_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "GetWorkspaceObjectPermissionLevelsResponse", - "is_object": true + "is_empty_response": true }, "all_fields": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } - ], - "required_positional_arguments": [ + ] + }, + { + "name": "DeleteWorkspaceAssignmentProxy", + "description": "Deletes a workspace assignment for a principal in the calling workspace, revoking all of\nits entitlements. Entitlements are revoked one at a time rather than atomically. If the request\nfails partway through, the principal stays assigned with some of its original entitlements.\nRetrying is safe.", + "summary": "Delete a workspace assignment for a workspace.", + "path": "/api/2.0/identity/workspace-assignments/{principal_id}", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "DeleteWorkspaceAssignmentProxyRequest", + "is_object": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } + ], + "required_in_url_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + } + ] + }, + "response": { + "is_empty_response": true + }, + "all_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_positional_arguments": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "GetPermissions", - "description": "Gets the permissions of a workspace object. Workspace objects can inherit permissions from their parent objects or root object.", - "summary": "Get workspace object permissions.", - "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}", + "name": "GetDirectGroupMemberProxy", + "description": "Gets a provisioned direct member of a group.", + "summary": "Get a direct group member.", + "path": "/api/2.0/identity/groups/{group_id}/direct-members/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWorkspaceObjectPermissionsRequest", + "pascal_name": "GetDirectGroupMemberProxyRequest", "is_object": true, "required_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "WorkspaceObjectPermissions", - "is_object": true + "pascal_name": "DirectGroupMember", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ], + "required_request_body_fields": [ + { + "name": "principal_id", + "description": "Internal ID of the principal in Databricks.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + } + ] }, "all_fields": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. Internal ID of the principal belonging to the group in Databricks.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "GetStatus", - "description": "Gets the status of an object or a directory.\nIf `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.", - "summary": "Get status.", - "path": "/api/2.0/workspace/get-status", - "is_crud_read": true, + "name": "GetGroupProxy", + "description": "Fetches a group by its internal ID from the Databricks\naccount that parents the calling workspace.", + "summary": "Get a group in the account.", + "path": "/api/2.0/identity/groups/{group_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetStatusRequest", + "pascal_name": "GetGroupProxyRequest", "is_object": true, "required_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204480,10 +213184,10 @@ ], "required_in_url_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204491,15 +213195,15 @@ ] }, "response": { - "pascal_name": "ObjectInfo", + "pascal_name": "Group", "is_object": true }, "all_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204507,10 +213211,10 @@ ], "required_positional_arguments": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204518,122 +213222,107 @@ ] }, { - "name": "Import", - "description": "Imports a workspace object (for example, a notebook or file) or the contents of an entire directory.\nIf `path` already exists and `overwrite` is set to `false`, this call returns an error `RESOURCE_ALREADY_EXISTS`.\nTo import a directory, you can use either the `DBC` format or the `SOURCE` format with the `language` field unset.\nTo import a single file as `SOURCE`, you must set the `language` field.\nZip files within directories are not supported.", - "summary": "Import a workspace object.", - "path": "/api/2.0/workspace/import", - "can_use_json": true, - "is_crud_create": true, + "name": "GetServicePrincipalProxy", + "description": "Fetches a service principal by its internal ID\nfrom the Databricks account that parents the calling workspace.", + "summary": "Get a service principal in the account.", + "path": "/api/2.0/identity/service-principals/{service_principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "Import", + "pascal_name": "GetServicePrincipalProxyRequest", + "is_object": true, + "required_fields": [ + { + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ServicePrincipal", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "path", - "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ], "required_request_body_fields": [ { - "name": "path", - "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ] }, - "response": { - "pascal_name": "ImportResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "content", - "description": "The base64-encoded content. This has a limit of 10 MB.\n\nIf the limit (10MB) is exceeded, exception with error code **MAX_NOTEBOOK_SIZE_EXCEEDED** is thrown.\nThis parameter might be absent, and instead a posted file is used.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "format", - "description": "This specifies the format of the file to be imported.\n\nThe value is case sensitive.\n\n- `AUTO`: The item is imported depending on an analysis of the item's extension and\nthe header content provided in the request. If the item is imported as a notebook,\nthen the item's extension is automatically removed.\n- `SOURCE`: The notebook or directory is imported as source code.\n- `HTML`: The notebook is imported as an HTML file.\n- `JUPYTER`: The notebook is imported as a Jupyter/IPython Notebook file.\n- `DBC`: The notebook is imported in Databricks archive format. Required for directories.\n- `R_MARKDOWN`: The notebook is imported from R Markdown format.", - "is_request_body_field": true, - "entity": { - "pascal_name": "ImportFormat", - "enum": [ - { - "content": "AUTO" - }, - { - "content": "DBC" - }, - { - "content": "HTML" - }, - { - "content": "JUPYTER" - }, - { - "content": "RAW" - }, - { - "content": "R_MARKDOWN" - }, - { - "content": "SOURCE" - } - ] - } - }, - { - "name": "language", - "description": "The language of the object. This value is set only if the object type is `NOTEBOOK`.", - "is_request_body_field": true, - "entity": { - "pascal_name": "Language", - "enum": [ - { - "content": "PYTHON" - }, - { - "content": "R" - }, - { - "content": "SCALA" - }, - { - "content": "SQL" - } - ] - } - }, - { - "name": "overwrite", - "description": "The flag that specifies whether to overwrite existing object. It is `false` by default.\nFor `DBC` format, `overwrite` is not supported since it may contain a directory.", - "is_request_body_field": true, - "entity": { - "is_bool": true - } - }, - { - "name": "path", - "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -204641,10 +213330,10 @@ ], "required_positional_arguments": [ { - "name": "path", - "description": "The absolute path of the object or directory. Importing a directory is only supported for the `DBC` and `SOURCE` formats.", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -204652,22 +213341,23 @@ ] }, { - "name": "List", - "description": "Lists the contents of a directory, or the object if it is not a directory.\nIf the input path does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.", - "summary": "List contents.", - "path": "/api/2.0/workspace/list", + "name": "GetUserProxy", + "description": "Fetches a user by its internal ID from the Databricks account\nthat parents the calling workspace.", + "summary": "Get a user in the account.", + "path": "/api/2.0/identity/users/{user_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "ListWorkspaceRequest", + "pascal_name": "GetUserProxyRequest", "is_object": true, "required_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204675,10 +213365,10 @@ ], "required_in_url_fields": [ { - "name": "path", - "description": "The absolute path of the notebook or directory.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_query": true, + "is_path": true, "entity": { "is_string": true } @@ -204686,88 +213376,90 @@ ] }, "response": { - "pascal_name": "ListResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "notebooks_modified_after", - "description": "UTC timestamp in milliseconds", - "is_query": true, - "entity": { - "is_int64": true - } - }, - { - "name": "path", - "description": "The absolute path of the notebook or directory.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "path", - "description": "The absolute path of the notebook or directory.", - "required": true, - "is_query": true, - "entity": { - "is_string": true - } - } - ], - "pagination": {} - }, - { - "name": "Mkdirs", - "description": "Creates the specified directory (and necessary parent directories if they do not exist).\nIf there is an object (not a directory) at any prefix of the input path, this call returns\nan error `RESOURCE_ALREADY_EXISTS`.\n\nNote that if this operation fails it may have succeeded in creating some of the necessary parent directories.", - "summary": "Create a directory.", - "path": "/api/2.0/workspace/mkdirs", - "can_use_json": true, - "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "Mkdirs", + "pascal_name": "User", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "path", - "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ], "required_request_body_fields": [ { - "name": "path", - "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { "is_string": true } + }, + { + "name": "full_name", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } } ] }, - "response": { - "pascal_name": "MkdirsResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { - "name": "path", - "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -204775,10 +213467,10 @@ ], "required_positional_arguments": [ { - "name": "path", - "description": "The absolute path of the directory. If the parent directories do not exist, it will also create them.\nIf the directory already exists, this command will do nothing and succeed.", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } @@ -204786,312 +213478,235 @@ ] }, { - "name": "SetPermissions", - "description": "Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct permissions if none are specified. Objects can inherit permissions from their parent objects or root object.", - "summary": "Set workspace object permissions.", - "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}", - "can_use_json": true, + "name": "GetWorkspaceAccessDetailLocal", + "description": "Returns the access details for a principal in the current workspace. Allows for checking access details for any\nprovisioned principal (user, service principal, or group) in the current workspace.\n* Provisioned principal here refers to one that has been synced into Databricks from the customer's IdP or\nadded explicitly to Databricks via SCIM/UI.\nAllows for passing in a \"view\" parameter to control what fields are returned (BASIC by default or FULL).", + "summary": "Get workspace access details for a principal.", + "path": "/api/2.0/identity/workspace-access-details/{principal_id}", "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": "WorkspaceObjectPermissionsRequest", + "pascal_name": "GetWorkspaceAccessDetailLocalRequest", "is_object": true, "required_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "WorkspaceObjectPermissions", + "pascal_name": "WorkspaceAccessDetail", "is_object": true }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "WorkspaceObjectAccessControlRequestList", - "array_value": { - "pascal_name": "WorkspaceObjectAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } }, { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", - "required": true, - "is_path": true, + "name": "view", + "description": "Controls what fields are returned.", + "is_query": true, "entity": { - "is_string": true + "pascal_name": "WorkspaceAccessDetailView", + "enum": [ + { + "content": "BASIC" + }, + { + "content": "FULL" + } + ] } } ], "required_positional_arguments": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "UpdatePermissions", - "description": "Updates the permissions on a workspace object. Workspace objects can inherit permissions from their parent objects or root object.", - "summary": "Update workspace object permissions.", - "path": "/api/2.0/permissions/{workspace_object_type}/{workspace_object_id}", - "can_use_json": true, + "name": "GetWorkspaceAssignmentDetailProxy", + "description": "Returns the assignment details for a principal in the calling workspace.", + "summary": "Get workspace assignment details for a principal.", + "path": "/api/2.0/identity/workspace-assignment-details/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "WorkspaceObjectPermissionsRequest", + "pascal_name": "GetWorkspaceAssignmentDetailProxyRequest", "is_object": true, "required_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_in_url_fields": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "pascal_name": "WorkspaceAssignmentDetail", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, - "response": { - "pascal_name": "WorkspaceObjectPermissions", - "is_object": true - }, "all_fields": [ { - "name": "access_control_list", - "is_request_body_field": true, - "entity": { - "pascal_name": "WorkspaceObjectAccessControlRequestList", - "array_value": { - "pascal_name": "WorkspaceObjectAccessControlRequest", - "is_object": true - } - } - }, - { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "workspace_object_type", - "description": "The workspace object type for which to get or manage permissions. Could be one of the following: alerts, alertsv2, dashboards, dbsql-dashboards, directories, experiments, files, genie, notebooks, queries", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "workspace_object_id", - "description": "The workspace object for which to get or manage permissions.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] - } - ] - }, - { - "id": "iam.WorkspaceAssignment", - "name": "WorkspaceAssignment", - "description": "The Workspace Permission Assignment API allows you to manage workspace permissions for principals in your account.", - "package": { - "name": "iam" - }, - "is_accounts": true, - "docs_group": "iam", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "list": { - "request": { - "pascal_name": "ListWorkspaceAssignmentRequest" - } - }, - "methods": [ + }, { - "name": "Delete", - "description": "Deletes the workspace permissions assignment in a given account and workspace for the specified principal.", - "summary": "Delete permissions assignment.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments/principals/{principal_id}", + "name": "GetWorkspaceAssignmentProxy", + "description": "Returns the assignment for a principal in the calling workspace.", + "summary": "Get a workspace assignment for a principal.", + "path": "/api/2.0/identity/workspace-assignments/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteWorkspaceAssignmentRequest", + "pascal_name": "GetWorkspaceAssignmentProxyRequest", "is_object": true, "required_fields": [ { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", "required": true, "is_path": true, "entity": { "is_int64": true } - }, + } + ], + "required_in_url_fields": [ { "name": "principal_id", - "description": "The ID of the user, service principal, or group.", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", "required": true, "is_path": true, "entity": { "is_int64": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "pascal_name": "WorkspaceAssignment", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_int64": true } - }, + } + ], + "required_request_body_fields": [ { "name": "principal_id", - "description": "The ID of the user, service principal, or group.", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_int64": true } } ] }, - "response": { - "pascal_name": "DeleteWorkspacePermissionAssignmentResponse", - "is_object": true, - "is_empty_response": true - }, "all_fields": [ { "name": "principal_id", - "description": "The ID of the user, service principal, or group.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", "required": true, "is_path": true, "entity": { @@ -205100,18 +213715,9 @@ } ], "required_positional_arguments": [ - { - "name": "workspace_id", - "description": "The workspace ID for the account.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, { "name": "principal_id", - "description": "The ID of the user, service principal, or group.", + "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment is being requested.", "required": true, "is_path": true, "entity": { @@ -205121,21 +213727,21 @@ ] }, { - "name": "Get", - "description": "Get an array of workspace permissions for the specified account and workspace.", - "summary": "List workspace permissions.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments/permissions", - "is_crud_read": true, + "name": "GetWorkspaceIdentityDetail", + "description": "Returns the identity details for a principal in a workspace.", + "summary": "Get workspace identity details for a principal.", + "path": "/api/2.0/identity/workspace-identity-details/{principal_id}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWorkspaceAssignmentRequest", + "pascal_name": "GetWorkspaceIdentityDetailRequest", "is_object": true, "required_fields": [ { - "name": "workspace_id", - "description": "The workspace ID.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the identity details are being requested.", "required": true, "is_path": true, "entity": { @@ -205145,8 +213751,8 @@ ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "The workspace ID.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the identity details are being requested.", "required": true, "is_path": true, "entity": { @@ -205156,13 +213762,13 @@ ] }, "response": { - "pascal_name": "WorkspacePermissions", + "pascal_name": "WorkspaceIdentityDetail", "is_object": true }, "all_fields": [ { - "name": "workspace_id", - "description": "The workspace ID.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the identity details are being requested.", "required": true, "is_path": true, "entity": { @@ -205172,8 +213778,8 @@ ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "The workspace ID.", + "name": "principal_id", + "description": "Required. The internal ID of the principal (user/sp/group) for which the identity details are being requested.", "required": true, "is_path": true, "entity": { @@ -205183,20 +213789,21 @@ ] }, { - "name": "List", - "description": "Get the permission assignments for the specified Databricks account and Databricks workspace.", - "summary": "Get permission assignments.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments", + "name": "ListDirectGroupMembersProxy", + "description": "Lists provisioned direct members of a group with their membership source (internal or from identity provider).", + "summary": "List direct group members.", + "path": "/api/2.0/identity/groups/{group_id}/direct-members", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "ListWorkspaceAssignmentRequest", + "pascal_name": "ListDirectGroupMembersProxyRequest", "is_object": true, "required_fields": [ { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { @@ -205206,8 +213813,8 @@ ], "required_in_url_fields": [ { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { @@ -205217,24 +213824,40 @@ ] }, "response": { - "pascal_name": "PermissionAssignments", + "pascal_name": "ListDirectGroupMembersResponse", "is_object": true }, "all_fields": [ { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { "is_int64": true } + }, + { + "name": "page_size", + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } } ], "required_positional_arguments": [ { - "name": "workspace_id", - "description": "The workspace ID for the account.", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks whose direct members are being listed.", "required": true, "is_path": true, "entity": { @@ -205242,264 +213865,334 @@ } } ], - "pagination": {} + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } }, { - "name": "Update", - "description": "Creates or updates the workspace permissions assignment in a given account and workspace for the specified principal.", - "summary": "Create or update permissions assignment.", - "path": "/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments/principals/{principal_id}", - "can_use_json": true, + "name": "ListGroupsProxy", + "description": "Lists the groups in the Databricks account that parents\nthe calling workspace, returning one page per call. Supports filtering by group name or external ID.", + "summary": "List groups in the account.", + "path": "/api/2.0/identity/groups", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateWorkspaceAssignments", - "is_object": true, - "required_fields": [ - { - "name": "workspace_id", - "description": "The workspace ID.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "principal_id", - "description": "The ID of the user, service principal, or group.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_in_url_fields": [ - { - "name": "workspace_id", - "description": "The workspace ID.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - }, - { - "name": "principal_id", - "description": "The ID of the user, service principal, or group.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] + "pascal_name": "ListGroupsProxyRequest", + "is_object": true }, "response": { - "pascal_name": "PermissionAssignment", + "pascal_name": "ListGroupsResponse", "is_object": true }, "all_fields": [ { - "name": "permissions", - "description": "Array of permissions assignments to update on the workspace.\nValid values are \"USER\" and \"ADMIN\" (case-sensitive).\nIf both \"USER\" and \"ADMIN\" are provided, \"ADMIN\" takes precedence.\nOther values will be ignored.\nNote that excluding this field, or providing unsupported values, will have the same effect as providing an empty list, which will result in the deletion of all permissions for the principal.", - "is_request_body_field": true, + "name": "filter", + "description": "Optional. Allows filtering groups by group name or external id.", + "is_query": true, "entity": { - "pascal_name": "WorkspacePermissionList", - "array_value": { - "pascal_name": "WorkspacePermission", - "enum": [ - { - "content": "ADMIN" - }, - { - "content": "UNKNOWN" - }, - { - "content": "USER" - } - ] - } + "is_string": true } }, { - "name": "principal_id", - "description": "The ID of the user, service principal, or group.", - "required": true, - "is_path": true, + "name": "page_size", + "description": "The maximum number of groups to return. The service may return fewer than this value.", + "is_query": true, "entity": { - "is_int64": true + "is_int": true } }, { - "name": "workspace_id", - "description": "The workspace ID.", - "required": true, - "is_path": true, + "name": "page_token", + "description": "A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { - "is_int64": true + "is_string": true } } ], - "required_positional_arguments": [ + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListGroups call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, + { + "name": "ListServicePrincipalsProxy", + "description": "Lists the service principals in the Databricks\naccount that parents the calling workspace, returning one page per call. Supports filtering by\napplication ID or external ID.", + "summary": "List service principals in the account.", + "path": "/api/2.0/identity/service-principals", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListServicePrincipalsProxyRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListServicePrincipalsResponse", + "is_object": true + }, + "all_fields": [ { - "name": "workspace_id", - "description": "The workspace ID.", - "required": true, - "is_path": true, + "name": "filter", + "description": "Optional. Allows filtering service principals by application id or external id.", + "is_query": true, "entity": { - "is_int64": true + "is_string": true } }, { - "name": "principal_id", - "description": "The ID of the user, service principal, or group.", - "required": true, - "is_path": true, + "name": "page_size", + "description": "The maximum number of SPs to return. The service may return fewer than this value.", + "is_query": true, "entity": { - "is_int64": true + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true } } - ] - } - ] - }, - { - "id": "catalog.WorkspaceBindings", - "name": "WorkspaceBindings", - "description": "A securable in Databricks can be configured as __OPEN__ or __ISOLATED__. An __OPEN__ securable can\nbe accessed from any workspace, while an __ISOLATED__ securable can only be accessed from a configured\nlist of workspaces. This API allows you to configure (bind) securables to workspaces.\n\nNOTE:\nThe __isolation_mode__ is configured for the securable itself (using its Update method) and\nthe workspace bindings are only consulted when the securable's __isolation_mode__ is set to __ISOLATED__.\n\nA securable's workspace bindings can be configured by a metastore admin or the owner of the securable.\n\nThe original path (/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}) is deprecated.\nUse the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}),\nwhich introduces the ability to bind a securable in READ_ONLY mode (catalogs only).\n\nSecurable types that support binding:\n- catalog\n- storage_credential\n- credential\n- external_location", - "package": { - "name": "catalog" - }, - "docs_group": "catalog", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListServicePrincipals call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, { - "name": "Get", - "description": "Gets workspace bindings of the catalog.\nThe caller must be a metastore admin or an owner of the catalog.", - "summary": "Get catalog workspace bindings.", - "path": "/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}", - "is_crud_read": true, + "name": "ListTransitiveParentGroupsProxy", + "description": "Lists all transitive parent groups of a principal.", + "summary": "List all transitive parent groups of a principal.", + "path": "/api/2.0/identity/principals/{principal_id}/transitive-parent-groups", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetWorkspaceBindingRequest", + "pascal_name": "ListTransitiveParentGroupsProxyRequest", "is_object": true, "required_fields": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_in_url_fields": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, "response": { - "pascal_name": "GetCatalogWorkspaceBindingsResponse", + "pascal_name": "ListTransitiveParentGroupsResponse", "is_object": true }, "all_fields": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "page_size", + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000 (also the maximum allowed).", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListTransitiveParentGroups call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "principal_id", + "description": "Required. Internal ID of the principal in Databricks whose transitive parent groups are being listed.", "required": true, "is_path": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "GetBindings", - "description": "Gets workspace bindings of the securable.\nThe caller must be a metastore admin or an owner of the securable.\n\nNOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.\n\nPAGINATION BEHAVIOR: When using pagination (max_results \u003e= 0), 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": "Get securable workspace bindings.", - "path": "/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}", - "is_crud_read": true, + "name": "ListUsersProxy", + "description": "Lists the users in the Databricks account that parents the\ncalling workspace, returning one page per call. Supports filtering by username or external ID.", + "summary": "List users in the account.", + "path": "/api/2.0/identity/users", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetBindingsRequest", - "is_object": true, - "required_fields": [ - { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "securable_name", - "description": "The name of the securable.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + "pascal_name": "ListUsersProxyRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListUsersResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "filter", + "description": "Optional. Allows filtering users by username or external id.", + "is_query": true, + "entity": { + "is_string": true } - ], - "required_in_url_fields": [ - { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, + }, + { + "name": "page_size", + "description": "The maximum number of users to return. The service may return fewer than this value.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token, received from a previous ListUsers call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { "is_string": true } - }, - { - "name": "securable_name", - "description": "The name of the securable.", - "required": true, - "is_path": true, + } + } + } + }, + { + "name": "ListWorkspaceAssignmentDetailsProxy", + "description": "Lists workspace assignment details for the calling workspace. The response omits the\nper-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the\nentitlements for a single principal, get that principal's assignment detail.", + "summary": "List workspace assignment details for a workspace.", + "path": "/api/2.0/identity/workspace-assignment-details", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListWorkspaceAssignmentDetailsProxyRequest", + "is_object": true + }, + "response": { + "pascal_name": "ListWorkspaceAssignmentDetailsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", + "is_query": true, "entity": { "is_string": true } } - ] + } + } + }, + { + "name": "ListWorkspaceAssignmentsProxy", + "description": "Lists workspace assignments for the calling workspace. The response omits the\nper-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the\nentitlements for a single principal, get that principal's assignment.", + "summary": "List workspace assignments for a workspace.", + "path": "/api/2.0/identity/workspace-assignments", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListWorkspaceAssignmentsProxyRequest", + "is_object": true }, "response": { - "pascal_name": "GetWorkspaceBindingsResponse", + "pascal_name": "ListWorkspaceAssignmentsResponse", "is_object": true }, "all_fields": [ { - "name": "max_results", - "description": "Maximum number of workspace bindings to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the workspace bindings are returned (not recommended).", + "name": "page_size", + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.", "is_query": true, "entity": { "is_int": true @@ -205507,101 +214200,58 @@ }, { "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", "is_query": true, "entity": { "is_string": true } - }, - { - "name": "securable_name", - "description": "The name of the securable.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "securable_name", - "description": "The name of the securable.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } } ], "pagination": { "token": { "poll_field": { "name": "page_token", - "description": "Opaque pagination token to go to next page based on previous query.", + "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", "is_query": true, "entity": { "is_string": true } } - }, - "max_results": { - "name": "max_results", - "description": "Maximum number of workspace bindings to return.\n- When set to 0, the page length is set to a server configured value (recommended);\n- When set to a value greater than 0, the page length is the minimum of this value and a server configured value;\n- When set to a value less than 0, an invalid parameter error is returned;\n- If not set, all the workspace bindings are returned (not recommended).", - "is_query": true, - "entity": { - "is_int": true - } } } }, { - "name": "Update", - "description": "Updates workspace bindings of the catalog.\nThe caller must be a metastore admin or an owner of the catalog.", - "summary": "Update catalog workspace bindings.", - "path": "/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}", + "name": "ResolveGroupProxy", + "description": "Resolves a group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Resolve an external group in the Databricks account.", + "path": "/api/2.0/identity/groups/resolve-by-external-id", "can_use_json": 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": "UpdateWorkspaceBindings", + "pascal_name": "ResolveGroupProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205609,48 +214259,26 @@ ] }, "response": { - "pascal_name": "UpdateCatalogWorkspaceBindingsResponse", + "pascal_name": "ResolveGroupResponse", "is_object": true }, "all_fields": [ { - "name": "assign_workspaces", - "description": "A list of workspace IDs.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_int64": true - } - } - }, - { - "name": "name", - "description": "The name of the catalog.", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "unassign_workspaces", - "description": "A list of workspace IDs.", "is_request_body_field": true, "entity": { - "pascal_name": "List", - "array_value": { - "is_int64": true - } + "is_string": true } } ], "required_positional_arguments": [ { - "name": "name", - "description": "The name of the catalog.", + "name": "external_id", + "description": "Required. The external ID of the group in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205658,52 +214286,37 @@ ] }, { - "name": "UpdateBindings", - "description": "Updates workspace bindings of the securable.\nThe caller must be a metastore admin or an owner of the securable.", - "summary": "Update securable workspace bindings.", - "path": "/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}", + "name": "ResolveServicePrincipalProxy", + "description": "Resolves a service principal with the given external ID from the customer's IdP. If the service\nprincipal does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Resolve an external service principal in the Databricks account.", + "path": "/api/2.0/identity/service-principals/resolve-by-external-id", "can_use_json": 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": "UpdateWorkspaceBindingsParameters", + "pascal_name": "ResolveServicePrincipalProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "securable_name", - "description": "The name of the securable.", + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ - { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, + "required_request_body_fields": [ { - "name": "securable_name", - "description": "The name of the securable.", + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205711,48 +214324,15 @@ ] }, "response": { - "pascal_name": "UpdateWorkspaceBindingsResponse", + "pascal_name": "ResolveServicePrincipalResponse", "is_object": true }, "all_fields": [ { - "name": "add", - "description": "List of workspace bindings to add. If a binding for the workspace already exists with a\ndifferent binding_type, adding it again with a new binding_type will update the existing\nbinding (e.g., from READ_WRITE to READ_ONLY).", - "is_request_body_field": true, - "entity": { - "pascal_name": "WorkspaceBindingList", - "array_value": { - "pascal_name": "WorkspaceBinding", - "is_object": true - } - } - }, - { - "name": "remove", - "description": "List of workspace bindings to remove.", - "is_request_body_field": true, - "entity": { - "pascal_name": "WorkspaceBindingList", - "array_value": { - "pascal_name": "WorkspaceBinding", - "is_object": true - } - } - }, - { - "name": "securable_name", - "description": "The name of the securable.", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205760,65 +214340,48 @@ ], "required_positional_arguments": [ { - "name": "securable_type", - "description": "The type of the securable to bind to a workspace (catalog, storage_credential, credential, or external_location).", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "securable_name", - "description": "The name of the securable.", + "name": "external_id", + "description": "Required. The external ID of the service principal in the customer's IdP.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] - } - ] - }, - { - "id": "settings.WorkspaceConf", - "name": "WorkspaceConf", - "description": "This API allows updating known workspace settings for advanced users.", - "package": { - "name": "settings" - }, - "docs_group": "settings", - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "methods": [ + }, { - "name": "GetStatus", - "description": "Gets the configuration status for a workspace.", - "summary": "Check configuration status.", - "path": "/api/2.0/workspace-conf", - "is_crud_read": true, + "name": "ResolveUserProxy", + "description": "Resolves a user with the given external ID from the customer's IdP. If the user does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Resolve an external user in the Databricks account.", + "path": "/api/2.0/identity/users/resolve-by-external-id", + "can_use_json": 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": "GetStatusRequest", + "pascal_name": "ResolveUserProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "keys", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } } ], - "required_in_url_fields": [ + "required_request_body_fields": [ { - "name": "keys", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205826,16 +214389,15 @@ ] }, "response": { - "pascal_name": "WorkspaceConf", - "map_value": { - "is_string": true - } + "pascal_name": "ResolveUserResponse", + "is_object": true }, "all_fields": [ { - "name": "keys", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205843,9 +214405,10 @@ ], "required_positional_arguments": [ { - "name": "keys", + "name": "external_id", + "description": "Required. The external ID of the user in the customer's IdP.", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -205853,466 +214416,164 @@ ] }, { - "name": "SetStatus", - "description": "Sets the configuration status for a workspace, including enabling or disabling it.", - "summary": "Enable/disable features.", - "path": "/api/2.0/workspace-conf", - "can_use_json": true, - "must_use_json": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", - "request": { - "pascal_name": "WorkspaceConf", - "map_value": { - "is_string": true - } - }, - "response": { - "is_empty_response": true - } - } - ] - }, - { - "id": "tags.WorkspaceEntityTagAssignments", - "name": "WorkspaceEntityTagAssignments", - "description": "Manage tag assignments on workspace-scoped objects.", - "package": { - "name": "tags" - }, - "docs_group": "tags", - "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", - "list": { - "request": { - "pascal_name": "ListTagAssignmentsRequest" - } - }, - "methods": [ - { - "name": "CreateTagAssignment", - "description": "Create a tag assignment", - "summary": "Create a tag assignment for an entity.", - "path": "/api/2.0/entity-tag-assignments", + "name": "UpdateGroupProxy", + "description": "Updates an existing group in the Databricks account that\nparents the calling workspace. Only the fields named in the update mask are modified. Returns\nthe updated Group resource.\n\nWhen AIM is enabled and the group is an external identity (its external_id is set), only\nexternal_id can be updated; its other fields are sourced from your identity provider.", + "summary": "Update a group in the account.", + "path": "/api/2.0/identity/groups/{group_id}", "can_use_json": true, - "is_crud_create": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "CreateTagAssignmentRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "tag_assignment", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TagAssignment", - "is_object": true - } - } - ], - "required_request_body_fields": [ - { - "name": "tag_assignment", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TagAssignment", - "is_object": true - } - } - ] - }, - "request_body_field": { - "name": "tag_assignment", - "required": true, - "is_request_body_field": true, - "entity": { - "pascal_name": "TagAssignment", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "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", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - } - }, - "response": { - "pascal_name": "TagAssignment", + "pascal_name": "UpdateGroupProxyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Group", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } } ], - "required_request_body_fields": [ + "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", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "Group", + "is_object": true } } ] }, + "request_body_field": { + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Group", + "is_object": true + } + }, + "response": { + "pascal_name": "Group", + "is_object": true + }, "all_fields": [ { - "name": "tag_assignment", + "name": "group", + "description": "Required. Group to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagAssignment", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "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", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] + "pascal_name": "Group", + "is_object": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, - "is_request_body_field": true, + "is_path": true, "entity": { "is_string": true } }, { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_request_body_field": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, + "name": "account_id", + "description": "The parent account ID for group in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tag_value", - "description": "The value of the tag", - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, + "name": "external_id", + "description": "ExternalId of the group in the customer's IdP.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, + "name": "group_id", + "description": "Internal group ID of the group in Databricks.", + "is_output_only": true, "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, + "name": "group_name", + "description": "Display name of the group.", "is_request_body_field": true, "entity": { "is_string": true } } - ] - }, - { - "name": "DeleteTagAssignment", - "description": "Delete a tag assignment", - "summary": "Delete a tag assignment for an entity.", - "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key}", - "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": "DeleteTagAssignmentRequest", - "is_object": true, - "required_fields": [ - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "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", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } ], "required_positional_arguments": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "group_id", + "description": "Required. Internal ID of the group in Databricks.", "required": true, "is_path": true, "entity": { @@ -206320,10 +214581,10 @@ } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -206331,23 +214592,23 @@ ] }, { - "name": "GetTagAssignment", - "description": "Get a tag assignment", - "summary": "Get a tag assignment for an entity.", - "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key}", - "is_crud_read": true, + "name": "UpdateServicePrincipalProxy", + "description": "Updates an existing service principal in the\nDatabricks account that parents the calling workspace. Only the fields named in the update mask\nare modified. Returns the updated ServicePrincipal resource.\n\nWhen AIM is enabled and the service principal is an external identity (its external_id is set),\nonly external_id can be updated; its other fields are sourced from your identity provider.", + "summary": "Update a service principal in the account.", + "path": "/api/2.0/identity/service-principals/{service_principal_id}", + "can_use_json": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "GetTagAssignmentRequest", + "pascal_name": "UpdateServicePrincipalProxyRequest", "is_object": true, + "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, "is_path": true, "entity": { @@ -206355,19 +214616,20 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "service_principal", + "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } @@ -206375,8 +214637,8 @@ ], "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", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, "is_path": true, "entity": { @@ -206384,42 +214646,103 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - }, + } + ], + "required_request_body_fields": [ { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "service_principal", + "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true } } ] }, + "request_body_field": { + "name": "service_principal", + "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] + } + }, "response": { - "pascal_name": "TagAssignment", + "pascal_name": "ServicePrincipal", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { @@ -206427,28 +214750,27 @@ } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], "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", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, "is_request_body_field": true, "entity": { @@ -206456,29 +214778,95 @@ } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, "all_fields": [ { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "service_principal", + "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "ServicePrincipal", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_request_body_fields": [ + { + "name": "display_name", + "description": "Display name of the service principal.", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ] } }, { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", "required": true, "is_path": true, "entity": { @@ -206486,209 +214874,141 @@ } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, + "name": "account_id", + "description": "The parent account ID for the service principal in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", - "required": true, - "is_path": true, + "name": "application_id", + "description": "Application ID of the service principal. Set at creation time and cannot be changed\nafterwards; when omitted, the server generates one.", + "is_computed": true, + "is_request_body_field": true, "entity": { "is_string": true } - } - ] - }, - { - "name": "ListTagAssignments", - "description": "List the tag assignments for an entity", - "summary": "List tag assignments for an entity.", - "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags", - "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": "ListTagAssignmentsRequest", - "is_object": true, - "required_fields": [ - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ], - "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", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "ListTagAssignmentsResponse", - "is_object": true - }, - "all_fields": [ + }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, + "name": "external_id", + "description": "ExternalId of the service principal in the customer's IdP.", + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "page_size", - "description": "Optional. Maximum number of tag assignments to return in a single page", - "is_query": true, + "name": "service_principal_id", + "description": "Internal service principal ID of the service principal in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { - "is_int": true + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "service_principal_id", + "description": "Required. Internal ID of the service principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_string": true } }, { - "name": "page_token", - "description": "Pagination token to go to the next page of tag assignments. Requests first page if absent.", + "name": "update_mask", + "description": "Optional. The list of fields to update.", + "required": true, "is_query": true, "entity": { "is_string": true } - } - ], - "required_positional_arguments": [ + }, { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "display_name", + "description": "Display name of the service principal.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "account_sp_status", + "description": "The activity status of a service principal in a Databricks account.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { - "is_string": true - } - } - ], - "pagination": { - "token": { - "poll_field": { - "name": "page_token", - "description": "Pagination token to go to the next page of tag assignments. Requests first page if absent.", - "is_query": true, - "entity": { - "is_string": true - } + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } - } + ] }, { - "name": "UpdateTagAssignment", - "description": "Update a tag assignment", - "summary": "Update a tag assignment for an entity.", - "path": "/api/2.0/entity-tag-assignments/{entity_type}/{entity_id}/tags/{tag_key}", + "name": "UpdateUserProxy", + "description": "Updates an existing user in the Databricks account that parents the calling workspace and\nreturns the updated user. Only the fields named in the update mask are modified. The updatable\nfields are fullName.givenName, fullName.familyName, status, and externalId.\n\nWhen AIM is enabled and the user is an external identity (its external_id is set), only\nexternal_id can be updated; its other fields are sourced from your identity provider.", + "summary": "Update a user in the account.", + "path": "/api/2.0/identity/users/{user_id}", "can_use_json": true, + "is_hidden_cli": 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", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateTagAssignmentRequest", + "pascal_name": "UpdateUserProxyRequest", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, "is_path": true, "entity": { @@ -206696,17 +215016,18 @@ } }, { - "name": "tag_assignment", + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagAssignment", + "pascal_name": "User", "is_object": true } }, { "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "description": "Optional. The list of fields to update.", "required": true, "is_query": true, "entity": { @@ -206716,26 +215037,8 @@ ], "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", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, "is_path": true, "entity": { @@ -206744,7 +215047,7 @@ }, { "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "description": "Optional. The list of fields to update.", "required": true, "is_query": true, "entity": { @@ -206754,28 +215057,30 @@ ], "required_request_body_fields": [ { - "name": "tag_assignment", + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagAssignment", + "pascal_name": "User", "is_object": true } } ] }, "request_body_field": { - "name": "tag_assignment", + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagAssignment", + "pascal_name": "User", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -206783,28 +215088,36 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], "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", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -206812,34 +215125,42 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] } }, "response": { - "pascal_name": "TagAssignment", + "pascal_name": "User", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -206847,28 +215168,36 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], "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", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -206876,56 +215205,56 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] }, "all_fields": [ { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "tag_assignment", + "name": "user", + "description": "Required. User to be updated in \u003cDatabricks\u003e", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "TagAssignment", + "pascal_name": "User", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -206933,28 +215262,36 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ], "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", + "name": "username", + "description": "Username/email of the user.", "required": true, "is_request_body_field": true, "entity": { @@ -206962,29 +215299,37 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "full_name", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, "is_path": true, "entity": { @@ -206992,44 +215337,61 @@ } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", - "required": true, - "is_query": true, + "name": "account_id", + "description": "The accountId parent of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } }, { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", - "required": true, + "name": "external_id", + "description": "ExternalId of the user in the customer's IdP.", "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "full_name", "required": true, "is_request_body_field": true, + "entity": { + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "user_id", + "description": "Internal userId of the user in Databricks.", + "is_output_only": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "tag_value", - "description": "The value of the tag", + "name": "username", + "description": "Username/email of the user.", + "required": true, "is_request_body_field": true, "entity": { "is_string": true @@ -207038,8 +215400,8 @@ ], "required_positional_arguments": [ { - "name": "entity_type", - "description": "The type of entity to which the tag is assigned. Allowed values are apps, dashboards, geniespaces, notebooks", + "name": "user_id", + "description": "Required. Internal ID of the user in Databricks.", "required": true, "is_path": true, "entity": { @@ -207047,79 +215409,120 @@ } }, { - "name": "entity_id", - "description": "The identifier of the entity to which the tag is assigned. For apps, the entity_id is the app name", + "name": "update_mask", + "description": "Optional. The list of fields to update.", "required": true, - "is_path": true, + "is_query": true, "entity": { "is_string": true } }, { - "name": "tag_key", - "description": "The key of the tag. The characters , . : / - = and leading/trailing spaces are not allowed", + "name": "username", + "description": "Username/email of the user.", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "update_mask", - "description": "The field mask must be a single string, with multiple fields separated by commas (no spaces). The field path is relative to the resource object, using a dot (`.`) to navigate sub-fields (e.g., `author.given_name`). Specification of elements in sequence or map fields is not allowed, as only the entire collection field can be specified. Field names must exactly match the resource field names.\n\nA field mask of `*` indicates full replacement. It’s recommended to always explicitly list the fields being updated and avoid using `*` wildcards, as it can lead to unintended results if the API changes in the future.", + "name": "full_name", "required": true, - "is_query": true, + "is_request_body_field": true, "entity": { - "is_string": true + "pascal_name": "UserFullName", + "is_object": true + } + }, + { + "name": "account_user_status", + "description": "The activity status of a user in a Databricks account.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] } } ] - } - ] - }, - { - "id": "iamv2.WorkspaceIamV2", - "name": "WorkspaceIamV2", - "description": "These APIs are used to manage identities and the workspace access of these identities in \u003cDatabricks\u003e.", - "package": { - "name": "iamv2" - }, - "docs_group": "iam", - "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", - "methods": [ + }, { - "name": "CreateWorkspaceAssignmentDetailProxy", - "description": "Creates a workspace assignment detail for a principal in the calling workspace. Entitlements\nare granted one at a time rather than atomically. If the request fails partway through, the\nprincipal stays assigned to the workspace with only some of the requested entitlements. Get the\nassignment detail afterwards to confirm which entitlements were granted.", - "summary": "Create a workspace assignment detail for a workspace.", - "path": "/api/2.0/identity/workspace-assignment-details", + "name": "UpdateWorkspaceAssignmentDetailProxy", + "description": "Updates the entitlements of a directly assigned principal in the calling workspace. Changes are\napplied one at a time rather than atomically. If the request fails partway through, only some of\nthe requested changes take effect. Get the assignment detail afterwards to confirm the final\nstate.", + "summary": "Update a workspace assignment detail for a workspace.", + "path": "/api/2.0/identity/workspace-assignment-details/{principal_id}", "can_use_json": true, "is_hidden_cli": true, "has_required_positional_arguments": true, "launch_stage": "PRIVATE_PREVIEW", "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "CreateWorkspaceAssignmentDetailProxyRequest", + "pascal_name": "UpdateWorkspaceAssignmentDetailProxyRequest", "is_object": true, + "has_field_mask": true, "has_required_request_body_fields": true, "required_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { "pascal_name": "WorkspaceAssignmentDetail", "is_object": true } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_in_url_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } } ], "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 updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { @@ -207131,7 +215534,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 updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { @@ -207190,9 +215593,27 @@ ] }, "all_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, { "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be created in \u003cDatabricks\u003e.", + "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { @@ -207325,7 +215746,7 @@ }, { "name": "workspace_id", - "description": "The workspace ID where the principal is assigned", + "description": "The workspace ID where the principal is assigned.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -207336,120 +215757,7 @@ "required_positional_arguments": [ { "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "DeleteWorkspaceAssignmentDetailProxy", - "description": "Deletes a workspace assignment detail for a principal in the calling workspace, revoking all of\nits entitlements. Entitlements are revoked one at a time rather than atomically. If the request\nfails partway through, the principal stays assigned with some of its original entitlements.\nRetrying is safe.", - "summary": "Delete a workspace assignment detail for a workspace.", - "path": "/api/2.0/identity/workspace-assignment-details/{principal_id}", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "DeleteWorkspaceAssignmentDetailProxyRequest", - "is_object": true, - "required_fields": [ - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_in_url_fields": [ - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - "response": { - "is_empty_response": true - }, - "all_fields": [ - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_positional_arguments": [ - { - "name": "principal_id", - "description": "Required. ID of the principal in Databricks to delete workspace assignment for.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "GetWorkspaceAccessDetailLocal", - "description": "Returns the access details for a principal in the current workspace. Allows for checking access details for any\nprovisioned principal (user, service principal, or group) in the current workspace.\n* Provisioned principal here refers to one that has been synced into Databricks from the customer's IdP or\nadded explicitly to Databricks via SCIM/UI.\nAllows for passing in a \"view\" parameter to control what fields are returned (BASIC by default or FULL).", - "summary": "Get workspace access details for a principal.", - "path": "/api/2.0/identity/workspace-access-details/{principal_id}", - "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": "GetWorkspaceAccessDetailLocalRequest", - "is_object": true, - "required_fields": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_in_url_fields": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - "response": { - "pascal_name": "WorkspaceAccessDetail", - "is_object": true - }, - "all_fields": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", + "description": "Required. ID of the principal in Databricks.", "required": true, "is_path": true, "entity": { @@ -207457,362 +215765,37 @@ } }, { - "name": "view", - "description": "Controls what fields are returned.", - "is_query": true, - "entity": { - "pascal_name": "WorkspaceAccessDetailView", - "enum": [ - { - "content": "BASIC" - }, - { - "content": "FULL" - } - ] - } - } - ], - "required_positional_arguments": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the access details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "GetWorkspaceAssignmentDetailProxy", - "description": "Returns the assignment details for a principal in the calling workspace.", - "summary": "Get workspace assignment details for a principal.", - "path": "/api/2.0/identity/workspace-assignment-details/{principal_id}", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "GetWorkspaceAssignmentDetailProxyRequest", - "is_object": true, - "required_fields": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_in_url_fields": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - "response": { - "pascal_name": "WorkspaceAssignmentDetail", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ], - "required_request_body_fields": [ - { - "name": "principal_id", - "description": "The internal ID of the principal (user/sp/group) in Databricks.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_int64": true - } - } - ] - }, - "all_fields": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", - "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ], - "required_positional_arguments": [ - { - "name": "principal_id", - "description": "Required. The internal ID of the principal (user/sp/group) for which the assignment details are being requested.", + "name": "update_mask", + "description": "Required. The list of fields to update.", "required": true, - "is_path": true, - "entity": { - "is_int64": true - } - } - ] - }, - { - "name": "ListWorkspaceAssignmentDetailsProxy", - "description": "Lists workspace assignment details for the calling workspace. The response omits the\nper-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the\nentitlements for a single principal, get that principal's assignment detail.", - "summary": "List workspace assignment details for a workspace.", - "path": "/api/2.0/identity/workspace-assignment-details", - "is_hidden_cli": true, - "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", - "request": { - "pascal_name": "ListWorkspaceAssignmentDetailsProxyRequest", - "is_object": true - }, - "response": { - "pascal_name": "ListWorkspaceAssignmentDetailsResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "page_size", - "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", "is_query": true, "entity": { - "is_int": true + "is_field_mask": true } }, { - "name": "page_token", - "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", - "is_query": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "ResolveGroupProxy", - "description": "Resolves a group with the given external ID from the customer's IdP. If the group does not exist, it will be created in the account.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", - "summary": "Resolve an external group in the Databricks account.", - "path": "/api/2.0/identity/groups/resolve-by-external-id", - "can_use_json": 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": "ResolveGroupProxyRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "ResolveGroupResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "external_id", - "description": "Required. The external ID of the group in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "ResolveServicePrincipalProxy", - "description": "Resolves a service principal with the given external ID from the customer's IdP. If the service\nprincipal does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", - "summary": "Resolve an external service principal in the Databricks account.", - "path": "/api/2.0/identity/service-principals/resolve-by-external-id", - "can_use_json": 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": "ResolveServicePrincipalProxyRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "ResolveServicePrincipalResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "external_id", - "description": "Required. The external ID of the service principal in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - { - "name": "ResolveUserProxy", - "description": "Resolves a user with the given external ID from the customer's IdP. If the user does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM), this will return an error.", - "summary": "Resolve an external user in the Databricks account.", - "path": "/api/2.0/identity/users/resolve-by-external-id", - "can_use_json": 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": "ResolveUserProxyRequest", - "is_object": true, - "has_required_request_body_fields": true, - "required_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_request_body_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ] - }, - "response": { - "pascal_name": "ResolveUserResponse", - "is_object": true - }, - "all_fields": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", - "required": true, - "is_request_body_field": true, - "entity": { - "is_string": true - } - } - ], - "required_positional_arguments": [ - { - "name": "external_id", - "description": "Required. The external ID of the user in the customer's IdP.", + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", "required": true, "is_request_body_field": true, "entity": { - "is_string": true + "is_int64": true } } ] }, { - "name": "UpdateWorkspaceAssignmentDetailProxy", - "description": "Updates the entitlements of a directly assigned principal in the calling workspace. Changes are\napplied one at a time rather than atomically. If the request fails partway through, only some of\nthe requested changes take effect. Get the assignment detail afterwards to confirm the final\nstate.", - "summary": "Update a workspace assignment detail for a workspace.", - "path": "/api/2.0/identity/workspace-assignment-details/{principal_id}", + "name": "UpdateWorkspaceAssignmentProxy", + "description": "Updates the entitlements of a directly assigned principal in the calling workspace. Changes are\napplied one at a time rather than atomically. If the request fails partway through, only some of\nthe requested changes take effect. Get the assignment afterwards to confirm the final\nstate.", + "summary": "Update a workspace assignment for a workspace.", + "path": "/api/2.0/identity/workspace-assignments/{principal_id}", "can_use_json": true, "is_hidden_cli": true, "has_required_positional_arguments": true, "launch_stage": "PRIVATE_PREVIEW", "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "UpdateWorkspaceAssignmentDetailProxyRequest", + "pascal_name": "UpdateWorkspaceAssignmentProxyRequest", "is_object": true, "has_field_mask": true, "has_required_request_body_fields": true, @@ -207827,12 +215810,12 @@ } }, { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "WorkspaceAssignment", "is_object": true } }, @@ -207868,24 +215851,24 @@ ], "required_request_body_fields": [ { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "WorkspaceAssignment", "is_object": true } } ] }, "request_body_field": { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ @@ -207913,7 +215896,7 @@ } }, "response": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ @@ -207959,12 +215942,12 @@ } }, { - "name": "workspace_assignment_detail", - "description": "Required. Workspace assignment detail to be updated in \u003cDatabricks\u003e.", + "name": "workspace_assignment", + "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "WorkspaceAssignmentDetail", + "pascal_name": "WorkspaceAssignment", "is_object": true, "has_required_request_body_fields": true, "required_fields": [ @@ -208074,6 +216057,7 @@ }, { "name": "principal_type", + "description": "The type of the principal (user/service principal/group) that is assigned.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -208093,7 +216077,7 @@ }, { "name": "workspace_id", - "description": "The workspace ID where the principal is assigned", + "description": "The workspace ID where the principal is assigned.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -208130,6 +216114,211 @@ } } ] + }, + { + "name": "UpdateWorkspaceIdentityDetail", + "description": "Updates a workspace identity detail for a principal.", + "summary": "Update workspace identity details for a principal.", + "path": "/api/2.0/identity/workspace-identity-details/{principal_id}", + "can_use_json": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "UpdateWorkspaceIdentityDetailRequest", + "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "workspace_identity_detail", + "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceIdentityDetail", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_in_url_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "workspace_identity_detail", + "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceIdentityDetail", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "workspace_identity_detail", + "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceIdentityDetail", + "is_object": true + } + }, + "response": { + "pascal_name": "WorkspaceIdentityDetail", + "is_object": true + }, + "all_fields": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "workspace_identity_detail", + "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceIdentityDetail", + "is_object": true + } + }, + { + "name": "assignment_type", + "description": "The type of assignment the principal has to the workspace (direct or indirect).", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "WorkspaceIdentityDetailAssignmentType", + "enum": [ + { + "content": "DIRECT" + }, + { + "content": "INDIRECT" + } + ] + } + }, + { + "name": "principal_id", + "description": "The internal ID of the principal (user/sp/group) in Databricks.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_int64": true + } + }, + { + "name": "principal_type", + "description": "The type of the principal (user/service principal/group).", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "PrincipalType", + "enum": [ + { + "content": "GROUP" + }, + { + "content": "SERVICE_PRINCIPAL" + }, + { + "content": "USER" + } + ] + } + }, + { + "name": "workspace_identity_status", + "description": "The activity status of an identity in a Databricks workspace.", + "is_request_body_field": true, + "entity": { + "pascal_name": "State", + "enum": [ + { + "content": "ACTIVE" + }, + { + "content": "INACTIVE" + } + ] + } + } + ], + "required_positional_arguments": [ + { + "name": "principal_id", + "description": "Required. ID of the principal in Databricks.", + "required": true, + "is_path": true, + "entity": { + "is_int64": true + } + }, + { + "name": "update_mask", + "description": "Required. The list of fields to update.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ] } ] }, diff --git a/.nextchanges/dependency-updates/bump-sdk-0.175.0.md b/.nextchanges/dependency-updates/bump-sdk-0.175.0.md new file mode 100644 index 00000000000..89d98ec0446 --- /dev/null +++ b/.nextchanges/dependency-updates/bump-sdk-0.175.0.md @@ -0,0 +1 @@ +Bump `github.com/databricks/databricks-sdk-go` from v0.171.0 to v0.175.0. diff --git a/acceptance/bundle/refschema/out.fields.txt b/acceptance/bundle/refschema/out.fields.txt index 3c8ba93ce34..9e1202a2ff8 100644 --- a/acceptance/bundle/refschema/out.fields.txt +++ b/acceptance/bundle/refschema/out.fields.txt @@ -78,6 +78,8 @@ resources.apps.*.active_deployment.git_source *apps.GitSource ALL resources.apps.*.active_deployment.git_source.branch string ALL resources.apps.*.active_deployment.git_source.commit string ALL resources.apps.*.active_deployment.git_source.git_repository *apps.GitRepository ALL +resources.apps.*.active_deployment.git_source.git_repository.auto_deploy bool ALL +resources.apps.*.active_deployment.git_source.git_repository.caller_credential_id int64 ALL resources.apps.*.active_deployment.git_source.git_repository.provider string ALL resources.apps.*.active_deployment.git_source.git_repository.url string ALL resources.apps.*.active_deployment.git_source.resolved_commit string ALL @@ -111,6 +113,17 @@ resources.apps.*.config.env[*].value string ALL resources.apps.*.config.env[*].value_from string ALL resources.apps.*.create_time string ALL resources.apps.*.creator string ALL +resources.apps.*.default_git_source *apps.GitSource ALL +resources.apps.*.default_git_source.branch string ALL +resources.apps.*.default_git_source.commit string ALL +resources.apps.*.default_git_source.git_repository *apps.GitRepository ALL +resources.apps.*.default_git_source.git_repository.auto_deploy bool ALL +resources.apps.*.default_git_source.git_repository.caller_credential_id int64 ALL +resources.apps.*.default_git_source.git_repository.provider string ALL +resources.apps.*.default_git_source.git_repository.url string ALL +resources.apps.*.default_git_source.resolved_commit string ALL +resources.apps.*.default_git_source.source_code_path string ALL +resources.apps.*.default_git_source.tag string ALL resources.apps.*.default_source_code_path string ALL resources.apps.*.description string ALL resources.apps.*.effective_budget_policy_id string ALL @@ -119,12 +132,16 @@ resources.apps.*.effective_user_api_scopes []string ALL resources.apps.*.effective_user_api_scopes[*] string ALL resources.apps.*.forward_user_access_token bool ALL resources.apps.*.git_repository *apps.GitRepository ALL +resources.apps.*.git_repository.auto_deploy bool ALL +resources.apps.*.git_repository.caller_credential_id int64 ALL resources.apps.*.git_repository.provider string ALL resources.apps.*.git_repository.url string ALL resources.apps.*.git_source *apps.GitSource ALL resources.apps.*.git_source.branch string ALL resources.apps.*.git_source.commit string ALL resources.apps.*.git_source.git_repository *apps.GitRepository ALL +resources.apps.*.git_source.git_repository.auto_deploy bool ALL +resources.apps.*.git_source.git_repository.caller_credential_id int64 ALL resources.apps.*.git_source.git_repository.provider string ALL resources.apps.*.git_source.git_repository.url string ALL resources.apps.*.git_source.resolved_commit string ALL @@ -157,6 +174,8 @@ resources.apps.*.pending_deployment.git_source *apps.GitSource ALL resources.apps.*.pending_deployment.git_source.branch string ALL resources.apps.*.pending_deployment.git_source.commit string ALL resources.apps.*.pending_deployment.git_source.git_repository *apps.GitRepository ALL +resources.apps.*.pending_deployment.git_source.git_repository.auto_deploy bool ALL +resources.apps.*.pending_deployment.git_source.git_repository.caller_credential_id int64 ALL resources.apps.*.pending_deployment.git_source.git_repository.provider string ALL resources.apps.*.pending_deployment.git_source.git_repository.url string ALL resources.apps.*.pending_deployment.git_source.resolved_commit string ALL @@ -958,7 +977,7 @@ resources.jobs.*.id string INPUT resources.jobs.*.job_clusters []jobs.JobCluster ALL resources.jobs.*.job_clusters[*] jobs.JobCluster ALL resources.jobs.*.job_clusters[*].job_cluster_key string ALL -resources.jobs.*.job_clusters[*].new_cluster compute.ClusterSpec ALL +resources.jobs.*.job_clusters[*].new_cluster *compute.ClusterSpec ALL resources.jobs.*.job_clusters[*].new_cluster.apply_policy_default_values bool ALL resources.jobs.*.job_clusters[*].new_cluster.autoscale *compute.AutoScale ALL resources.jobs.*.job_clusters[*].new_cluster.autoscale.max_workers int ALL @@ -2430,6 +2449,8 @@ resources.model_serving_endpoints.*.endpoint_details.tags[*].key string REMOTE resources.model_serving_endpoints.*.endpoint_details.tags[*].value string REMOTE resources.model_serving_endpoints.*.endpoint_details.task string REMOTE resources.model_serving_endpoints.*.endpoint_details.telemetry_config *serving.TelemetryConfig REMOTE +resources.model_serving_endpoints.*.endpoint_details.telemetry_config.enabled_telemetry_features []serving.TelemetryFeature REMOTE +resources.model_serving_endpoints.*.endpoint_details.telemetry_config.enabled_telemetry_features[*] serving.TelemetryFeature REMOTE resources.model_serving_endpoints.*.endpoint_details.telemetry_config.inference_table_config *serving.TelemetryInferenceTableConfig REMOTE resources.model_serving_endpoints.*.endpoint_details.telemetry_config.inference_table_config.name string REMOTE resources.model_serving_endpoints.*.endpoint_details.telemetry_config.inference_table_config.sampling_fraction float64 REMOTE @@ -2456,6 +2477,8 @@ resources.model_serving_endpoints.*.tags[*] serving.EndpointTag ALL resources.model_serving_endpoints.*.tags[*].key string ALL resources.model_serving_endpoints.*.tags[*].value string ALL resources.model_serving_endpoints.*.telemetry_config *serving.TelemetryConfig ALL +resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features []serving.TelemetryFeature ALL +resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features[*] serving.TelemetryFeature ALL resources.model_serving_endpoints.*.telemetry_config.inference_table_config *serving.TelemetryInferenceTableConfig ALL resources.model_serving_endpoints.*.telemetry_config.inference_table_config.name string ALL resources.model_serving_endpoints.*.telemetry_config.inference_table_config.sampling_fraction float64 ALL @@ -2619,6 +2642,7 @@ resources.pipelines.*.dry_run bool ALL resources.pipelines.*.edition string ALL resources.pipelines.*.effective_budget_policy_id string REMOTE resources.pipelines.*.effective_publishing_mode pipelines.PublishingMode REMOTE +resources.pipelines.*.effective_serverless_compute_id string REMOTE resources.pipelines.*.environment *pipelines.PipelinesEnvironment ALL resources.pipelines.*.environment.dependencies []string ALL resources.pipelines.*.environment.dependencies[*] string ALL @@ -2769,6 +2793,18 @@ 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.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 +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*] pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.finder pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.metrics []string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.metrics[*] string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options.time_granularity pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.lookback_window_days int ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.sync_start_date string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.marketo_options *pipelines.MarketoOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.marketo_options.sync_start_date string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options *pipelines.MetaMarketingOptions ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_attribution_windows []string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.meta_ads_options.action_attribution_windows[*] string ALL @@ -2981,6 +3017,18 @@ 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.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 +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity[*] pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.finder pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.metrics []string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.metrics[*] string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options.time_granularity pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.lookback_window_days int ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.sync_start_date string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.marketo_options *pipelines.MarketoOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.marketo_options.sync_start_date string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options *pipelines.MetaMarketingOptions ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_attribution_windows []string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.meta_ads_options.action_attribution_windows[*] string ALL @@ -3457,6 +3505,7 @@ resources.postgres_synced_tables.*.modified_status string INPUT resources.postgres_synced_tables.*.name string REMOTE resources.postgres_synced_tables.*.new_pipeline_spec *postgres.NewPipelineSpec ALL resources.postgres_synced_tables.*.new_pipeline_spec.budget_policy_id string ALL +resources.postgres_synced_tables.*.new_pipeline_spec.pipeline_channel postgres.NewPipelineSpecPipelineChannel ALL resources.postgres_synced_tables.*.new_pipeline_spec.storage_catalog string ALL resources.postgres_synced_tables.*.new_pipeline_spec.storage_schema string ALL resources.postgres_synced_tables.*.postgres_database string ALL diff --git a/acceptance/cmd/account/account-help/output.txt b/acceptance/cmd/account/account-help/output.txt index 0c1f01187cf..db1b4756a5f 100644 --- a/acceptance/cmd/account/account-help/output.txt +++ b/acceptance/cmd/account/account-help/output.txt @@ -44,7 +44,7 @@ Billing budget-policy *Public Preview* A service serves REST API about Budget policies. budgets *Public Preview* These APIs manage budget configurations for this account. log-delivery These APIs manage log delivery configurations for this account. - usage-dashboards *Public Preview* These APIs manage usage dashboards for this account. + usage-dashboards These APIs manage usage dashboards for this account. OAuth custom-app-integration These APIs enable administrators to manage custom OAuth app integrations, which is required for adding/using Custom OAuth App Integration like Tableau Cloud for Databricks in AWS cloud. diff --git a/acceptance/cmd/workspace/apps/output.txt b/acceptance/cmd/workspace/apps/output.txt index 16da8b36097..7691349e3bc 100644 --- a/acceptance/cmd/workspace/apps/output.txt +++ b/acceptance/cmd/workspace/apps/output.txt @@ -97,6 +97,7 @@ Flags: --forward-user-access-token Forward the user's access token to the app. -h, --help help for update --json JSON either inline JSON string or @path/to/file.json with request body (default JSON (0 bytes)) + --source-code-path string --space string Name of the space this app belongs to. --usage-policy-id string diff --git a/acceptance/help/output.txt b/acceptance/help/output.txt index 2c51131bd3f..266e1227c48 100644 --- a/acceptance/help/output.txt +++ b/acceptance/help/output.txt @@ -163,7 +163,7 @@ Tags workspace-entity-tag-assignments *Beta* Manage tag assignments on workspace-scoped objects. Postgres - postgres *Beta* Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles. + postgres Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles. Environments environments APIs to manage environment resources. diff --git a/bundle/apps/validate_test.go b/bundle/apps/validate_test.go index ffc4fde45e4..5edae10a884 100644 --- a/bundle/apps/validate_test.go +++ b/bundle/apps/validate_test.go @@ -33,15 +33,15 @@ func TestAppsValidateSameSourcePath(t *testing.T) { Apps: map[string]*resources.App{ "app1": { App: apps.App{ - Name: "app1", + Name: "app1", + SourceCodePath: "./app1", }, - SourceCodePath: "./app1", }, "app2": { App: apps.App{ - Name: "app2", + Name: "app2", + SourceCodePath: "./app1", }, - SourceCodePath: "./app1", }, }, }, @@ -188,10 +188,10 @@ func TestAppsValidateResourcePermissionsWarning(t *testing.T) { tc.resources.Apps = map[string]*resources.App{ "my_app": { App: apps.App{ - Name: "my_app", - Resources: tc.appResources, + Name: "my_app", + Resources: tc.appResources, + SourceCodePath: "./app1", }, - SourceCodePath: "./app1", }, } @@ -237,11 +237,11 @@ func TestAppsValidateBothSourceCodePathAndGitSource(t *testing.T) { Apps: map[string]*resources.App{ "app1": { App: apps.App{ - Name: "app1", - }, - SourceCodePath: "./app1", - GitSource: &apps.GitSource{ - Branch: "main", + Name: "app1", + SourceCodePath: "./app1", + GitSource: &apps.GitSource{ + Branch: "main", + }, }, }, }, diff --git a/bundle/config/mutator/paths/app_paths_visitor_test.go b/bundle/config/mutator/paths/app_paths_visitor_test.go index 5c5951dab16..9ec01aeaf83 100644 --- a/bundle/config/mutator/paths/app_paths_visitor_test.go +++ b/bundle/config/mutator/paths/app_paths_visitor_test.go @@ -6,6 +6,7 @@ import ( "github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config/resources" "github.com/databricks/cli/libs/dyn" + "github.com/databricks/databricks-sdk-go/service/apps" "github.com/stretchr/testify/assert" ) @@ -14,7 +15,9 @@ func TestAppPathsVisitor(t *testing.T) { Resources: config.Resources{ Apps: map[string]*resources.App{ "app0": { - SourceCodePath: "foo", + App: apps.App{ + SourceCodePath: "foo", + }, }, }, }, diff --git a/bundle/config/mutator/resourcemutator/cluster_fixups.go b/bundle/config/mutator/resourcemutator/cluster_fixups.go index 893cd248aa4..53cf62e10dc 100644 --- a/bundle/config/mutator/resourcemutator/cluster_fixups.go +++ b/bundle/config/mutator/resourcemutator/cluster_fixups.go @@ -97,8 +97,11 @@ func prepareJobSettingsForUpdate(js *jobs.JobSettings) { } } for ind := range js.JobClusters { - ModifyRequestOnInstancePool(&js.JobClusters[ind].NewCluster) - initializeNumWorkers(&js.JobClusters[ind].NewCluster) + nc := js.JobClusters[ind].NewCluster + if nc != nil { + ModifyRequestOnInstancePool(nc) + initializeNumWorkers(nc) + } } } diff --git a/bundle/config/mutator/resourcemutator/merge_job_clusters_test.go b/bundle/config/mutator/resourcemutator/merge_job_clusters_test.go index 56c5e5ee721..4f981022609 100644 --- a/bundle/config/mutator/resourcemutator/merge_job_clusters_test.go +++ b/bundle/config/mutator/resourcemutator/merge_job_clusters_test.go @@ -23,7 +23,7 @@ func TestMergeJobClusters(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "foo", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "13.3.x-scala2.12", NodeTypeId: "i3.xlarge", NumWorkers: 2, @@ -31,13 +31,13 @@ func TestMergeJobClusters(t *testing.T) { }, { JobClusterKey: "bar", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "10.4.x-scala2.12", }, }, { JobClusterKey: "foo", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ NodeTypeId: "i3.2xlarge", NumWorkers: 4, }, @@ -79,14 +79,14 @@ func TestMergeJobClustersWithNilKey(t *testing.T) { JobSettings: jobs.JobSettings{ JobClusters: []jobs.JobCluster{ { - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "13.3.x-scala2.12", NodeTypeId: "i3.xlarge", NumWorkers: 2, }, }, { - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ NodeTypeId: "i3.2xlarge", NumWorkers: 4, }, diff --git a/bundle/config/mutator/translate_paths_apps_test.go b/bundle/config/mutator/translate_paths_apps_test.go index 331a1a8ab5e..a69999b2b2a 100644 --- a/bundle/config/mutator/translate_paths_apps_test.go +++ b/bundle/config/mutator/translate_paths_apps_test.go @@ -32,9 +32,9 @@ func TestTranslatePathsApps_FilePathRelativeSubDirectory(t *testing.T) { Apps: map[string]*resources.App{ "app": { App: apps.App{ - Name: "My App", + Name: "My App", + SourceCodePath: "../src/app", }, - SourceCodePath: "../src/app", }, }, }, diff --git a/bundle/config/resources/apps.go b/bundle/config/resources/apps.go index 75d5cac0fd1..a26670c4897 100644 --- a/bundle/config/resources/apps.go +++ b/bundle/config/resources/apps.go @@ -41,19 +41,16 @@ type App struct { // Lifecycle shadows BaseResource.Lifecycle to add support for lifecycle.started. Lifecycle *LifecycleWithStarted `json:"lifecycle,omitempty"` - // SourceCodePath is a required field used by DABs to point to Databricks app source code - // on local disk and to the corresponding workspace path during app deployment. - SourceCodePath string `json:"source_code_path,omitempty"` + // SourceCodePath and GitSource come from the embedded apps.App. DABs treats them as + // deploy-only: source_code_path points at app source on local disk and is translated to + // its workspace path, and both are passed to the Deploy API rather than sent as resource + // attributes. Declaring them here too would duplicate their json tags and break diffing. // Config represents inline app.yaml configuration for the app. // When specified, this configuration is written to an app.yaml file in the source code path during deployment. // This allows users to define app configuration directly in the bundle YAML instead of maintaining a separate app.yaml file. Config *AppConfig `json:"config,omitempty"` - // GitSource specifies the git reference (branch, tag, or commit) to use during deployment. - // This is used in conjunction with GitRepository (from apps.App) and is passed to the Deploy API. - GitSource *apps.GitSource `json:"git_source,omitempty"` - Permissions []AppPermission `json:"permissions,omitempty"` } diff --git a/bundle/config/validate/single_node_cluster_test.go b/bundle/config/validate/single_node_cluster_test.go index bbda86f2ff3..1e622a3a0e1 100644 --- a/bundle/config/validate/single_node_cluster_test.go +++ b/bundle/config/validate/single_node_cluster_test.go @@ -142,7 +142,7 @@ func TestValidateSingleNodeClusterFailForJobClusters(t *testing.T) { JobSettings: jobs.JobSettings{ JobClusters: []jobs.JobCluster{ { - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ ClusterName: "my_cluster", SparkConf: tc.sparkConf, CustomTags: tc.customTags, @@ -415,7 +415,7 @@ func TestValidateSingleNodeClusterPassJobClusters(t *testing.T) { JobSettings: jobs.JobSettings{ JobClusters: []jobs.JobCluster{ { - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ ClusterName: "my_cluster", SparkConf: tc.sparkConf, CustomTags: tc.customTags, @@ -576,7 +576,7 @@ func TestValidateSingleNodeClusterWithIsSingleNode(t *testing.T) { JobSettings: jobs.JobSettings{ JobClusters: []jobs.JobCluster{ { - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ ClusterName: "my_cluster", }, }, diff --git a/bundle/deploy/terraform/convert_test.go b/bundle/deploy/terraform/convert_test.go index 2b709787969..537c9128fa9 100644 --- a/bundle/deploy/terraform/convert_test.go +++ b/bundle/deploy/terraform/convert_test.go @@ -46,7 +46,7 @@ func TestBundleToTerraformJob(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "key", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "10.4.x-scala2.12", }, }, diff --git a/bundle/deploy/terraform/tfdyn/convert_app.go b/bundle/deploy/terraform/tfdyn/convert_app.go index 87095eb0aa7..edc6073a89d 100644 --- a/bundle/deploy/terraform/tfdyn/convert_app.go +++ b/bundle/deploy/terraform/tfdyn/convert_app.go @@ -27,6 +27,15 @@ func convertAppResource(ctx context.Context, vin dyn.Value) (dyn.Value, error) { log.Debugf(ctx, "app normalization diagnostic: %s", diag.Summary) } + // SDK v0.175 added source_code_path, git_source, and default_git_source to + // apps.App. These are deploy-only fields DABs handles via source upload (see + // bundle/direct/dresources/app.go), not databricks_app resource attributes, so + // keep them out of the Terraform state. + vout, err := dyn.DropKeys(vout, []string{"source_code_path", "git_source", "default_git_source"}) + if err != nil { + return vout, err + } + return vout, nil } diff --git a/bundle/deploy/terraform/tfdyn/convert_app_test.go b/bundle/deploy/terraform/tfdyn/convert_app_test.go index 896d0e52d5c..013b9e7e9ac 100644 --- a/bundle/deploy/terraform/tfdyn/convert_app_test.go +++ b/bundle/deploy/terraform/tfdyn/convert_app_test.go @@ -14,10 +14,10 @@ import ( func TestConvertApp(t *testing.T) { src := resources.App{ - SourceCodePath: "./app", App: apps.App{ - Name: "app_id", - Description: "app description", + SourceCodePath: "./app", + Name: "app_id", + Description: "app description", Resources: []apps.AppResource{ { Name: "job1", @@ -96,9 +96,9 @@ func TestConvertApp(t *testing.T) { func TestConvertAppWithNoDescription(t *testing.T) { src := resources.App{ - SourceCodePath: "./app", App: apps.App{ - Name: "app_id", + SourceCodePath: "./app", + Name: "app_id", Resources: []apps.AppResource{ { Name: "job1", diff --git a/bundle/deploy/terraform/tfdyn/convert_job_test.go b/bundle/deploy/terraform/tfdyn/convert_job_test.go index 4ddd84f2d2f..d24bdd47b31 100644 --- a/bundle/deploy/terraform/tfdyn/convert_job_test.go +++ b/bundle/deploy/terraform/tfdyn/convert_job_test.go @@ -26,7 +26,7 @@ func TestConvertJob(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "key", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "10.4.x-scala2.12", }, }, @@ -162,7 +162,7 @@ func TestConvertJobApplyPolicyDefaultValues(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "key", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ ApplyPolicyDefaultValues: true, PolicyId: "policy_id", GcpAttributes: &compute.GcpAttributes{ @@ -173,7 +173,7 @@ func TestConvertJobApplyPolicyDefaultValues(t *testing.T) { }, { JobClusterKey: "key2", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ ApplyPolicyDefaultValues: true, PolicyId: "policy_id2", CustomTags: map[string]string{ @@ -204,7 +204,7 @@ func TestConvertJobApplyPolicyDefaultValues(t *testing.T) { }, { JobClusterKey: "key3", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ ApplyPolicyDefaultValues: true, SparkVersion: "16.4.x-scala2.12", }, diff --git a/bundle/direct/dresources/app.go b/bundle/direct/dresources/app.go index 8988d8193b7..c7108f87997 100644 --- a/bundle/direct/dresources/app.go +++ b/bundle/direct/dresources/app.go @@ -18,24 +18,20 @@ import ( "github.com/databricks/databricks-sdk-go/service/apps" ) -// AppState is the state type for App resources. It extends apps.App with deployment-related -// fields (source_code_path, config, git_source, lifecycle) that are persisted in state. +// AppState is the state type for App resources. source_code_path and git_source come from +// apps.App; config and lifecycle are DABs-only additions persisted in state. type AppState struct { apps.App - SourceCodePath string `json:"source_code_path,omitempty"` - Config *resources.AppConfig `json:"config,omitempty"` - GitSource *apps.GitSource `json:"git_source,omitempty"` - Lifecycle *StateLifecycle `json:"lifecycle,omitempty"` + Config *resources.AppConfig `json:"config,omitempty"` + Lifecycle *StateLifecycle `json:"lifecycle,omitempty"` } -// AppRemote extends apps.App with the same deployment fields as AppState so they +// AppRemote extends apps.App with the same DABs-only fields as AppState so they // appear in RemoteType and can be used for $resource resolution and drift detection. type AppRemote struct { apps.App - SourceCodePath string `json:"source_code_path,omitempty"` - Config *resources.AppConfig `json:"config,omitempty"` - GitSource *apps.GitSource `json:"git_source,omitempty"` - Lifecycle *StateLifecycle `json:"lifecycle,omitempty"` + Config *resources.AppConfig `json:"config,omitempty"` + Lifecycle *StateLifecycle `json:"lifecycle,omitempty"` } // Custom marshalers needed because embedded apps.App has its own MarshalJSON @@ -66,11 +62,9 @@ func (*ResourceApp) New(client *databricks.WorkspaceClient) *ResourceApp { func (*ResourceApp) PrepareState(input *resources.App) *AppState { s := &AppState{ - App: input.App, - SourceCodePath: input.SourceCodePath, - Config: input.Config, - GitSource: input.GitSource, - Lifecycle: nil, + App: input.App, + Config: input.Config, + Lifecycle: nil, } if input.Lifecycle != nil && input.Lifecycle.Started != nil { s.Lifecycle = &StateLifecycle{Started: input.Lifecycle.Started} @@ -79,17 +73,15 @@ func (*ResourceApp) PrepareState(input *resources.App) *AppState { } // RemapState maps the remote AppRemote to AppState for diff comparison. -// Config, GitSource, and SourceCodePath are populated from the active deployment -// when one exists, enabling drift detection for out-of-band redeploys. +// DoRead populates config, git_source, and source_code_path from the active +// deployment when one exists, enabling drift detection for out-of-band redeploys. // Started is derived from compute status so the planner can detect start/stop changes. func (*ResourceApp) RemapState(remote *AppRemote) *AppState { started := !isComputeStopped(&remote.App) return &AppState{ - App: remote.App, - SourceCodePath: remote.SourceCodePath, - Config: remote.Config, - GitSource: remote.GitSource, - Lifecycle: &StateLifecycle{Started: &started}, + App: remote.App, + Config: remote.Config, + Lifecycle: &StateLifecycle{Started: &started}, } } @@ -100,11 +92,9 @@ func (r *ResourceApp) DoRead(ctx context.Context, id string) (*AppRemote, error) } started := !isComputeStopped(app) remote := &AppRemote{ - App: *app, - Config: nil, - GitSource: nil, - SourceCodePath: "", - Lifecycle: &StateLifecycle{Started: &started}, + App: *app, + Config: nil, + Lifecycle: &StateLifecycle{Started: &started}, } if app.ActiveDeployment != nil { // The source code path in active deployment is snapshotted version of the source code path in the app. @@ -116,12 +106,22 @@ func (r *ResourceApp) DoRead(ctx context.Context, id string) (*AppRemote, error) return remote, nil } +// appRequestBody returns config.App with the deploy-only fields cleared. source_code_path +// and git_source became part of apps.App in SDK v0.175, but DABs applies them through the +// Deploy API (see manageLifecycle), so they must not ride along in create/update bodies. +func appRequestBody(config *AppState) apps.App { + app := config.App + app.SourceCodePath = "" + app.GitSource = nil + return app +} + func (r *ResourceApp) DoCreate(ctx context.Context, config *AppState) (string, *AppRemote, error) { // Start app compute only when lifecycle.started=true is explicit. // For nil (omitted) or false, use no_compute=true (do not start compute). noCompute := config.Lifecycle == nil || config.Lifecycle.Started == nil || !*config.Lifecycle.Started request := apps.CreateAppRequest{ - App: config.App, + App: appRequestBody(config), NoCompute: noCompute, ForceSendFields: nil, } @@ -174,11 +174,12 @@ var UpdateMaskFields = []string{ var updateMask = strings.Join(UpdateMaskFields, ",") func (r *ResourceApp) DoUpdate(ctx context.Context, id string, config *AppState, entry *PlanEntry) (*AppRemote, error) { - // Deploy-only fields (source_code_path, config, - // git_source, lifecycle) are not part of apps.App and thus excluded from the request body. + // Deploy-only fields (source_code_path, config, git_source, lifecycle) are excluded + // from the request body; see appRequestBody. if hasAppChanges(entry) { + app := appRequestBody(config) request := apps.AsyncUpdateAppRequest{ - App: &config.App, + App: &app, AppName: id, UpdateMask: updateMask, } @@ -366,11 +367,9 @@ func (r *ResourceApp) waitForApp(ctx context.Context, w *databricks.WorkspaceCli } started := !isComputeStopped(app) remote := &AppRemote{ - App: *app, - Config: nil, - GitSource: nil, - SourceCodePath: "", - Lifecycle: &StateLifecycle{Started: &started}, + App: *app, + Config: nil, + Lifecycle: &StateLifecycle{Started: &started}, } if app.ActiveDeployment != nil { remote.SourceCodePath = app.DefaultSourceCodePath diff --git a/bundle/direct/dresources/pipeline.go b/bundle/direct/dresources/pipeline.go index b56ae7d54dc..c4592bc0ea3 100644 --- a/bundle/direct/dresources/pipeline.go +++ b/bundle/direct/dresources/pipeline.go @@ -40,17 +40,18 @@ type PipelineRemote struct { pipelines.CreatePipeline // Remote-specific fields from pipelines.GetPipelineResponse - Cause string `json:"cause,omitempty"` - ClusterId string `json:"cluster_id,omitempty"` - CreatorUserName string `json:"creator_user_name,omitempty"` - EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` - EffectivePublishingMode pipelines.PublishingMode `json:"effective_publishing_mode,omitempty"` - Health pipelines.GetPipelineResponseHealth `json:"health,omitempty"` - LastModified int64 `json:"last_modified,omitempty"` - LatestUpdates []pipelines.UpdateStateInfo `json:"latest_updates,omitempty"` - PipelineId string `json:"pipeline_id,omitempty"` - RunAsUserName string `json:"run_as_user_name,omitempty"` - State pipelines.PipelineState `json:"state,omitempty"` + Cause string `json:"cause,omitempty"` + ClusterId string `json:"cluster_id,omitempty"` + CreatorUserName string `json:"creator_user_name,omitempty"` + EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` + EffectivePublishingMode pipelines.PublishingMode `json:"effective_publishing_mode,omitempty"` + EffectiveServerlessComputeId string `json:"effective_serverless_compute_id,omitempty"` + Health pipelines.GetPipelineResponseHealth `json:"health,omitempty"` + LastModified int64 `json:"last_modified,omitempty"` + LatestUpdates []pipelines.UpdateStateInfo `json:"latest_updates,omitempty"` + PipelineId string `json:"pipeline_id,omitempty"` + RunAsUserName string `json:"run_as_user_name,omitempty"` + State pipelines.PipelineState `json:"state,omitempty"` } // Custom marshaler needed because embedded CreatePipeline has its own MarshalJSON @@ -140,18 +141,19 @@ func makePipelineRemote(p *pipelines.GetPipelineResponse) *PipelineRemote { } } return &PipelineRemote{ - CreatePipeline: createPipeline, - Cause: p.Cause, - ClusterId: p.ClusterId, - CreatorUserName: p.CreatorUserName, - EffectiveBudgetPolicyId: p.EffectiveBudgetPolicyId, - EffectivePublishingMode: p.EffectivePublishingMode, - Health: p.Health, - LastModified: p.LastModified, - LatestUpdates: p.LatestUpdates, - PipelineId: p.PipelineId, - RunAsUserName: p.RunAsUserName, - State: p.State, + CreatePipeline: createPipeline, + Cause: p.Cause, + ClusterId: p.ClusterId, + CreatorUserName: p.CreatorUserName, + EffectiveBudgetPolicyId: p.EffectiveBudgetPolicyId, + EffectivePublishingMode: p.EffectivePublishingMode, + EffectiveServerlessComputeId: p.EffectiveServerlessComputeId, + Health: p.Health, + LastModified: p.LastModified, + LatestUpdates: p.LatestUpdates, + PipelineId: p.PipelineId, + RunAsUserName: p.RunAsUserName, + State: p.State, } } diff --git a/bundle/direct/dresources/resources.generated.yml b/bundle/direct/dresources/resources.generated.yml index 9d0fc0f3b45..c121f9b3a0f 100644 --- a/bundle/direct/dresources/resources.generated.yml +++ b/bundle/direct/dresources/resources.generated.yml @@ -27,6 +27,11 @@ resources: apps: ignore_remote_changes: + - field: git_source + reason: spec:input_only + - field: source_code_path + reason: spec:input_only + - field: active_deployment reason: spec:output_only - field: app_status @@ -37,6 +42,8 @@ resources: reason: spec:output_only - field: creator reason: spec:output_only + - field: default_git_source + reason: spec:output_only - field: default_source_code_path reason: spec:output_only - field: effective_budget_policy_id @@ -193,9 +200,6 @@ resources: model_serving_endpoints: ignore_remote_changes: - - field: telemetry_config.table_names - reason: spec:input_only - - field: telemetry_config.inference_table_config.name reason: spec:output_only diff --git a/bundle/internal/validation/generated/enum_fields.go b/bundle/internal/validation/generated/enum_fields.go index 8ee5c1857f4..1abda54bfa7 100644 --- a/bundle/internal/validation/generated/enum_fields.go +++ b/bundle/internal/validation/generated/enum_fields.go @@ -165,6 +165,7 @@ var EnumFields = map[string][]string{ "resources.model_serving_endpoints.*.permissions[*].level": {"CAN_MANAGE", "CAN_QUERY", "CAN_VIEW"}, "resources.model_serving_endpoints.*.rate_limits[*].key": {"endpoint", "user"}, "resources.model_serving_endpoints.*.rate_limits[*].renewal_period": {"minute"}, + "resources.model_serving_endpoints.*.telemetry_config.enabled_telemetry_features[*]": {"TELEMETRY_FEATURE_INFERENCE_TABLE", "TELEMETRY_FEATURE_LOGS", "TELEMETRY_FEATURE_METRICS", "TELEMETRY_FEATURE_TRACES"}, "resources.models.*.permissions[*].level": {"CAN_EDIT", "CAN_MANAGE", "CAN_MANAGE_PRODUCTION_VERSIONS", "CAN_MANAGE_STAGING_VERSIONS", "CAN_READ"}, @@ -185,6 +186,9 @@ var EnumFields = map[string][]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.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.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"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.attachment_mode": {"ALL", "INLINE_ONLY", "NONE", "NON_INLINE_ONLY"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.body_format": {"TEXT_HTML", "TEXT_PLAIN"}, "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.sharepoint_options.entity_type": {"FILE", "FILE_METADATA", "LIST", "PERMISSION"}, @@ -204,6 +208,9 @@ var EnumFields = map[string][]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.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.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"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.attachment_mode": {"ALL", "INLINE_ONLY", "NONE", "NON_INLINE_ONLY"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.body_format": {"TEXT_HTML", "TEXT_PLAIN"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.sharepoint_options.entity_type": {"FILE", "FILE_METADATA", "LIST", "PERMISSION"}, @@ -227,9 +234,10 @@ var EnumFields = map[string][]string{ "resources.postgres_roles.*.identity_type": {"GROUP", "SERVICE_PRINCIPAL", "USER"}, "resources.postgres_roles.*.membership_roles[*]": {"DATABRICKS_SUPERUSER"}, - "resources.postgres_synced_tables.*.extra_columns[*].maintenance": {"STORED_GENERATED"}, - "resources.postgres_synced_tables.*.scheduling_policy": {"CONTINUOUS", "SNAPSHOT", "TRIGGERED"}, - "resources.postgres_synced_tables.*.type_overrides[*].pg_type": {"PG_SPECIFIC_TYPE_VECTOR"}, + "resources.postgres_synced_tables.*.extra_columns[*].maintenance": {"STORED_GENERATED"}, + "resources.postgres_synced_tables.*.new_pipeline_spec.pipeline_channel": {"CURRENT", "PREVIEW"}, + "resources.postgres_synced_tables.*.scheduling_policy": {"CONTINUOUS", "SNAPSHOT", "TRIGGERED"}, + "resources.postgres_synced_tables.*.type_overrides[*].pg_type": {"PG_SPECIFIC_TYPE_HALFVEC", "PG_SPECIFIC_TYPE_VARCHAR", "PG_SPECIFIC_TYPE_VECTOR"}, "resources.quality_monitors.*.custom_metrics[*].type": {"CUSTOM_METRIC_TYPE_AGGREGATE", "CUSTOM_METRIC_TYPE_DERIVED", "CUSTOM_METRIC_TYPE_DRIFT"}, "resources.quality_monitors.*.inference_log.problem_type": {"PROBLEM_TYPE_CLASSIFICATION", "PROBLEM_TYPE_REGRESSION"}, @@ -254,7 +262,7 @@ var EnumFields = map[string][]string{ "resources.synced_database_tables.*.data_synchronization_status.provisioning_status.initial_pipeline_sync_progress.provisioning_phase": {"PROVISIONING_PHASE_INDEX_SCAN", "PROVISIONING_PHASE_INDEX_SORT", "PROVISIONING_PHASE_MAIN"}, "resources.synced_database_tables.*.data_synchronization_status.triggered_update_status.triggered_update_progress.provisioning_phase": {"PROVISIONING_PHASE_INDEX_SCAN", "PROVISIONING_PHASE_INDEX_SORT", "PROVISIONING_PHASE_MAIN"}, "resources.synced_database_tables.*.spec.scheduling_policy": {"CONTINUOUS", "SNAPSHOT", "TRIGGERED"}, - "resources.synced_database_tables.*.spec.type_overrides[*].pg_type": {"PG_SPECIFIC_TYPE_VECTOR"}, + "resources.synced_database_tables.*.spec.type_overrides[*].pg_type": {"PG_SPECIFIC_TYPE_HALFVEC", "PG_SPECIFIC_TYPE_VARCHAR", "PG_SPECIFIC_TYPE_VECTOR"}, "resources.synced_database_tables.*.unity_catalog_provisioning_state": {"ACTIVE", "DEGRADED", "DELETING", "FAILED", "PROVISIONING", "UPDATING"}, "resources.vector_search_endpoints.*.endpoint_type": {"STANDARD", "STORAGE_OPTIMIZED"}, diff --git a/bundle/internal/validation/generated/required_fields.go b/bundle/internal/validation/generated/required_fields.go index 6247dafc726..f17ac632825 100644 --- a/bundle/internal/validation/generated/required_fields.go +++ b/bundle/internal/validation/generated/required_fields.go @@ -22,6 +22,7 @@ var RequiredFields = map[string][]string{ "resources.apps.*": {"name"}, "resources.apps.*.active_deployment.git_source.git_repository": {"provider", "url"}, "resources.apps.*.config.env[*]": {"name"}, + "resources.apps.*.default_git_source.git_repository": {"provider", "url"}, "resources.apps.*.git_repository": {"provider", "url"}, "resources.apps.*.git_source.git_repository": {"provider", "url"}, "resources.apps.*.pending_deployment.git_source.git_repository": {"provider", "url"}, @@ -79,7 +80,7 @@ var RequiredFields = map[string][]string{ "resources.jobs.*.git_source": {"git_provider", "git_url"}, "resources.jobs.*.git_source.job_source": {"import_from_git_branch", "job_config_path"}, "resources.jobs.*.health.rules[*]": {"metric", "op", "value"}, - "resources.jobs.*.job_clusters[*]": {"job_cluster_key", "new_cluster"}, + "resources.jobs.*.job_clusters[*]": {"job_cluster_key"}, "resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.dbfs": {"destination"}, "resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.s3": {"destination"}, "resources.jobs.*.job_clusters[*].new_cluster.cluster_log_conf.volumes": {"destination"}, @@ -213,35 +214,37 @@ var RequiredFields = map[string][]string{ "resources.models.*": {"name"}, "resources.models.*.permissions[*]": {"level"}, - "resources.pipelines.*.clusters[*].autoscale": {"max_workers", "min_workers"}, - "resources.pipelines.*.clusters[*].cluster_log_conf.dbfs": {"destination"}, - "resources.pipelines.*.clusters[*].cluster_log_conf.s3": {"destination"}, - "resources.pipelines.*.clusters[*].cluster_log_conf.volumes": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].abfss": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].dbfs": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].file": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].gcs": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].s3": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].volumes": {"destination"}, - "resources.pipelines.*.clusters[*].init_scripts[*].workspace": {"destination"}, - "resources.pipelines.*.deployment": {"kind"}, - "resources.pipelines.*.gateway_definition": {"connection_name", "gateway_storage_catalog", "gateway_storage_schema"}, - "resources.pipelines.*.ingestion_definition.data_staging_options": {"catalog_name", "schema_name"}, - "resources.pipelines.*.ingestion_definition.full_refresh_window": {"start_hour"}, - "resources.pipelines.*.ingestion_definition.objects[*].report": {"destination_catalog", "destination_schema", "source_url"}, - "resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy": {"enabled"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema": {"destination_catalog", "destination_schema", "source_schema"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options": {"manager_account_id"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options": {"resource"}, - "resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy": {"enabled"}, - "resources.pipelines.*.ingestion_definition.objects[*].table": {"destination_catalog", "destination_schema", "source_table"}, - "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options": {"manager_account_id"}, - "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options": {"resource"}, - "resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy": {"enabled"}, - "resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy": {"enabled"}, - "resources.pipelines.*.libraries[*].maven": {"coordinates"}, - "resources.pipelines.*.permissions[*]": {"level"}, - "resources.pipelines.*.restart_window": {"start_hour"}, + "resources.pipelines.*.clusters[*].autoscale": {"max_workers", "min_workers"}, + "resources.pipelines.*.clusters[*].cluster_log_conf.dbfs": {"destination"}, + "resources.pipelines.*.clusters[*].cluster_log_conf.s3": {"destination"}, + "resources.pipelines.*.clusters[*].cluster_log_conf.volumes": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].abfss": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].dbfs": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].file": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].gcs": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].s3": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].volumes": {"destination"}, + "resources.pipelines.*.clusters[*].init_scripts[*].workspace": {"destination"}, + "resources.pipelines.*.deployment": {"kind"}, + "resources.pipelines.*.gateway_definition": {"connection_name", "gateway_storage_catalog", "gateway_storage_schema"}, + "resources.pipelines.*.ingestion_definition.data_staging_options": {"catalog_name", "schema_name"}, + "resources.pipelines.*.ingestion_definition.full_refresh_window": {"start_hour"}, + "resources.pipelines.*.ingestion_definition.objects[*].report": {"destination_catalog", "destination_schema", "source_url"}, + "resources.pipelines.*.ingestion_definition.objects[*].report.table_configuration.auto_full_refresh_policy": {"enabled"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema": {"destination_catalog", "destination_schema", "source_schema"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options": {"manager_account_id"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.google_ads_options.custom_report_options": {"resource"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.linkedin_ads_options.custom_report_options": {"finder"}, + "resources.pipelines.*.ingestion_definition.objects[*].schema.table_configuration.auto_full_refresh_policy": {"enabled"}, + "resources.pipelines.*.ingestion_definition.objects[*].table": {"destination_catalog", "destination_schema", "source_table"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options": {"manager_account_id"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.google_ads_options.custom_report_options": {"resource"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.linkedin_ads_options.custom_report_options": {"finder"}, + "resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.auto_full_refresh_policy": {"enabled"}, + "resources.pipelines.*.ingestion_definition.table_configuration.auto_full_refresh_policy": {"enabled"}, + "resources.pipelines.*.libraries[*].maven": {"coordinates"}, + "resources.pipelines.*.permissions[*]": {"level"}, + "resources.pipelines.*.restart_window": {"start_hour"}, "resources.postgres_branches.*": {"branch_id", "parent"}, diff --git a/bundle/run/app_test.go b/bundle/run/app_test.go index 2218f622265..abdb7dd4f73 100644 --- a/bundle/run/app_test.go +++ b/bundle/run/app_test.go @@ -57,9 +57,9 @@ func setupBundle(t *testing.T) (context.Context, *bundle.Bundle, *mocks.MockWork Apps: map[string]*resources.App{ "my_app": { App: apps.App{ - Name: "my_app", + Name: "my_app", + SourceCodePath: "./my_app", }, - SourceCodePath: "./my_app", }, }, }, @@ -274,7 +274,9 @@ func TestStopApp(t *testing.T) { func TestBuildAppDeploymentWithValueFrom(t *testing.T) { app := &resources.App{ - SourceCodePath: "/path/to/app", + App: apps.App{ + SourceCodePath: "/path/to/app", + }, Config: &resources.AppConfig{ Command: []string{"python", "app.py"}, Env: []resources.AppEnvVar{ diff --git a/bundle/schema/jsonschema.json b/bundle/schema/jsonschema.json index f848f61b43f..cc481ee8b0c 100644 --- a/bundle/schema/jsonschema.json +++ b/bundle/schema/jsonschema.json @@ -199,7 +199,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.GitRepository" }, "git_source": { - "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.", + "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.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.GitSource" }, "lifecycle": { @@ -220,6 +220,7 @@ "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/apps.AppResource" }, "source_code_path": { + "description": "[Beta]", "$ref": "#/$defs/string" }, "space": { @@ -1123,7 +1124,7 @@ "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.TriggerSettings" }, "triggers": { - "description": "[Beta] List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. The 10-trigger cap is the design's\nhard limit; rollout steps the effective cap 3 -\u003e 5 -\u003e 10 via internal validation during the preview.", + "description": "[Beta] List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in\nthe same request as the legacy `schedule`, `trigger`, or `continuous` fields. Gated behind the \"Multiple Triggers\" feature preview.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/jobs.TriggerConfiguration" }, "usage_policy_id": { @@ -4502,6 +4503,14 @@ "type": "object", "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.", + "$ref": "#/$defs/bool" + }, + "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.", + "$ref": "#/$defs/int64" + }, "provider": { "description": "Git provider. Case insensitive. Supported values: gitHub, gitHubEnterprise, bitbucketCloud,\nbitbucketServer, azureDevOpsServices, gitLab, gitLabEnterpriseEdition, awsCodeCommit.", "$ref": "#/$defs/string" @@ -6838,9 +6847,13 @@ "type": "string", "description": "PostgreSQL-specific target types that can override the default Delta-to-PG mapping.", "enum": [ - "PG_SPECIFIC_TYPE_VECTOR" + "PG_SPECIFIC_TYPE_VECTOR", + "PG_SPECIFIC_TYPE_HALFVEC", + "PG_SPECIFIC_TYPE_VARCHAR" ], "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]", "[Private Preview]" ] }, @@ -7861,8 +7874,7 @@ }, "additionalProperties": false, "required": [ - "job_cluster_key", - "new_cluster" + "job_cluster_key" ] }, { @@ -9988,6 +10000,18 @@ "description": "[Beta]", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.KafkaOptions" }, + "linkedin_ads_options": { + "description": "[Private Preview] LinkedIn Ads specific options for ingestion.\nsync_start_date and lookback_window_days apply to both the prebuilt analytics\ntables and custom reports. custom_report_options defines a custom (user-defined)\nadAnalytics report and is only valid on a table object.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.LinkedInAdsOptions", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "marketo_options": { + "description": "[Private Preview] Marketo specific options for ingestion", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.MarketoOptions", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "meta_ads_options": { "description": "[Beta] Meta Marketing (Meta Ads) specific options for ingestion", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.MetaMarketingOptions" @@ -10023,7 +10047,7 @@ "doNotSuggest": true }, "zendesk_support_options": { - "description": "[Beta] Zendesk Support specific options for ingestion", + "description": "[Public Preview] Zendesk Support specific options for ingestion", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ZendeskSupportOptions" } }, @@ -10045,8 +10069,8 @@ "QUERY_BASED" ], "enumDescriptions": [ - "[Beta]", - "[Beta]" + "[Public Preview]", + "[Public Preview]" ] }, { @@ -10082,15 +10106,15 @@ "description": "Location of staged data storage", "properties": { "catalog_name": { - "description": "[Beta] (Required, Immutable) The name of the catalog for the connector's staging storage location.", + "description": "[Public Preview] (Required, Immutable) The name of the catalog for the connector's staging storage location.", "$ref": "#/$defs/string" }, "schema_name": { - "description": "[Beta] (Required, Immutable) The name of the schema for the connector's staging storage location.", + "description": "[Public Preview] (Required, Immutable) The name of the schema for the connector's staging storage location.", "$ref": "#/$defs/string" }, "volume_name": { - "description": "[Beta] (Optional) The Unity Catalog-compatible name for the storage location.\nThis is the volume to use for the data that is extracted by the connector.\nSpark Declarative Pipelines system will automatically create the volume under the catalog and schema.\nFor Combined Cdc Managed Ingestion pipelines default name for the volume would be :\n__databricks_ingestion_gateway_staging_data-$pipelineId", + "description": "[Public Preview] (Optional) The Unity Catalog-compatible name for the storage location.\nThis is the volume to use for the data that is extracted by the connector.\nSpark Declarative Pipelines system will automatically create the volume under the catalog and schema.\nFor Combined Cdc Managed Ingestion pipelines default name for the volume would be :\n__databricks_ingestion_gateway_staging_data-$pipelineId", "$ref": "#/$defs/string" } }, @@ -10637,11 +10661,11 @@ "$ref": "#/$defs/string" }, "connector_type": { - "description": "[Beta] (Optional) Connector Type for sources. Ex: CDC, Query Based.", + "description": "[Public Preview] (Optional) Connector Type for sources. Ex: CDC, Query Based.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ConnectorType" }, "data_staging_options": { - "description": "[Beta] (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline\nwith Gateway pipeline to Combined Cdc Managed Ingestion Pipeline.\nIf not specified, the volume for staged data will be created in catalog and schema/target specified in the\ntop level pipeline definition.", + "description": "[Public Preview] (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline\nwith Gateway pipeline to Combined Cdc Managed Ingestion Pipeline.\nIf not specified, the volume for staged data will be created in catalog and schema/target specified in the\ntop level pipeline definition.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.DataStagingOptions" }, "full_refresh_window": { @@ -10840,7 +10864,7 @@ "[Beta]", "[Public Preview]", "[Beta]", - "[Beta]", + "[Public Preview]", "[Private Preview]" ] }, @@ -10949,6 +10973,149 @@ } ] }, + "pipelines.LinkedInAdsOptions": { + "oneOf": [ + { + "type": "object", + "description": "LinkedIn Ads specific options for ingestion.\nsync_start_date and lookback_window_days apply to both the prebuilt analytics\ntables and custom reports. custom_report_options defines a custom (user-defined)\nadAnalytics report and is only valid on a table object.", + "properties": { + "custom_report_options": { + "description": "[Private Preview] (Optional) Custom report definition. Only valid on a table object. When set,\nthe table is synthesized from /rest/adAnalytics using the finder, pivots,\ntime granularity and metrics here. When unset, the table must match one of\nthe connector's prebuilt sources.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptions", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "lookback_window_days": { + "description": "[Private Preview] (Optional) Days to look back during incremental sync for late-arriving data.\nIf not specified, defaults to 30 days.", + "$ref": "#/$defs/int", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "sync_start_date": { + "description": "[Private Preview] (Optional) Start date for the initial sync of report tables, YYYY-MM-DD.\nEarliest date from which to sync historical data; overrides the default\nwhen set. For finder attributedRevenueMetrics, this must be between 30 and\n366 days before today.\nIf not specified, defaults to 1 year of history.", + "$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.LinkedInAdsOptionsLinkedInAdsCustomReportOptions": { + "oneOf": [ + { + "type": "object", + "description": "User-defined custom report for the LinkedIn Ads connector. The destination\ntable name comes from the enclosing TableSpec.destination_table, the start\ndate from the enclosing LinkedInAdsOptions.sync_start_date, and the account\nit runs against from the source schema (namespace) -- none are repeated here.", + "properties": { + "entity_granularity": { + "description": "[Private Preview] (Required) Entity pivots to group by; count/constraints depend on finder.", + "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "finder": { + "description": "[Private Preview] (Required) adAnalytics finder. See LinkedInAdsFinder.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "metrics": { + "description": "[Private Preview] (Optional) LinkedIn metric names for the report. Open vocabulary (not an\nenum): the valid set is large (~100) and evolves with the LinkedIn\nadAnalytics API, so values are passed through verbatim. If empty, a\npivot-safe default core set is ingested: impressions, clicks,\ncostInLocalCurrency, externalWebsiteConversions (valid for every pivot).\nIgnored for attributedRevenueMetrics (always returns the full\nRevenueAttributionMetrics struct).", + "$ref": "#/$defs/slice/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "time_granularity": { + "description": "[Private Preview] (Optional) Time aggregation. Defaults to DAILY when unspecified. Used by\nanalytics/statistics; ignored for attributedRevenueMetrics.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false, + "required": [ + "finder" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity": { + "oneOf": [ + { + "type": "string", + "description": "Entity pivot to group by.", + "enum": [ + "CAMPAIGN", + "CREATIVE", + "CAMPAIGN_GROUP" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder": { + "oneOf": [ + { + "type": "string", + "description": "adAnalytics finder. Determines call shape, valid pivots, and metric\nrequirements.", + "enum": [ + "ANALYTICS", + "STATISTICS", + "ATTRIBUTED_REVENUE_METRICS" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity": { + "oneOf": [ + { + "type": "string", + "description": "Time aggregation. Used by analytics/statistics; ignored for\nattributedRevenueMetrics. Defaults to DAILY when unspecified.", + "enum": [ + "ALL", + "DAILY", + "MONTHLY", + "YEARLY" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]", + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.ManualTrigger": { "oneOf": [ { @@ -10961,6 +11128,27 @@ } ] }, + "pipelines.MarketoOptions": { + "oneOf": [ + { + "type": "object", + "description": "Marketo specific options for ingestion", + "properties": { + "sync_start_date": { + "description": "[Private Preview] (Optional) Start date for the initial sync in YYYY-MM-DD format.\nThis determines the earliest date from which to sync historical data.\nIf not specified, complete history is ingested.", + "$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.MetaMarketingOptions": { "oneOf": [ { @@ -11781,7 +11969,7 @@ "$ref": "#/$defs/string" }, "source_schema": { - "description": "[Public Preview] Required. Schema name in the source database.", + "description": "[Public Preview] Schema name in the source database. Currently required; this field will become optional in\nan upcoming release, since some source types (for example streaming / message-bus connectors)\ndo not use it. When that change ships, this field's type in the generated SDKs and CLI will\nchange from required to optional (nullable); clients that assume it is always present should\nhandle its absence.", "$ref": "#/$defs/string" }, "table_configuration": { @@ -11961,7 +12149,7 @@ "$ref": "#/$defs/string" }, "source_table": { - "description": "[Public Preview] Required. Table name in the source database.", + "description": "[Public Preview] Table name in the source database. Currently required; this field will become optional in\nan upcoming release, since some source types (for example streaming / message-bus connectors)\ndo not use it. When that change ships, this field's type in the generated SDKs and CLI will\nchange from required to optional (nullable); clients that assume it is always present should\nhandle its absence.", "$ref": "#/$defs/string" }, "table_configuration": { @@ -12034,10 +12222,8 @@ "$ref": "#/$defs/slice/string" }, "source_metadata_column": { - "description": "[Private Preview] (Optional) Name of the struct column added to each ingested record to hold per row source\nmetadata.", - "$ref": "#/$defs/string", - "x-databricks-launch-stage": "PRIVATE_PREVIEW", - "doNotSuggest": true + "description": "[Beta] (Optional) Name of the struct column added to each ingested record to hold per row source\nmetadata.", + "$ref": "#/$defs/string" }, "table_properties": { "description": "[Beta] Table properties to set on the destination table.\nThese are key-value pairs that configure various Delta table behaviors or any user defined properties.\nExample: {\"delta.feature.variantType\": \"supported\", \"delta.enableTypeWidening\": \"true\"}\nNote: table_properties in table specific configuration will override the table_properties of the pipeline definition.", @@ -12311,7 +12497,7 @@ "description": "Zendesk Support specific options for ingestion", "properties": { "start_date": { - "description": "[Beta] (Optional) Start date in YYYY-MM-DD format for the initial sync.\nThis determines the earliest date from which to sync historical data.", + "description": "[Public Preview] (Optional) Start date in YYYY-MM-DD format for the initial sync.\nThis determines the earliest date from which to sync historical data.", "$ref": "#/$defs/string" } }, @@ -12329,15 +12515,15 @@ "type": "object", "properties": { "enable_readable_secondaries": { - "description": "[Beta] Whether to allow read-only connections to read-write endpoints. Only relevant for read-write endpoints where\nsize.max \u003e 1.", + "description": "Whether to allow read-only connections to read-write endpoints. Only relevant for read-write endpoints where\nsize.max \u003e 1.", "$ref": "#/$defs/bool" }, "max": { - "description": "[Beta] The maximum number of computes in the endpoint group. Currently, this must be equal to min. Set to 1 for single\ncompute endpoints, to disable HA. To manually suspend all computes in an endpoint group, set disabled to\ntrue on the EndpointSpec.", + "description": "The maximum number of computes in the endpoint group. Currently, this must be equal to min. Set to 1 for single\ncompute endpoints, to disable HA. To manually suspend all computes in an endpoint group, set disabled to\ntrue on the EndpointSpec.", "$ref": "#/$defs/int" }, "min": { - "description": "[Beta] The minimum number of computes in the endpoint group. Currently, this must be equal to max. This must be greater\nthan or equal to 1.", + "description": "The minimum number of computes in the endpoint group. Currently, this must be equal to max. This must be greater\nthan or equal to 1.", "$ref": "#/$defs/int" } }, @@ -12360,7 +12546,7 @@ "description": "A collection of settings for a compute endpoint.", "properties": { "pg_settings": { - "description": "[Beta] A raw representation of Postgres settings.", + "description": "A raw representation of Postgres settings.", "$ref": "#/$defs/map/string" } }, @@ -12380,10 +12566,6 @@ "enum": [ "ENDPOINT_TYPE_READ_WRITE", "ENDPOINT_TYPE_READ_ONLY" - ], - "enumDescriptions": [ - "[Beta]", - "[Beta]" ] }, { @@ -12398,15 +12580,21 @@ "type": "object", "properties": { "budget_policy_id": { - "description": "[Beta] Budget policy to set on the newly created pipeline.", + "description": "Budget policy to set on the newly created pipeline.", "$ref": "#/$defs/string" }, + "pipeline_channel": { + "description": "[Private Preview] Release channel of the underlying pipeline's runtime.\nSome source table configurations (e.g., read-time CDF) require PREVIEW.\nDefaults to CURRENT if not specified.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/postgres.NewPipelineSpecPipelineChannel", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "storage_catalog": { - "description": "[Beta] UC catalog for the pipeline to store intermediate files (checkpoints, event logs etc).\nThis needs to be a standard catalog where the user has permissions to create Delta tables.", + "description": "UC catalog for the pipeline to store intermediate files (checkpoints, event logs etc).\nThis needs to be a standard catalog where the user has permissions to create Delta tables.", "$ref": "#/$defs/string" }, "storage_schema": { - "description": "[Beta] UC schema for the pipeline to store intermediate files (checkpoints, event logs etc).\nThis needs to be in the standard catalog where the user has permissions to create Delta tables.", + "description": "UC schema for the pipeline to store intermediate files (checkpoints, event logs etc).\nThis needs to be in the standard catalog where the user has permissions to create Delta tables.", "$ref": "#/$defs/string" } }, @@ -12418,17 +12606,37 @@ } ] }, + "postgres.NewPipelineSpecPipelineChannel": { + "oneOf": [ + { + "type": "string", + "description": "Release channel of the underlying pipeline's runtime.\nPREVIEW provides early access to the latest features but may be less stable.\nSome source table configurations (e.g., read-time CDF) require PREVIEW.\nDefaults to CURRENT if not specified.", + "enum": [ + "CURRENT", + "PREVIEW" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "postgres.ProjectCustomTag": { "oneOf": [ { "type": "object", "properties": { "key": { - "description": "[Beta] The key of the custom tag.", + "description": "The key of the custom tag.", "$ref": "#/$defs/string" }, "value": { - "description": "[Beta] The value of the custom tag.", + "description": "The value of the custom tag.", "$ref": "#/$defs/string" } }, @@ -12447,23 +12655,23 @@ "description": "A collection of settings for a compute endpoint.", "properties": { "autoscaling_limit_max_cu": { - "description": "[Beta] The maximum number of Compute Units. Minimum value is 0.5.", + "description": "The maximum number of Compute Units. Minimum value is 0.5.", "$ref": "#/$defs/float64" }, "autoscaling_limit_min_cu": { - "description": "[Beta] The minimum number of Compute Units. Minimum value is 0.5.", + "description": "The minimum number of Compute Units. Minimum value is 0.5.", "$ref": "#/$defs/float64" }, "no_suspension": { - "description": "[Beta] When set to true, explicitly disables automatic suspension (never suspend).\nShould be set to true when provided.\nMutually exclusive with `suspend_timeout_duration`. When updating, use `spec.project_default_settings.suspension` in the update_mask.", + "description": "When set to true, explicitly disables automatic suspension (never suspend).\nShould be set to true when provided.\nMutually exclusive with `suspend_timeout_duration`. When updating, use `spec.project_default_settings.suspension` in the update_mask.", "$ref": "#/$defs/bool" }, "pg_settings": { - "description": "[Beta] A raw representation of Postgres settings.", + "description": "A raw representation of Postgres settings.", "$ref": "#/$defs/map/string" }, "suspend_timeout_duration": { - "description": "[Beta] Duration of inactivity after which the compute endpoint is automatically suspended.\nIf specified should be between 60s and 604800s (1 minute to 1 week).\nMutually exclusive with `no_suspension`. When updating, use `spec.project_default_settings.suspension` in the update_mask.", + "description": "Duration of inactivity after which the compute endpoint is automatically suspended.\nIf specified should be between 60s and 604800s (1 minute to 1 week).\nMutually exclusive with `no_suspension`. When updating, use `spec.project_default_settings.suspension` in the update_mask.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/common/types/duration.Duration" } }, @@ -12482,15 +12690,15 @@ "description": "Attributes that can be granted to a Postgres role. We are only implementing a subset for now, see xref:\nhttps://www.postgresql.org/docs/16/sql-createrole.html\nThe values follow Postgres keyword naming e.g. CREATEDB, BYPASSRLS, etc. which is why they don't include typical\nunderscores between words.", "properties": { "bypassrls": { - "description": "[Beta] Grants the Postgres `BYPASSRLS` attribute, which lets the role bypass every row-level security policy.", + "description": "Grants the Postgres `BYPASSRLS` attribute, which lets the role bypass every row-level security policy.", "$ref": "#/$defs/bool" }, "createdb": { - "description": "[Beta] Grants the Postgres `CREATEDB` attribute, which lets the role create databases.", + "description": "Grants the Postgres `CREATEDB` attribute, which lets the role create databases.", "$ref": "#/$defs/bool" }, "createrole": { - "description": "[Beta] Grants the Postgres `CREATEROLE` attribute, which lets the role create, alter, and drop other roles.", + "description": "Grants the Postgres `CREATEROLE` attribute, which lets the role create, alter, and drop other roles.", "$ref": "#/$defs/bool" } }, @@ -12511,11 +12719,6 @@ "NO_LOGIN", "PG_PASSWORD_SCRAM_SHA_256", "LAKEBASE_OAUTH_V1" - ], - "enumDescriptions": [ - "[Beta]", - "[Beta]", - "[Beta]" ] }, { @@ -12533,11 +12736,6 @@ "USER", "SERVICE_PRINCIPAL", "GROUP" - ], - "enumDescriptions": [ - "[Beta]", - "[Beta]", - "[Beta]" ] }, { @@ -12553,9 +12751,6 @@ "description": "Roles that the DatabaseInstanceRole can be a member of.", "enum": [ "DATABRICKS_SUPERUSER" - ], - "enumDescriptions": [ - "[Beta]" ] }, { @@ -12631,10 +12826,9 @@ "type": "string", "description": "PostgreSQL-specific target types that can override the default Delta-to-PG mapping.", "enum": [ - "PG_SPECIFIC_TYPE_VECTOR" - ], - "enumDescriptions": [ - "[Beta]" + "PG_SPECIFIC_TYPE_VECTOR", + "PG_SPECIFIC_TYPE_HALFVEC", + "PG_SPECIFIC_TYPE_VARCHAR" ] }, { @@ -12652,11 +12846,6 @@ "CONTINUOUS", "TRIGGERED", "SNAPSHOT" - ], - "enumDescriptions": [ - "[Beta]", - "[Beta]", - "[Beta]" ] }, { @@ -12672,15 +12861,15 @@ "description": "Overrides the default Delta-to-PostgreSQL type mapping for a single column.", "properties": { "column_name": { - "description": "[Beta] Name of the source column whose target PostgreSQL type should be overridden.", + "description": "Name of the source column whose target PostgreSQL type should be overridden.", "$ref": "#/$defs/string" }, "pg_type": { - "description": "[Beta] PostgreSQL-specific target type to use for the column.", + "description": "PostgreSQL-specific target type to use for the column.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/postgres.SyncedTableSyncedTableSpecPgSpecificType" }, "size": { - "description": "[Beta] Size parameter for the target type, for types that take one (e.g. vector\ndimension, varchar length). Required when the chosen pg_type needs a size.", + "description": "Size parameter for the target type, for types that take one (e.g. vector\ndimension, varchar length). Required when the chosen pg_type needs a size.", "$ref": "#/$defs/int" } }, @@ -13875,12 +14064,16 @@ { "type": "object", "properties": { + "enabled_telemetry_features": { + "description": "[Public Preview] The telemetry signals to enable for this endpoint. If empty or omitted, all signals are\nenabled; otherwise only the listed signals are enabled.", + "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/serving.TelemetryFeature" + }, "inference_table_config": { "description": "[Public Preview] Configuration for inference table payload logging, including sampling.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/serving.TelemetryInferenceTableConfig" }, "table_names": { - "description": "[Public Preview] The Unity Catalog tables to which endpoint telemetry (logs, traces, and metrics) is exported.\nProvide this to create a new telemetry profile for the endpoint from the given tables.\nThis field selects the tables when writing a telemetry configuration; it is not returned when\nreading one. Responses identify the resulting profile with `telemetry_profile_id` instead.", + "description": "[Public Preview] The Unity Catalog tables to which endpoint telemetry (logs, traces, and metrics) is exported.\nProvide this to create a new telemetry profile for the endpoint from the given tables.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/serving.UnityCatalogTableNames" }, "telemetry_profile_id": { @@ -13896,6 +14089,30 @@ } ] }, + "serving.TelemetryFeature": { + "oneOf": [ + { + "type": "string", + "description": "A telemetry signal that a serving endpoint can export to Unity Catalog. Use these values to\nselect which signals the endpoint exports.", + "enum": [ + "TELEMETRY_FEATURE_LOGS", + "TELEMETRY_FEATURE_TRACES", + "TELEMETRY_FEATURE_METRICS", + "TELEMETRY_FEATURE_INFERENCE_TABLE" + ], + "enumDescriptions": [ + "[Public Preview]", + "[Public Preview]", + "[Public Preview]", + "[Public Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "serving.TelemetryInferenceTableConfig": { "oneOf": [ { @@ -15989,6 +16206,20 @@ } ] }, + "pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity" + } + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.Notifications": { "oneOf": [ { @@ -16199,6 +16430,20 @@ } ] }, + "serving.TelemetryFeature": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/serving.TelemetryFeature" + } + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\.\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "sql.AlertStatementParameter": { "oneOf": [ { diff --git a/bundle/terraform_dabs_map/generated.go b/bundle/terraform_dabs_map/generated.go index 3872eaced2a..93cc67227b2 100644 --- a/bundle/terraform_dabs_map/generated.go +++ b/bundle/terraform_dabs_map/generated.go @@ -4,7 +4,7 @@ package terraform_dabs_map // alerts / databricks_alert_v2: 1 dabs-only // alerts / databricks_alert_v2: 3 tf-only -// apps / databricks_app: 17 dabs-only +// apps / databricks_app: 36 dabs-only // apps / databricks_app: 1 tf-only // clusters / databricks_cluster: 26 tf-only // dashboards / databricks_dashboard: 2 tf-only @@ -13,10 +13,11 @@ package terraform_dabs_map // jobs / databricks_job: 11 renames // jobs / databricks_job: 40 dabs-only // jobs / databricks_job: 259 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: 25 dabs-only +// pipelines / databricks_pipeline: 45 dabs-only // pipelines / databricks_pipeline: 2 tf-only // postgres_branches / databricks_postgres_branch: 1 unwraps // postgres_catalogs / databricks_postgres_catalog: 1 unwraps @@ -25,6 +26,7 @@ package terraform_dabs_map // postgres_projects / databricks_postgres_project: 2 tf-only // postgres_projects / databricks_postgres_project: 1 unwraps // postgres_roles / databricks_postgres_role: 1 unwraps +// postgres_synced_tables / databricks_postgres_synced_table: 1 dabs-only // postgres_synced_tables / databricks_postgres_synced_table: 1 unwraps // schemas / databricks_schema: 1 dabs-only // schemas / databricks_schema: 1 tf-only @@ -91,6 +93,14 @@ var DABsOnlyFields = map[string]FieldSet{ "file_path": {}, }, "apps": { + "active_deployment": { + "git_source": { + "git_repository": { + "auto_deploy": {}, // apps.*.active_deployment.git_source.git_repository.auto_deploy + "caller_credential_id": {}, // apps.*.active_deployment.git_source.git_repository.caller_credential_id + }, + }, + }, "config": { "command": {}, // apps.*.config.command "env": { @@ -99,18 +109,45 @@ var DABsOnlyFields = map[string]FieldSet{ "value_from": {}, // apps.*.config.env.value_from }, }, + "default_git_source": { + "branch": {}, // apps.*.default_git_source.branch + "commit": {}, // apps.*.default_git_source.commit + "git_repository": { + "auto_deploy": {}, // apps.*.default_git_source.git_repository.auto_deploy + "caller_credential_id": {}, // apps.*.default_git_source.git_repository.caller_credential_id + "provider": {}, // apps.*.default_git_source.git_repository.provider + "url": {}, // apps.*.default_git_source.git_repository.url + }, + "resolved_commit": {}, // apps.*.default_git_source.resolved_commit + "source_code_path": {}, // apps.*.default_git_source.source_code_path + "tag": {}, // apps.*.default_git_source.tag + }, "forward_user_access_token": {}, + "git_repository": { + "auto_deploy": {}, // apps.*.git_repository.auto_deploy + "caller_credential_id": {}, // apps.*.git_repository.caller_credential_id + }, "git_source": { "branch": {}, // apps.*.git_source.branch "commit": {}, // apps.*.git_source.commit "git_repository": { - "provider": {}, // apps.*.git_source.git_repository.provider - "url": {}, // apps.*.git_source.git_repository.url + "auto_deploy": {}, // apps.*.git_source.git_repository.auto_deploy + "caller_credential_id": {}, // apps.*.git_source.git_repository.caller_credential_id + "provider": {}, // apps.*.git_source.git_repository.provider + "url": {}, // apps.*.git_source.git_repository.url }, "resolved_commit": {}, // apps.*.git_source.resolved_commit "source_code_path": {}, // apps.*.git_source.source_code_path "tag": {}, // apps.*.git_source.tag }, + "pending_deployment": { + "git_source": { + "git_repository": { + "auto_deploy": {}, // apps.*.pending_deployment.git_source.git_repository.auto_deploy + "caller_credential_id": {}, // apps.*.pending_deployment.git_source.git_repository.caller_credential_id + }, + }, + }, "source_code_path": {}, }, "jobs": { @@ -182,6 +219,11 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, }, + "model_serving_endpoints": { + "telemetry_config": { + "enabled_telemetry_features": {}, // model_serving_endpoints.*.telemetry_config.enabled_telemetry_features + }, + }, "pipelines": { "cascade_on_destroy": {}, "clusters": { @@ -210,6 +252,19 @@ var DABsOnlyFields = map[string]FieldSet{ "output_column": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.output_column }, }, + "linkedin_ads_options": { + "custom_report_options": { + "entity_granularity": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity + "finder": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.finder + "metrics": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.metrics + "time_granularity": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.time_granularity + }, + "lookback_window_days": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.lookback_window_days + "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.sync_start_date + }, + "marketo_options": { + "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.marketo_options.sync_start_date + }, }, "fanout_options": { "transforms": { @@ -235,6 +290,19 @@ var DABsOnlyFields = map[string]FieldSet{ "output_column": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.output_column }, }, + "linkedin_ads_options": { + "custom_report_options": { + "entity_granularity": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity + "finder": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.finder + "metrics": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.metrics + "time_granularity": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.time_granularity + }, + "lookback_window_days": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.lookback_window_days + "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.sync_start_date + }, + "marketo_options": { + "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.marketo_options.sync_start_date + }, }, }, }, @@ -250,6 +318,11 @@ var DABsOnlyFields = map[string]FieldSet{ "*": {}, // pipelines.*.parameters.* }, }, + "postgres_synced_tables": { + "new_pipeline_spec": { + "pipeline_channel": {}, // postgres_synced_tables.*.new_pipeline_spec.pipeline_channel + }, + }, "schemas": { "custom_max_retention_hours": {}, }, diff --git a/bundle/trampoline/python_dbr_warning_test.go b/bundle/trampoline/python_dbr_warning_test.go index 1e990ed7bdf..3f5c35bf7c6 100644 --- a/bundle/trampoline/python_dbr_warning_test.go +++ b/bundle/trampoline/python_dbr_warning_test.go @@ -63,13 +63,13 @@ func TestIncompatibleWheelTasksWithJobClusterKey(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "cluster1", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "12.2.x-scala2.12", }, }, { JobClusterKey: "cluster2", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "13.1.x-scala2.12", }, }, @@ -163,13 +163,13 @@ func TestNoIncompatibleWheelTasks(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "cluster1", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "12.2.x-scala2.12", }, }, { JobClusterKey: "cluster2", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "13.1.x-scala2.12", }, }, @@ -269,7 +269,7 @@ func TestTasksWithPyPiPackageAreCompatible(t *testing.T) { JobClusters: []jobs.JobCluster{ { JobClusterKey: "cluster1", - NewCluster: compute.ClusterSpec{ + NewCluster: &compute.ClusterSpec{ SparkVersion: "12.2.x-scala2.12", }, }, diff --git a/cmd/account/iam-v2/iam-v2.go b/cmd/account/iam-v2/iam-v2.go index 4ab69cc77ab..26da2acb5b1 100644 --- a/cmd/account/iam-v2/iam-v2.go +++ b/cmd/account/iam-v2/iam-v2.go @@ -37,14 +37,39 @@ These APIs are used to manage identities and the workspace access of these cmd.Annotations["launch_stage_display"] = "Beta" // Add methods + cmd.AddCommand(newCreateDirectGroupMember()) + cmd.AddCommand(newCreateGroup()) + cmd.AddCommand(newCreateServicePrincipal()) + cmd.AddCommand(newCreateUser()) + cmd.AddCommand(newCreateWorkspaceAssignment()) cmd.AddCommand(newCreateWorkspaceAssignmentDetail()) + cmd.AddCommand(newDeleteDirectGroupMember()) + cmd.AddCommand(newDeleteGroup()) + cmd.AddCommand(newDeleteServicePrincipal()) + cmd.AddCommand(newDeleteUser()) + cmd.AddCommand(newDeleteWorkspaceAssignment()) cmd.AddCommand(newDeleteWorkspaceAssignmentDetail()) + cmd.AddCommand(newGetDirectGroupMember()) + cmd.AddCommand(newGetGroup()) + cmd.AddCommand(newGetServicePrincipal()) + cmd.AddCommand(newGetUser()) cmd.AddCommand(newGetWorkspaceAccessDetail()) + cmd.AddCommand(newGetWorkspaceAssignment()) cmd.AddCommand(newGetWorkspaceAssignmentDetail()) + cmd.AddCommand(newListDirectGroupMembers()) + cmd.AddCommand(newListGroups()) + cmd.AddCommand(newListServicePrincipals()) + cmd.AddCommand(newListTransitiveParentGroups()) + cmd.AddCommand(newListUsers()) cmd.AddCommand(newListWorkspaceAssignmentDetails()) + cmd.AddCommand(newListWorkspaceAssignments()) cmd.AddCommand(newResolveGroup()) cmd.AddCommand(newResolveServicePrincipal()) cmd.AddCommand(newResolveUser()) + cmd.AddCommand(newUpdateGroup()) + cmd.AddCommand(newUpdateServicePrincipal()) + cmd.AddCommand(newUpdateUser()) + cmd.AddCommand(newUpdateWorkspaceAssignment()) cmd.AddCommand(newUpdateWorkspaceAssignmentDetail()) // Apply optional overrides to this command. @@ -55,41 +80,33 @@ These APIs are used to manage identities and the workspace access of these return cmd } -// start create-workspace-assignment-detail command +// start create-direct-group-member 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 createWorkspaceAssignmentDetailOverrides []func( +var createDirectGroupMemberOverrides []func( *cobra.Command, - *iamv2.CreateWorkspaceAssignmentDetailRequest, + *iamv2.CreateDirectGroupMemberRequest, ) -func newCreateWorkspaceAssignmentDetail() *cobra.Command { +func newCreateDirectGroupMember() *cobra.Command { cmd := &cobra.Command{} - var createWorkspaceAssignmentDetailReq iamv2.CreateWorkspaceAssignmentDetailRequest - createWorkspaceAssignmentDetailReq.WorkspaceAssignmentDetail = iamv2.WorkspaceAssignmentDetail{} - var createWorkspaceAssignmentDetailJson flags.JsonFlag - - cmd.Flags().Var(&createWorkspaceAssignmentDetailJson, "json", `either inline JSON string or @path/to/file.json with request body`) + var createDirectGroupMemberReq iamv2.CreateDirectGroupMemberRequest + createDirectGroupMemberReq.DirectGroupMember = iamv2.DirectGroupMember{} + var createDirectGroupMemberJson flags.JsonFlag - // TODO: array: effective_entitlements - // TODO: array: entitlements + cmd.Flags().Var(&createDirectGroupMemberJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "create-workspace-assignment-detail WORKSPACE_ID PRINCIPAL_ID" - cmd.Short = `Create a workspace assignment detail.` - cmd.Long = `Create a workspace assignment detail. + cmd.Use = "create-direct-group-member GROUP_ID PRINCIPAL_ID" + cmd.Short = `Create a direct group membership.` + cmd.Long = `Create a direct group membership. - Creates a workspace assignment detail for a principal. Entitlements are - granted one at a time rather than atomically. If the request fails partway - through, the principal stays assigned to the workspace with only some of the - requested entitlements. Get the assignment detail afterwards to confirm which - entitlements were granted. + Creates a group membership (assigns a principal to a group). Arguments: - WORKSPACE_ID: Required. The workspace ID for which the workspace assignment detail is - being created. - PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + GROUP_ID: Required. Internal ID of the group in Databricks. + PRINCIPAL_ID: Internal ID of the principal in Databricks.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -102,7 +119,7 @@ func newCreateWorkspaceAssignmentDetail() *cobra.Command { if cmd.Flags().Changed("json") { err := root.ExactArgs(1)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, provide only WORKSPACE_ID as positional arguments. Provide 'principal_id' in your JSON input") + return errors.New("when --json flag is specified, provide only GROUP_ID as positional arguments. Provide 'principal_id' in your JSON input") } return nil } @@ -116,7 +133,7 @@ func newCreateWorkspaceAssignmentDetail() *cobra.Command { a := cmdctx.AccountClient(ctx) if cmd.Flags().Changed("json") { - diags := createWorkspaceAssignmentDetailJson.Unmarshal(&createWorkspaceAssignmentDetailReq.WorkspaceAssignmentDetail) + diags := createDirectGroupMemberJson.Unmarshal(&createDirectGroupMemberReq.DirectGroupMember) if diags.HasError() { return diags.Error() } @@ -127,20 +144,20 @@ func newCreateWorkspaceAssignmentDetail() *cobra.Command { } } } - _, err = fmt.Sscan(args[0], &createWorkspaceAssignmentDetailReq.WorkspaceId) + _, err = fmt.Sscan(args[0], &createDirectGroupMemberReq.GroupId) if err != nil { - return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) } if !cmd.Flags().Changed("json") { - _, err = fmt.Sscan(args[1], &createWorkspaceAssignmentDetailReq.WorkspaceAssignmentDetail.PrincipalId) + _, err = fmt.Sscan(args[1], &createDirectGroupMemberReq.DirectGroupMember.PrincipalId) if err != nil { return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) } } - response, err := a.IamV2.CreateWorkspaceAssignmentDetail(ctx, createWorkspaceAssignmentDetailReq) + response, err := a.IamV2.CreateDirectGroupMember(ctx, createDirectGroupMemberReq) if err != nil { return err } @@ -153,40 +170,136 @@ func newCreateWorkspaceAssignmentDetail() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range createWorkspaceAssignmentDetailOverrides { - fn(cmd, &createWorkspaceAssignmentDetailReq) + for _, fn := range createDirectGroupMemberOverrides { + fn(cmd, &createDirectGroupMemberReq) } return cmd } -// start delete-workspace-assignment-detail command +// start create-group 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 deleteWorkspaceAssignmentDetailOverrides []func( +var createGroupOverrides []func( *cobra.Command, - *iamv2.DeleteWorkspaceAssignmentDetailRequest, + *iamv2.CreateGroupRequest, ) -func newDeleteWorkspaceAssignmentDetail() *cobra.Command { +func newCreateGroup() *cobra.Command { cmd := &cobra.Command{} - var deleteWorkspaceAssignmentDetailReq iamv2.DeleteWorkspaceAssignmentDetailRequest + var createGroupReq iamv2.CreateGroupRequest + createGroupReq.Group = iamv2.Group{} + var createGroupJson flags.JsonFlag - cmd.Use = "delete-workspace-assignment-detail WORKSPACE_ID PRINCIPAL_ID" - cmd.Short = `Delete a workspace assignment detail.` - cmd.Long = `Delete a workspace assignment detail. + cmd.Flags().Var(&createGroupJson, "json", `either inline JSON string or @path/to/file.json with request body`) - Deletes a workspace assignment detail for a principal, revoking all of its - entitlements. Entitlements are revoked one at a time rather than atomically. - If the request fails partway through, the principal stays assigned with some - of its original entitlements. Retrying is safe. + cmd.Flags().StringVar(&createGroupReq.Group.ExternalId, "external-id", createGroupReq.Group.ExternalId, `ExternalId of the group in the customer's IdP.`) + cmd.Flags().StringVar(&createGroupReq.Group.GroupName, "group-name", createGroupReq.Group.GroupName, `Display name of the group.`) + + cmd.Use = "create-group" + cmd.Short = `Create a group in the account.` + cmd.Long = `Create a group in the account. + + Creates a local group in the Databricks account and returns the created group. + A local group is one that is not synced from the customer's identity provider, + and can be created whether or not Account Identity Management (AIM) is + enabled. + + When AIM is enabled, supplying an external ID returns an error. To provision + the identity from your identity provider, resolve it by its external ID with + ResolveGroup; to read an existing external identity, use the ExternalGroup + resource.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + if cmd.Flags().Changed("json") { + diags := createGroupJson.Unmarshal(&createGroupReq.Group) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + + response, err := a.IamV2.CreateGroup(ctx, createGroupReq) + 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 createGroupOverrides { + fn(cmd, &createGroupReq) + } + + return cmd +} + +// start create-service-principal 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 createServicePrincipalOverrides []func( + *cobra.Command, + *iamv2.CreateServicePrincipalRequest, +) + +func newCreateServicePrincipal() *cobra.Command { + cmd := &cobra.Command{} + + var createServicePrincipalReq iamv2.CreateServicePrincipalRequest + createServicePrincipalReq.ServicePrincipal = iamv2.ServicePrincipal{} + var createServicePrincipalJson flags.JsonFlag + + cmd.Flags().Var(&createServicePrincipalJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Flags().StringVar(&createServicePrincipalReq.ServicePrincipal.ExternalId, "external-id", createServicePrincipalReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) + + cmd.Use = "create-service-principal DISPLAY_NAME ACCOUNT_SP_STATUS" + cmd.Short = `Create a service principal in the account.` + cmd.Long = `Create a service principal in the account. + + Creates a local service principal in the Databricks account and returns the + created service principal. A local service principal is one that is not synced + from the customer's identity provider, and can be created whether or not + Account Identity Management (AIM) is enabled. + + When AIM is enabled, supplying an external ID returns an error. To provision + the identity from your identity provider, resolve it by its external ID with + ResolveServicePrincipal; to read an existing external identity, use the + ExternalServicePrincipal resource. Arguments: - WORKSPACE_ID: The workspace ID where the principal has access. - PRINCIPAL_ID: Required. ID of the principal in Databricks to delete workspace assignment - for.` + DISPLAY_NAME: Display name of the service principal. + ACCOUNT_SP_STATUS: The activity status of a service principal in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -196,6 +309,13 @@ func newDeleteWorkspaceAssignmentDetail() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'display_name', 'account_sp_status' in your JSON input") + } + return nil + } check := root.ExactArgs(2) return check(cmd, args) } @@ -205,21 +325,149 @@ func newDeleteWorkspaceAssignmentDetail() *cobra.Command { ctx := cmd.Context() a := cmdctx.AccountClient(ctx) - _, err = fmt.Sscan(args[0], &deleteWorkspaceAssignmentDetailReq.WorkspaceId) - if err != nil { - return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + if cmd.Flags().Changed("json") { + diags := createServicePrincipalJson.Unmarshal(&createServicePrincipalReq.ServicePrincipal) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + createServicePrincipalReq.ServicePrincipal.DisplayName = args[0] } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[1], &createServicePrincipalReq.ServicePrincipal.AccountSpStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_SP_STATUS: %s", args[1]) + } - _, err = fmt.Sscan(args[1], &deleteWorkspaceAssignmentDetailReq.PrincipalId) + } + + response, err := a.IamV2.CreateServicePrincipal(ctx, createServicePrincipalReq) if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + return err } - err = a.IamV2.DeleteWorkspaceAssignmentDetail(ctx, deleteWorkspaceAssignmentDetailReq) + 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 createServicePrincipalOverrides { + fn(cmd, &createServicePrincipalReq) + } + + return cmd +} + +// start create-user 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 createUserOverrides []func( + *cobra.Command, + *iamv2.CreateUserRequest, +) + +func newCreateUser() *cobra.Command { + cmd := &cobra.Command{} + + var createUserReq iamv2.CreateUserRequest + createUserReq.User = iamv2.User{} + var createUserJson flags.JsonFlag + + cmd.Flags().Var(&createUserJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Flags().StringVar(&createUserReq.User.ExternalId, "external-id", createUserReq.User.ExternalId, `ExternalId of the user in the customer's IdP.`) + + cmd.Use = "create-user USERNAME FULL_NAME ACCOUNT_USER_STATUS" + cmd.Short = `Create a user in the account.` + cmd.Long = `Create a user in the account. + + Creates a local user in the Databricks account and returns the created user. A + local user is one that is not synced from the customer's identity provider, + and can be created whether or not Account Identity Management (AIM) is + enabled. + + When AIM is enabled, supplying an external ID returns an error. To provision + the identity from your identity provider, resolve it by its external ID with + ResolveUser; to read an existing external identity, use the ExternalUser + resource. + + Arguments: + USERNAME: Username/email of the user. + FULL_NAME: + ACCOUNT_USER_STATUS: The activity status of a user in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'username', 'full_name', 'account_user_status' in your JSON input") + } + return nil + } + check := root.ExactArgs(3) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + if cmd.Flags().Changed("json") { + diags := createUserJson.Unmarshal(&createUserReq.User) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + createUserReq.User.Username = args[0] + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[1], &createUserReq.User.FullName) + if err != nil { + return fmt.Errorf("invalid FULL_NAME: %s", args[1]) + } + + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[2], &createUserReq.User.AccountUserStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_USER_STATUS: %s", args[2]) + } + + } + + response, err := a.IamV2.CreateUser(ctx, createUserReq) if err != nil { return err } - return nil + + return cmdio.Render(ctx, response) } // Disable completions since they are not applicable. @@ -227,53 +475,64 @@ func newDeleteWorkspaceAssignmentDetail() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range deleteWorkspaceAssignmentDetailOverrides { - fn(cmd, &deleteWorkspaceAssignmentDetailReq) + for _, fn := range createUserOverrides { + fn(cmd, &createUserReq) } return cmd } -// start get-workspace-access-detail command +// start create-workspace-assignment 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 getWorkspaceAccessDetailOverrides []func( +var createWorkspaceAssignmentOverrides []func( *cobra.Command, - *iamv2.GetWorkspaceAccessDetailRequest, + *iamv2.CreateWorkspaceAssignmentRequest, ) -func newGetWorkspaceAccessDetail() *cobra.Command { +func newCreateWorkspaceAssignment() *cobra.Command { cmd := &cobra.Command{} - var getWorkspaceAccessDetailReq iamv2.GetWorkspaceAccessDetailRequest + var createWorkspaceAssignmentReq iamv2.CreateWorkspaceAssignmentRequest + createWorkspaceAssignmentReq.WorkspaceAssignment = iamv2.WorkspaceAssignment{} + var createWorkspaceAssignmentJson flags.JsonFlag - cmd.Flags().Var(&getWorkspaceAccessDetailReq.View, "view", `Controls what fields are returned. Supported values: [BASIC, FULL]`) + cmd.Flags().Var(&createWorkspaceAssignmentJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "get-workspace-access-detail WORKSPACE_ID PRINCIPAL_ID" - cmd.Short = `*Beta* Get workspace access details for a principal.` - cmd.Long = `This command is in Beta and may change without notice. + // TODO: array: effective_entitlements + // TODO: array: entitlements -Get workspace access details for a principal. + cmd.Use = "create-workspace-assignment WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `Create a workspace assignment.` + cmd.Long = `Create a workspace assignment. - Returns the access details for a principal in a workspace. Allows for checking - access details for any provisioned principal (user, service principal, or - group) in a workspace. * Provisioned principal here refers to one that has - been synced into Databricks from the customer's IdP or added explicitly to - Databricks via SCIM/UI. Allows for passing in a "view" parameter to control - what fields are returned (BASIC by default or FULL). + Creates a workspace assignment for a principal. Entitlements are granted one + at a time rather than atomically. If the request fails partway through, the + principal stays assigned to the workspace with only some of the requested + entitlements. Get the assignment afterwards to confirm which entitlements were + granted. Arguments: - WORKSPACE_ID: Required. The workspace ID for which the access details are being - requested. - PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the - access details are being requested.` + WORKSPACE_ID: Required. The workspace ID for which the workspace assignment is being + created. + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(1)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, provide only WORKSPACE_ID as positional arguments. Provide 'principal_id' in your JSON input") + } + return nil + } check := root.ExactArgs(2) return check(cmd, args) } @@ -283,17 +542,1743 @@ Get workspace access details for a principal. ctx := cmd.Context() a := cmdctx.AccountClient(ctx) - _, err = fmt.Sscan(args[0], &getWorkspaceAccessDetailReq.WorkspaceId) - if err != nil { + if cmd.Flags().Changed("json") { + diags := createWorkspaceAssignmentJson.Unmarshal(&createWorkspaceAssignmentReq.WorkspaceAssignment) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + _, err = fmt.Sscan(args[0], &createWorkspaceAssignmentReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[1], &createWorkspaceAssignmentReq.WorkspaceAssignment.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + } + + response, err := a.IamV2.CreateWorkspaceAssignment(ctx, createWorkspaceAssignmentReq) + 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 createWorkspaceAssignmentOverrides { + fn(cmd, &createWorkspaceAssignmentReq) + } + + return cmd +} + +// start create-workspace-assignment-detail 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 createWorkspaceAssignmentDetailOverrides []func( + *cobra.Command, + *iamv2.CreateWorkspaceAssignmentDetailRequest, +) + +func newCreateWorkspaceAssignmentDetail() *cobra.Command { + cmd := &cobra.Command{} + + var createWorkspaceAssignmentDetailReq iamv2.CreateWorkspaceAssignmentDetailRequest + createWorkspaceAssignmentDetailReq.WorkspaceAssignmentDetail = iamv2.WorkspaceAssignmentDetail{} + var createWorkspaceAssignmentDetailJson flags.JsonFlag + + cmd.Flags().Var(&createWorkspaceAssignmentDetailJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + // TODO: array: effective_entitlements + // TODO: array: entitlements + + cmd.Use = "create-workspace-assignment-detail WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `Create a workspace assignment detail.` + cmd.Long = `Create a workspace assignment detail. + + Creates a workspace assignment detail for a principal. Entitlements are + granted one at a time rather than atomically. If the request fails partway + through, the principal stays assigned to the workspace with only some of the + requested entitlements. Get the assignment detail afterwards to confirm which + entitlements were granted. + + Arguments: + WORKSPACE_ID: Required. The workspace ID for which the workspace assignment detail is + being created. + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(1)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, provide only WORKSPACE_ID as positional arguments. Provide 'principal_id' in your JSON input") + } + return nil + } + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + if cmd.Flags().Changed("json") { + diags := createWorkspaceAssignmentDetailJson.Unmarshal(&createWorkspaceAssignmentDetailReq.WorkspaceAssignmentDetail) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + _, err = fmt.Sscan(args[0], &createWorkspaceAssignmentDetailReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[1], &createWorkspaceAssignmentDetailReq.WorkspaceAssignmentDetail.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + } + + response, err := a.IamV2.CreateWorkspaceAssignmentDetail(ctx, createWorkspaceAssignmentDetailReq) + 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 createWorkspaceAssignmentDetailOverrides { + fn(cmd, &createWorkspaceAssignmentDetailReq) + } + + return cmd +} + +// start delete-direct-group-member 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 deleteDirectGroupMemberOverrides []func( + *cobra.Command, + *iamv2.DeleteDirectGroupMemberRequest, +) + +func newDeleteDirectGroupMember() *cobra.Command { + cmd := &cobra.Command{} + + var deleteDirectGroupMemberReq iamv2.DeleteDirectGroupMemberRequest + + cmd.Use = "delete-direct-group-member GROUP_ID PRINCIPAL_ID" + cmd.Short = `Delete a direct group membership.` + cmd.Long = `Delete a direct group membership. + + Deletes a group membership (unassigns a principal from a group). + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks. + PRINCIPAL_ID: Required. Internal ID of the principal to be unassigned from the group.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &deleteDirectGroupMemberReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &deleteDirectGroupMemberReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + err = a.IamV2.DeleteDirectGroupMember(ctx, deleteDirectGroupMemberReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteDirectGroupMemberOverrides { + fn(cmd, &deleteDirectGroupMemberReq) + } + + return cmd +} + +// start delete-group 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 deleteGroupOverrides []func( + *cobra.Command, + *iamv2.DeleteGroupRequest, +) + +func newDeleteGroup() *cobra.Command { + cmd := &cobra.Command{} + + var deleteGroupReq iamv2.DeleteGroupRequest + + cmd.Use = "delete-group GROUP_ID" + cmd.Short = `Delete a group in the account.` + cmd.Long = `Delete a group in the account. + + Deletes a group from the Databricks account by its internal ID. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + deleteGroupReq.GroupId = args[0] + + err = a.IamV2.DeleteGroup(ctx, deleteGroupReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteGroupOverrides { + fn(cmd, &deleteGroupReq) + } + + return cmd +} + +// start delete-service-principal 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 deleteServicePrincipalOverrides []func( + *cobra.Command, + *iamv2.DeleteServicePrincipalRequest, +) + +func newDeleteServicePrincipal() *cobra.Command { + cmd := &cobra.Command{} + + var deleteServicePrincipalReq iamv2.DeleteServicePrincipalRequest + + cmd.Use = "delete-service-principal SERVICE_PRINCIPAL_ID" + cmd.Short = `Delete a service principal in the account.` + cmd.Long = `Delete a service principal in the account. + + Deletes a service principal from the Databricks account by its internal ID. + + Arguments: + SERVICE_PRINCIPAL_ID: Required. Internal ID of the service principal in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + deleteServicePrincipalReq.ServicePrincipalId = args[0] + + err = a.IamV2.DeleteServicePrincipal(ctx, deleteServicePrincipalReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteServicePrincipalOverrides { + fn(cmd, &deleteServicePrincipalReq) + } + + return cmd +} + +// start delete-user 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 deleteUserOverrides []func( + *cobra.Command, + *iamv2.DeleteUserRequest, +) + +func newDeleteUser() *cobra.Command { + cmd := &cobra.Command{} + + var deleteUserReq iamv2.DeleteUserRequest + + cmd.Use = "delete-user USER_ID" + cmd.Short = `Delete a user in the account.` + cmd.Long = `Delete a user in the account. + + Deletes a user from the Databricks account by its internal ID. + + Arguments: + USER_ID: Required. Internal ID of the user in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + deleteUserReq.UserId = args[0] + + err = a.IamV2.DeleteUser(ctx, deleteUserReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteUserOverrides { + fn(cmd, &deleteUserReq) + } + + return cmd +} + +// start delete-workspace-assignment 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 deleteWorkspaceAssignmentOverrides []func( + *cobra.Command, + *iamv2.DeleteWorkspaceAssignmentRequest, +) + +func newDeleteWorkspaceAssignment() *cobra.Command { + cmd := &cobra.Command{} + + var deleteWorkspaceAssignmentReq iamv2.DeleteWorkspaceAssignmentRequest + + cmd.Use = "delete-workspace-assignment WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `Delete a workspace assignment.` + cmd.Long = `Delete a workspace assignment. + + Deletes a workspace assignment for a principal, revoking all of its + entitlements. Entitlements are revoked one at a time rather than atomically. + If the request fails partway through, the principal stays assigned with some + of its original entitlements. Retrying is safe. + + Arguments: + WORKSPACE_ID: The workspace ID where the principal has access. + PRINCIPAL_ID: Required. ID of the principal in Databricks to delete workspace assignment + for.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &deleteWorkspaceAssignmentReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &deleteWorkspaceAssignmentReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + err = a.IamV2.DeleteWorkspaceAssignment(ctx, deleteWorkspaceAssignmentReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteWorkspaceAssignmentOverrides { + fn(cmd, &deleteWorkspaceAssignmentReq) + } + + return cmd +} + +// start delete-workspace-assignment-detail 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 deleteWorkspaceAssignmentDetailOverrides []func( + *cobra.Command, + *iamv2.DeleteWorkspaceAssignmentDetailRequest, +) + +func newDeleteWorkspaceAssignmentDetail() *cobra.Command { + cmd := &cobra.Command{} + + var deleteWorkspaceAssignmentDetailReq iamv2.DeleteWorkspaceAssignmentDetailRequest + + cmd.Use = "delete-workspace-assignment-detail WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `Delete a workspace assignment detail.` + cmd.Long = `Delete a workspace assignment detail. + + Deletes a workspace assignment detail for a principal, revoking all of its + entitlements. Entitlements are revoked one at a time rather than atomically. + If the request fails partway through, the principal stays assigned with some + of its original entitlements. Retrying is safe. + + Arguments: + WORKSPACE_ID: The workspace ID where the principal has access. + PRINCIPAL_ID: Required. ID of the principal in Databricks to delete workspace assignment + for.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &deleteWorkspaceAssignmentDetailReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &deleteWorkspaceAssignmentDetailReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + err = a.IamV2.DeleteWorkspaceAssignmentDetail(ctx, deleteWorkspaceAssignmentDetailReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteWorkspaceAssignmentDetailOverrides { + fn(cmd, &deleteWorkspaceAssignmentDetailReq) + } + + return cmd +} + +// start get-direct-group-member 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 getDirectGroupMemberOverrides []func( + *cobra.Command, + *iamv2.GetDirectGroupMemberRequest, +) + +func newGetDirectGroupMember() *cobra.Command { + cmd := &cobra.Command{} + + var getDirectGroupMemberReq iamv2.GetDirectGroupMemberRequest + + cmd.Use = "get-direct-group-member GROUP_ID PRINCIPAL_ID" + cmd.Short = `Get a direct group member.` + cmd.Long = `Get a direct group member. + + Gets a provisioned direct member of a group. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks. + PRINCIPAL_ID: Required. Internal ID of the principal belonging to the group in + Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &getDirectGroupMemberReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &getDirectGroupMemberReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + response, err := a.IamV2.GetDirectGroupMember(ctx, getDirectGroupMemberReq) + 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 getDirectGroupMemberOverrides { + fn(cmd, &getDirectGroupMemberReq) + } + + return cmd +} + +// start get-group 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 getGroupOverrides []func( + *cobra.Command, + *iamv2.GetGroupRequest, +) + +func newGetGroup() *cobra.Command { + cmd := &cobra.Command{} + + var getGroupReq iamv2.GetGroupRequest + + cmd.Use = "get-group GROUP_ID" + cmd.Short = `Get a group in the account.` + cmd.Long = `Get a group in the account. + + Fetches a group from the Databricks account by its internal ID. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + getGroupReq.GroupId = args[0] + + response, err := a.IamV2.GetGroup(ctx, getGroupReq) + 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 getGroupOverrides { + fn(cmd, &getGroupReq) + } + + return cmd +} + +// start get-service-principal 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 getServicePrincipalOverrides []func( + *cobra.Command, + *iamv2.GetServicePrincipalRequest, +) + +func newGetServicePrincipal() *cobra.Command { + cmd := &cobra.Command{} + + var getServicePrincipalReq iamv2.GetServicePrincipalRequest + + cmd.Use = "get-service-principal SERVICE_PRINCIPAL_ID" + cmd.Short = `Get a service principal in the account.` + cmd.Long = `Get a service principal in the account. + + Fetches a service principal from the Databricks account by its internal ID. + + Arguments: + SERVICE_PRINCIPAL_ID: Required. Internal ID of the service principal in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + getServicePrincipalReq.ServicePrincipalId = args[0] + + response, err := a.IamV2.GetServicePrincipal(ctx, getServicePrincipalReq) + 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 getServicePrincipalOverrides { + fn(cmd, &getServicePrincipalReq) + } + + return cmd +} + +// start get-user 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 getUserOverrides []func( + *cobra.Command, + *iamv2.GetUserRequest, +) + +func newGetUser() *cobra.Command { + cmd := &cobra.Command{} + + var getUserReq iamv2.GetUserRequest + + cmd.Use = "get-user USER_ID" + cmd.Short = `Get a user in the account.` + cmd.Long = `Get a user in the account. + + Fetches a user from the Databricks account by its internal ID. + + Arguments: + USER_ID: Required. Internal ID of the user in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + getUserReq.UserId = args[0] + + response, err := a.IamV2.GetUser(ctx, getUserReq) + 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 getUserOverrides { + fn(cmd, &getUserReq) + } + + return cmd +} + +// start get-workspace-access-detail 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 getWorkspaceAccessDetailOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceAccessDetailRequest, +) + +func newGetWorkspaceAccessDetail() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceAccessDetailReq iamv2.GetWorkspaceAccessDetailRequest + + cmd.Flags().Var(&getWorkspaceAccessDetailReq.View, "view", `Controls what fields are returned. Supported values: [BASIC, FULL]`) + + cmd.Use = "get-workspace-access-detail WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `*Beta* Get workspace access details for a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +Get workspace access details for a principal. + + Returns the access details for a principal in a workspace. Allows for checking + access details for any provisioned principal (user, service principal, or + group) in a workspace. * Provisioned principal here refers to one that has + been synced into Databricks from the customer's IdP or added explicitly to + Databricks via SCIM/UI. Allows for passing in a "view" parameter to control + what fields are returned (BASIC by default or FULL). + + Arguments: + WORKSPACE_ID: Required. The workspace ID for which the access details are being + requested. + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + access details are being requested.` + + 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(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &getWorkspaceAccessDetailReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &getWorkspaceAccessDetailReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + response, err := a.IamV2.GetWorkspaceAccessDetail(ctx, getWorkspaceAccessDetailReq) + 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 getWorkspaceAccessDetailOverrides { + fn(cmd, &getWorkspaceAccessDetailReq) + } + + return cmd +} + +// start get-workspace-assignment 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 getWorkspaceAssignmentOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceAssignmentRequest, +) + +func newGetWorkspaceAssignment() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceAssignmentReq iamv2.GetWorkspaceAssignmentRequest + + cmd.Use = "get-workspace-assignment WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `Get a workspace assignment for a principal.` + cmd.Long = `Get a workspace assignment for a principal. + + Returns the assignment for a principal in a workspace. + + Arguments: + WORKSPACE_ID: Required. The workspace ID for which the assignment is being requested. + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + assignment is being requested.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &getWorkspaceAssignmentReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &getWorkspaceAssignmentReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + response, err := a.IamV2.GetWorkspaceAssignment(ctx, getWorkspaceAssignmentReq) + 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 getWorkspaceAssignmentOverrides { + fn(cmd, &getWorkspaceAssignmentReq) + } + + return cmd +} + +// start get-workspace-assignment-detail 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 getWorkspaceAssignmentDetailOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceAssignmentDetailRequest, +) + +func newGetWorkspaceAssignmentDetail() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceAssignmentDetailReq iamv2.GetWorkspaceAssignmentDetailRequest + + cmd.Use = "get-workspace-assignment-detail WORKSPACE_ID PRINCIPAL_ID" + cmd.Short = `Get workspace assignment details for a principal.` + cmd.Long = `Get workspace assignment details for a principal. + + Returns the assignment details for a principal in a workspace. + + Arguments: + WORKSPACE_ID: Required. The workspace ID for which the assignment details are being + requested. + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + assignment details are being requested.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &getWorkspaceAssignmentDetailReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &getWorkspaceAssignmentDetailReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + response, err := a.IamV2.GetWorkspaceAssignmentDetail(ctx, getWorkspaceAssignmentDetailReq) + 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 getWorkspaceAssignmentDetailOverrides { + fn(cmd, &getWorkspaceAssignmentDetailReq) + } + + return cmd +} + +// start list-direct-group-members 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 listDirectGroupMembersOverrides []func( + *cobra.Command, + *iamv2.ListDirectGroupMembersRequest, +) + +func newListDirectGroupMembers() *cobra.Command { + cmd := &cobra.Command{} + + var listDirectGroupMembersReq iamv2.ListDirectGroupMembersRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listDirectGroupMembersLimit int + + cmd.Flags().IntVar(&listDirectGroupMembersReq.PageSize, "page-size", listDirectGroupMembersReq.PageSize, `The maximum number of members to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listDirectGroupMembersLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listDirectGroupMembersReq.PageToken, "page-token", listDirectGroupMembersReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-direct-group-members GROUP_ID" + cmd.Short = `List direct group members.` + cmd.Long = `List direct group members. + + Lists provisioned direct members of a group with their membership source + (internal or from identity provider). + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks whose direct members are + being listed.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &listDirectGroupMembersReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + + response := a.IamV2.ListDirectGroupMembers(ctx, listDirectGroupMembersReq) + if listDirectGroupMembersLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listDirectGroupMembersLimit) + } + if listDirectGroupMembersLimit > 0 { + ctx = cmdio.WithLimit(ctx, listDirectGroupMembersLimit) + } + + return cmdio.RenderIterator(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 listDirectGroupMembersOverrides { + fn(cmd, &listDirectGroupMembersReq) + } + + return cmd +} + +// start list-groups 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 listGroupsOverrides []func( + *cobra.Command, + *iamv2.ListGroupsRequest, +) + +func newListGroups() *cobra.Command { + cmd := &cobra.Command{} + + var listGroupsReq iamv2.ListGroupsRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listGroupsLimit int + + cmd.Flags().StringVar(&listGroupsReq.Filter, "filter", listGroupsReq.Filter, `Optional.`) + cmd.Flags().IntVar(&listGroupsReq.PageSize, "page-size", listGroupsReq.PageSize, `The maximum number of groups to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listGroupsLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listGroupsReq.PageToken, "page-token", listGroupsReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-groups" + cmd.Short = `List groups in the account.` + cmd.Long = `List groups in the account. + + Lists the groups in the Databricks account, returning one page per call. + Supports filtering by group name or external 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + response := a.IamV2.ListGroups(ctx, listGroupsReq) + if listGroupsLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listGroupsLimit) + } + if listGroupsLimit > 0 { + ctx = cmdio.WithLimit(ctx, listGroupsLimit) + } + + return cmdio.RenderIterator(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 listGroupsOverrides { + fn(cmd, &listGroupsReq) + } + + return cmd +} + +// start list-service-principals 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 listServicePrincipalsOverrides []func( + *cobra.Command, + *iamv2.ListServicePrincipalsRequest, +) + +func newListServicePrincipals() *cobra.Command { + cmd := &cobra.Command{} + + var listServicePrincipalsReq iamv2.ListServicePrincipalsRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listServicePrincipalsLimit int + + cmd.Flags().StringVar(&listServicePrincipalsReq.Filter, "filter", listServicePrincipalsReq.Filter, `Optional.`) + cmd.Flags().IntVar(&listServicePrincipalsReq.PageSize, "page-size", listServicePrincipalsReq.PageSize, `The maximum number of service principals to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listServicePrincipalsLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listServicePrincipalsReq.PageToken, "page-token", listServicePrincipalsReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-service-principals" + cmd.Short = `List service principals in the account.` + cmd.Long = `List service principals in the account. + + Lists the service principals in the Databricks account, returning one page per + call. Supports filtering by application ID or external 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + response := a.IamV2.ListServicePrincipals(ctx, listServicePrincipalsReq) + if listServicePrincipalsLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listServicePrincipalsLimit) + } + if listServicePrincipalsLimit > 0 { + ctx = cmdio.WithLimit(ctx, listServicePrincipalsLimit) + } + + return cmdio.RenderIterator(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 listServicePrincipalsOverrides { + fn(cmd, &listServicePrincipalsReq) + } + + return cmd +} + +// start list-transitive-parent-groups 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 listTransitiveParentGroupsOverrides []func( + *cobra.Command, + *iamv2.ListTransitiveParentGroupsRequest, +) + +func newListTransitiveParentGroups() *cobra.Command { + cmd := &cobra.Command{} + + var listTransitiveParentGroupsReq iamv2.ListTransitiveParentGroupsRequest + + cmd.Flags().IntVar(&listTransitiveParentGroupsReq.PageSize, "page-size", listTransitiveParentGroupsReq.PageSize, `The maximum number of parent groups to return.`) + cmd.Flags().StringVar(&listTransitiveParentGroupsReq.PageToken, "page-token", listTransitiveParentGroupsReq.PageToken, `A page token, received from a previous ListTransitiveParentGroups call.`) + + cmd.Use = "list-transitive-parent-groups PRINCIPAL_ID" + cmd.Short = `List all transitive parent groups of a principal.` + cmd.Long = `List all transitive parent groups of a principal. + + Lists all transitive parent groups of a principal. + + Arguments: + PRINCIPAL_ID: Required. Internal ID of the principal in Databricks whose transitive + parent groups are being listed.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &listTransitiveParentGroupsReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + response, err := a.IamV2.ListTransitiveParentGroups(ctx, listTransitiveParentGroupsReq) + 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 listTransitiveParentGroupsOverrides { + fn(cmd, &listTransitiveParentGroupsReq) + } + + return cmd +} + +// start list-users 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 listUsersOverrides []func( + *cobra.Command, + *iamv2.ListUsersRequest, +) + +func newListUsers() *cobra.Command { + cmd := &cobra.Command{} + + var listUsersReq iamv2.ListUsersRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listUsersLimit int + + cmd.Flags().StringVar(&listUsersReq.Filter, "filter", listUsersReq.Filter, `Optional.`) + cmd.Flags().IntVar(&listUsersReq.PageSize, "page-size", listUsersReq.PageSize, `The maximum number of users to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listUsersLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listUsersReq.PageToken, "page-token", listUsersReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-users" + cmd.Short = `List users in the account.` + cmd.Long = `List users in the account. + + Lists the users in the Databricks account, returning one page per call. + Supports filtering by username or external 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + response := a.IamV2.ListUsers(ctx, listUsersReq) + if listUsersLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listUsersLimit) + } + if listUsersLimit > 0 { + ctx = cmdio.WithLimit(ctx, listUsersLimit) + } + + return cmdio.RenderIterator(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 listUsersOverrides { + fn(cmd, &listUsersReq) + } + + return cmd +} + +// start list-workspace-assignment-details 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 listWorkspaceAssignmentDetailsOverrides []func( + *cobra.Command, + *iamv2.ListWorkspaceAssignmentDetailsRequest, +) + +func newListWorkspaceAssignmentDetails() *cobra.Command { + cmd := &cobra.Command{} + + var listWorkspaceAssignmentDetailsReq iamv2.ListWorkspaceAssignmentDetailsRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listWorkspaceAssignmentDetailsLimit int + + cmd.Flags().IntVar(&listWorkspaceAssignmentDetailsReq.PageSize, "page-size", listWorkspaceAssignmentDetailsReq.PageSize, `The maximum number of workspace assignment details to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listWorkspaceAssignmentDetailsLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listWorkspaceAssignmentDetailsReq.PageToken, "page-token", listWorkspaceAssignmentDetailsReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-workspace-assignment-details WORKSPACE_ID" + cmd.Short = `List workspace assignment details for a workspace.` + cmd.Long = `List workspace assignment details for a workspace. + + Lists workspace assignment details for a workspace. The response omits the + per-principal entitlement fields (entitlements and + effective_entitlements). To read the entitlements for a single principal, + get that principal's assignment detail. + + Arguments: + WORKSPACE_ID: Required. The workspace ID for which the workspace assignment details are + being fetched.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &listWorkspaceAssignmentDetailsReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + response := a.IamV2.ListWorkspaceAssignmentDetails(ctx, listWorkspaceAssignmentDetailsReq) + if listWorkspaceAssignmentDetailsLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listWorkspaceAssignmentDetailsLimit) + } + if listWorkspaceAssignmentDetailsLimit > 0 { + ctx = cmdio.WithLimit(ctx, listWorkspaceAssignmentDetailsLimit) + } + + return cmdio.RenderIterator(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 listWorkspaceAssignmentDetailsOverrides { + fn(cmd, &listWorkspaceAssignmentDetailsReq) + } + + return cmd +} + +// start list-workspace-assignments 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 listWorkspaceAssignmentsOverrides []func( + *cobra.Command, + *iamv2.ListWorkspaceAssignmentsRequest, +) + +func newListWorkspaceAssignments() *cobra.Command { + cmd := &cobra.Command{} + + var listWorkspaceAssignmentsReq iamv2.ListWorkspaceAssignmentsRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listWorkspaceAssignmentsLimit int + + cmd.Flags().IntVar(&listWorkspaceAssignmentsReq.PageSize, "page-size", listWorkspaceAssignmentsReq.PageSize, `The maximum number of workspace assignments to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listWorkspaceAssignmentsLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listWorkspaceAssignmentsReq.PageToken, "page-token", listWorkspaceAssignmentsReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-workspace-assignments WORKSPACE_ID" + cmd.Short = `List workspace assignments for a workspace.` + cmd.Long = `List workspace assignments for a workspace. + + Lists workspace assignments for a workspace. The response omits the + per-principal entitlement fields (entitlements and + effective_entitlements). To read the entitlements for a single principal, + get that principal's assignment. + + Arguments: + WORKSPACE_ID: Required. The workspace ID for which the workspace assignments are being + fetched.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + _, err = fmt.Sscan(args[0], &listWorkspaceAssignmentsReq.WorkspaceId) + if err != nil { return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) } - - _, err = fmt.Sscan(args[1], &getWorkspaceAccessDetailReq.PrincipalId) - if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + + response := a.IamV2.ListWorkspaceAssignments(ctx, listWorkspaceAssignmentsReq) + if listWorkspaceAssignmentsLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listWorkspaceAssignmentsLimit) + } + if listWorkspaceAssignmentsLimit > 0 { + ctx = cmdio.WithLimit(ctx, listWorkspaceAssignmentsLimit) + } + + return cmdio.RenderIterator(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 listWorkspaceAssignmentsOverrides { + fn(cmd, &listWorkspaceAssignmentsReq) + } + + return cmd +} + +// start resolve-group 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 resolveGroupOverrides []func( + *cobra.Command, + *iamv2.ResolveGroupRequest, +) + +func newResolveGroup() *cobra.Command { + cmd := &cobra.Command{} + + var resolveGroupReq iamv2.ResolveGroupRequest + var resolveGroupJson flags.JsonFlag + + cmd.Flags().Var(&resolveGroupJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Use = "resolve-group EXTERNAL_ID" + cmd.Short = `*Beta* Resolve an external group in the Databricks account.` + cmd.Long = `This command is in Beta and may change without notice. + +Resolve an external group in the Databricks account. + + Resolves a group with the given external ID from the customer's IdP. If the + group does not exist, it will be created in the account. If the customer is + not onboarded onto Automatic Identity Management (AIM), this will return an + error. + + Arguments: + EXTERNAL_ID: Required. The external ID of the group in the customer's IdP.` + + 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 { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + } + return nil + } + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + if cmd.Flags().Changed("json") { + diags := resolveGroupJson.Unmarshal(&resolveGroupReq) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + resolveGroupReq.ExternalId = args[0] + } + + response, err := a.IamV2.ResolveGroup(ctx, resolveGroupReq) + 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 resolveGroupOverrides { + fn(cmd, &resolveGroupReq) + } + + return cmd +} + +// start resolve-service-principal 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 resolveServicePrincipalOverrides []func( + *cobra.Command, + *iamv2.ResolveServicePrincipalRequest, +) + +func newResolveServicePrincipal() *cobra.Command { + cmd := &cobra.Command{} + + var resolveServicePrincipalReq iamv2.ResolveServicePrincipalRequest + var resolveServicePrincipalJson flags.JsonFlag + + cmd.Flags().Var(&resolveServicePrincipalJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Use = "resolve-service-principal EXTERNAL_ID" + cmd.Short = `*Beta* Resolve an external service principal in the Databricks account.` + cmd.Long = `This command is in Beta and may change without notice. + +Resolve an external service principal in the Databricks account. + + Resolves a service principal with the given external ID from the customer's + IdP. If the service principal does not exist, it will be created. If the + customer is not onboarded onto Automatic Identity Management (AIM), this will + return an error. + + Arguments: + EXTERNAL_ID: Required. The external ID of the service principal in the customer's IdP.` + + 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 { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + } + return nil + } + check := root.ExactArgs(1) + return check(cmd, args) + } + + cmd.PreRunE = root.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + if cmd.Flags().Changed("json") { + diags := resolveServicePrincipalJson.Unmarshal(&resolveServicePrincipalReq) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + resolveServicePrincipalReq.ExternalId = args[0] } - response, err := a.IamV2.GetWorkspaceAccessDetail(ctx, getWorkspaceAccessDetailReq) + response, err := a.IamV2.ResolveServicePrincipal(ctx, resolveServicePrincipalReq) if err != nil { return err } @@ -306,48 +2291,56 @@ Get workspace access details for a principal. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range getWorkspaceAccessDetailOverrides { - fn(cmd, &getWorkspaceAccessDetailReq) + for _, fn := range resolveServicePrincipalOverrides { + fn(cmd, &resolveServicePrincipalReq) } return cmd } -// start get-workspace-assignment-detail command +// start resolve-user 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 getWorkspaceAssignmentDetailOverrides []func( +var resolveUserOverrides []func( *cobra.Command, - *iamv2.GetWorkspaceAssignmentDetailRequest, + *iamv2.ResolveUserRequest, ) -func newGetWorkspaceAssignmentDetail() *cobra.Command { +func newResolveUser() *cobra.Command { cmd := &cobra.Command{} - var getWorkspaceAssignmentDetailReq iamv2.GetWorkspaceAssignmentDetailRequest + var resolveUserReq iamv2.ResolveUserRequest + var resolveUserJson flags.JsonFlag - cmd.Use = "get-workspace-assignment-detail WORKSPACE_ID PRINCIPAL_ID" - cmd.Short = `Get workspace assignment details for a principal.` - cmd.Long = `Get workspace assignment details for a principal. + cmd.Flags().Var(&resolveUserJson, "json", `either inline JSON string or @path/to/file.json with request body`) - Returns the assignment details for a principal in a workspace. + cmd.Use = "resolve-user EXTERNAL_ID" + cmd.Short = `*Beta* Resolve an external user in the Databricks account.` + cmd.Long = `This command is in Beta and may change without notice. - Arguments: - WORKSPACE_ID: Required. The workspace ID for which the assignment details are being - requested. - PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the - assignment details are being requested.` +Resolve an external user in the Databricks account. - // This command is being previewed; hide from help output. - cmd.Hidden = true + Resolves a user with the given external ID from the customer's IdP. If the + user does not exist, it will be created. If the customer is not onboarded onto + Automatic Identity Management (AIM), this will return an error. + + Arguments: + EXTERNAL_ID: Required. The external ID of the user in the customer's IdP.` 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) + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + } + return nil + } + check := root.ExactArgs(1) return check(cmd, args) } @@ -356,17 +2349,23 @@ func newGetWorkspaceAssignmentDetail() *cobra.Command { ctx := cmd.Context() a := cmdctx.AccountClient(ctx) - _, err = fmt.Sscan(args[0], &getWorkspaceAssignmentDetailReq.WorkspaceId) - if err != nil { - return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + if cmd.Flags().Changed("json") { + diags := resolveUserJson.Unmarshal(&resolveUserReq) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } } - - _, err = fmt.Sscan(args[1], &getWorkspaceAssignmentDetailReq.PrincipalId) - if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + if !cmd.Flags().Changed("json") { + resolveUserReq.ExternalId = args[0] } - response, err := a.IamV2.GetWorkspaceAssignmentDetail(ctx, getWorkspaceAssignmentDetailReq) + response, err := a.IamV2.ResolveUser(ctx, resolveUserReq) if err != nil { return err } @@ -379,42 +2378,48 @@ func newGetWorkspaceAssignmentDetail() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range getWorkspaceAssignmentDetailOverrides { - fn(cmd, &getWorkspaceAssignmentDetailReq) + for _, fn := range resolveUserOverrides { + fn(cmd, &resolveUserReq) } return cmd } -// start list-workspace-assignment-details command +// start update-group 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 listWorkspaceAssignmentDetailsOverrides []func( +var updateGroupOverrides []func( *cobra.Command, - *iamv2.ListWorkspaceAssignmentDetailsRequest, + *iamv2.UpdateGroupRequest, ) -func newListWorkspaceAssignmentDetails() *cobra.Command { +func newUpdateGroup() *cobra.Command { cmd := &cobra.Command{} - var listWorkspaceAssignmentDetailsReq iamv2.ListWorkspaceAssignmentDetailsRequest + var updateGroupReq iamv2.UpdateGroupRequest + updateGroupReq.Group = iamv2.Group{} + var updateGroupJson flags.JsonFlag - cmd.Flags().IntVar(&listWorkspaceAssignmentDetailsReq.PageSize, "page-size", listWorkspaceAssignmentDetailsReq.PageSize, `The maximum number of workspace assignment details to return.`) - cmd.Flags().StringVar(&listWorkspaceAssignmentDetailsReq.PageToken, "page-token", listWorkspaceAssignmentDetailsReq.PageToken, `A page token, received from a previous ListWorkspaceAssignmentDetails call.`) + cmd.Flags().Var(&updateGroupJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "list-workspace-assignment-details WORKSPACE_ID" - cmd.Short = `List workspace assignment details for a workspace.` - cmd.Long = `List workspace assignment details for a workspace. + cmd.Flags().StringVar(&updateGroupReq.Group.ExternalId, "external-id", updateGroupReq.Group.ExternalId, `ExternalId of the group in the customer's IdP.`) + cmd.Flags().StringVar(&updateGroupReq.Group.GroupName, "group-name", updateGroupReq.Group.GroupName, `Display name of the group.`) - Lists workspace assignment details for a workspace. The response omits the - per-principal entitlement fields (entitlements and - effective_entitlements). To read the entitlements for a single principal, - get that principal's assignment detail. + cmd.Use = "update-group GROUP_ID UPDATE_MASK" + cmd.Short = `Update a group in the account.` + cmd.Long = `Update a group in the account. + + Updates an existing group in the Databricks account. Only the fields named in + the update mask are modified. Returns the updated Group resource. + + When AIM is enabled and the group is an external identity (its external_id is + set), only external_id can be updated; its other fields are sourced from your + identity provider. Arguments: - WORKSPACE_ID: Required. The workspace ID for which the workspace assignment details are - being fetched.` + GROUP_ID: Required. Internal ID of the group in Databricks. + UPDATE_MASK: Optional. The list of fields to update.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -424,7 +2429,7 @@ func newListWorkspaceAssignmentDetails() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { - check := root.ExactArgs(1) + check := root.ExactArgs(2) return check(cmd, args) } @@ -433,12 +2438,22 @@ func newListWorkspaceAssignmentDetails() *cobra.Command { ctx := cmd.Context() a := cmdctx.AccountClient(ctx) - _, err = fmt.Sscan(args[0], &listWorkspaceAssignmentDetailsReq.WorkspaceId) - if err != nil { - return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + if cmd.Flags().Changed("json") { + diags := updateGroupJson.Unmarshal(&updateGroupReq.Group) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } } + updateGroupReq.GroupId = args[0] + updateGroupReq.UpdateMask = args[1] - response, err := a.IamV2.ListWorkspaceAssignmentDetails(ctx, listWorkspaceAssignmentDetailsReq) + response, err := a.IamV2.UpdateGroup(ctx, updateGroupReq) if err != nil { return err } @@ -451,57 +2466,68 @@ func newListWorkspaceAssignmentDetails() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range listWorkspaceAssignmentDetailsOverrides { - fn(cmd, &listWorkspaceAssignmentDetailsReq) + for _, fn := range updateGroupOverrides { + fn(cmd, &updateGroupReq) } return cmd } -// start resolve-group command +// start update-service-principal 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 resolveGroupOverrides []func( +var updateServicePrincipalOverrides []func( *cobra.Command, - *iamv2.ResolveGroupRequest, + *iamv2.UpdateServicePrincipalRequest, ) -func newResolveGroup() *cobra.Command { +func newUpdateServicePrincipal() *cobra.Command { cmd := &cobra.Command{} - var resolveGroupReq iamv2.ResolveGroupRequest - var resolveGroupJson flags.JsonFlag + var updateServicePrincipalReq iamv2.UpdateServicePrincipalRequest + updateServicePrincipalReq.ServicePrincipal = iamv2.ServicePrincipal{} + var updateServicePrincipalJson flags.JsonFlag - cmd.Flags().Var(&resolveGroupJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateServicePrincipalJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "resolve-group EXTERNAL_ID" - cmd.Short = `*Beta* Resolve an external group in the Databricks account.` - cmd.Long = `This command is in Beta and may change without notice. + cmd.Flags().StringVar(&updateServicePrincipalReq.ServicePrincipal.ExternalId, "external-id", updateServicePrincipalReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) -Resolve an external group in the Databricks account. + cmd.Use = "update-service-principal SERVICE_PRINCIPAL_ID UPDATE_MASK DISPLAY_NAME ACCOUNT_SP_STATUS" + cmd.Short = `Update a service principal in the account.` + cmd.Long = `Update a service principal in the account. - Resolves a group with the given external ID from the customer's IdP. If the - group does not exist, it will be created in the account. If the customer is - not onboarded onto Automatic Identity Management (AIM), this will return an - error. + Updates an existing service principal in the Databricks account. Only the + fields named in the update mask are modified. Returns the updated + ServicePrincipal resource. + + When AIM is enabled and the service principal is an external identity (its + external_id is set), only external_id can be updated; its other fields are + sourced from your identity provider. Arguments: - EXTERNAL_ID: Required. The external ID of the group in the customer's IdP.` + SERVICE_PRINCIPAL_ID: Required. Internal ID of the service principal in Databricks. + UPDATE_MASK: Optional. The list of fields to update. + DISPLAY_NAME: Display name of the service principal. + ACCOUNT_SP_STATUS: The activity status of a service principal in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(2)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + return errors.New("when --json flag is specified, provide only SERVICE_PRINCIPAL_ID, UPDATE_MASK as positional arguments. Provide 'display_name', 'account_sp_status' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(4) return check(cmd, args) } @@ -511,7 +2537,7 @@ Resolve an external group in the Databricks account. a := cmdctx.AccountClient(ctx) if cmd.Flags().Changed("json") { - diags := resolveGroupJson.Unmarshal(&resolveGroupReq) + diags := updateServicePrincipalJson.Unmarshal(&updateServicePrincipalReq.ServicePrincipal) if diags.HasError() { return diags.Error() } @@ -522,11 +2548,20 @@ Resolve an external group in the Databricks account. } } } + updateServicePrincipalReq.ServicePrincipalId = args[0] + updateServicePrincipalReq.UpdateMask = args[1] if !cmd.Flags().Changed("json") { - resolveGroupReq.ExternalId = args[0] + updateServicePrincipalReq.ServicePrincipal.DisplayName = args[2] + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[3], &updateServicePrincipalReq.ServicePrincipal.AccountSpStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_SP_STATUS: %s", args[3]) + } + } - response, err := a.IamV2.ResolveGroup(ctx, resolveGroupReq) + response, err := a.IamV2.UpdateServicePrincipal(ctx, updateServicePrincipalReq) if err != nil { return err } @@ -539,57 +2574,69 @@ Resolve an external group in the Databricks account. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range resolveGroupOverrides { - fn(cmd, &resolveGroupReq) + for _, fn := range updateServicePrincipalOverrides { + fn(cmd, &updateServicePrincipalReq) } return cmd } -// start resolve-service-principal command +// start update-user 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 resolveServicePrincipalOverrides []func( +var updateUserOverrides []func( *cobra.Command, - *iamv2.ResolveServicePrincipalRequest, + *iamv2.UpdateUserRequest, ) -func newResolveServicePrincipal() *cobra.Command { +func newUpdateUser() *cobra.Command { cmd := &cobra.Command{} - var resolveServicePrincipalReq iamv2.ResolveServicePrincipalRequest - var resolveServicePrincipalJson flags.JsonFlag + var updateUserReq iamv2.UpdateUserRequest + updateUserReq.User = iamv2.User{} + var updateUserJson flags.JsonFlag - cmd.Flags().Var(&resolveServicePrincipalJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateUserJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "resolve-service-principal EXTERNAL_ID" - cmd.Short = `*Beta* Resolve an external service principal in the Databricks account.` - cmd.Long = `This command is in Beta and may change without notice. + cmd.Flags().StringVar(&updateUserReq.User.ExternalId, "external-id", updateUserReq.User.ExternalId, `ExternalId of the user in the customer's IdP.`) -Resolve an external service principal in the Databricks account. + cmd.Use = "update-user USER_ID UPDATE_MASK USERNAME FULL_NAME ACCOUNT_USER_STATUS" + cmd.Short = `Update a user in the account.` + cmd.Long = `Update a user in the account. - Resolves a service principal with the given external ID from the customer's - IdP. If the service principal does not exist, it will be created. If the - customer is not onboarded onto Automatic Identity Management (AIM), this will - return an error. + Updates an existing user in the Databricks account and returns the updated + user. Only the fields named in the update mask are modified. The updatable + fields are fullName.givenName, fullName.familyName, status, and externalId. + + When AIM is enabled and the user is an external identity (its external_id is + set), only external_id can be updated; its other fields are sourced from your + identity provider. Arguments: - EXTERNAL_ID: Required. The external ID of the service principal in the customer's IdP.` + USER_ID: Required. Internal ID of the user in Databricks. + UPDATE_MASK: Optional. The list of fields to update. + USERNAME: Username/email of the user. + FULL_NAME: + ACCOUNT_USER_STATUS: The activity status of a user in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(2)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + return errors.New("when --json flag is specified, provide only USER_ID, UPDATE_MASK as positional arguments. Provide 'username', 'full_name', 'account_user_status' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(5) return check(cmd, args) } @@ -599,7 +2646,7 @@ Resolve an external service principal in the Databricks account. a := cmdctx.AccountClient(ctx) if cmd.Flags().Changed("json") { - diags := resolveServicePrincipalJson.Unmarshal(&resolveServicePrincipalReq) + diags := updateUserJson.Unmarshal(&updateUserReq.User) if diags.HasError() { return diags.Error() } @@ -610,11 +2657,27 @@ Resolve an external service principal in the Databricks account. } } } + updateUserReq.UserId = args[0] + updateUserReq.UpdateMask = args[1] if !cmd.Flags().Changed("json") { - resolveServicePrincipalReq.ExternalId = args[0] + updateUserReq.User.Username = args[2] } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[3], &updateUserReq.User.FullName) + if err != nil { + return fmt.Errorf("invalid FULL_NAME: %s", args[3]) + } - response, err := a.IamV2.ResolveServicePrincipal(ctx, resolveServicePrincipalReq) + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[4], &updateUserReq.User.AccountUserStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_USER_STATUS: %s", args[4]) + } + + } + + response, err := a.IamV2.UpdateUser(ctx, updateUserReq) if err != nil { return err } @@ -627,56 +2690,66 @@ Resolve an external service principal in the Databricks account. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range resolveServicePrincipalOverrides { - fn(cmd, &resolveServicePrincipalReq) + for _, fn := range updateUserOverrides { + fn(cmd, &updateUserReq) } return cmd } -// start resolve-user command +// start update-workspace-assignment 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 resolveUserOverrides []func( +var updateWorkspaceAssignmentOverrides []func( *cobra.Command, - *iamv2.ResolveUserRequest, + *iamv2.UpdateWorkspaceAssignmentRequest, ) -func newResolveUser() *cobra.Command { +func newUpdateWorkspaceAssignment() *cobra.Command { cmd := &cobra.Command{} - var resolveUserReq iamv2.ResolveUserRequest - var resolveUserJson flags.JsonFlag + var updateWorkspaceAssignmentReq iamv2.UpdateWorkspaceAssignmentRequest + updateWorkspaceAssignmentReq.WorkspaceAssignment = iamv2.WorkspaceAssignment{} + var updateWorkspaceAssignmentJson flags.JsonFlag - cmd.Flags().Var(&resolveUserJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateWorkspaceAssignmentJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "resolve-user EXTERNAL_ID" - cmd.Short = `*Beta* Resolve an external user in the Databricks account.` - cmd.Long = `This command is in Beta and may change without notice. + // TODO: array: effective_entitlements + // TODO: array: entitlements -Resolve an external user in the Databricks account. + cmd.Use = "update-workspace-assignment WORKSPACE_ID PRINCIPAL_ID UPDATE_MASK PRINCIPAL_ID" + cmd.Short = `Update a workspace assignment.` + cmd.Long = `Update a workspace assignment. - Resolves a user with the given external ID from the customer's IdP. If the - user does not exist, it will be created. If the customer is not onboarded onto - Automatic Identity Management (AIM), this will return an error. + Updates the entitlements of a directly assigned principal in a workspace. + Changes are applied one at a time rather than atomically. If the request fails + partway through, only some of the requested changes take effect. Get the + assignment afterwards to confirm the final state. Arguments: - EXTERNAL_ID: Required. The external ID of the user in the customer's IdP.` + WORKSPACE_ID: Required. The workspace ID for which the workspace assignment is being + updated. + PRINCIPAL_ID: Required. ID of the principal in Databricks. + UPDATE_MASK: Required. The list of fields to update. + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(3)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + return errors.New("when --json flag is specified, provide only WORKSPACE_ID, PRINCIPAL_ID, UPDATE_MASK as positional arguments. Provide 'principal_id' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(4) return check(cmd, args) } @@ -686,7 +2759,7 @@ Resolve an external user in the Databricks account. a := cmdctx.AccountClient(ctx) if cmd.Flags().Changed("json") { - diags := resolveUserJson.Unmarshal(&resolveUserReq) + diags := updateWorkspaceAssignmentJson.Unmarshal(&updateWorkspaceAssignmentReq.WorkspaceAssignment) if diags.HasError() { return diags.Error() } @@ -697,11 +2770,29 @@ Resolve an external user in the Databricks account. } } } + _, err = fmt.Sscan(args[0], &updateWorkspaceAssignmentReq.WorkspaceId) + if err != nil { + return fmt.Errorf("invalid WORKSPACE_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &updateWorkspaceAssignmentReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + if args[2] != "" { + updateMaskArray := strings.Split(args[2], ",") + updateWorkspaceAssignmentReq.UpdateMask = *fieldmask.New(updateMaskArray) + } if !cmd.Flags().Changed("json") { - resolveUserReq.ExternalId = args[0] + _, err = fmt.Sscan(args[3], &updateWorkspaceAssignmentReq.WorkspaceAssignment.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[3]) + } + } - response, err := a.IamV2.ResolveUser(ctx, resolveUserReq) + response, err := a.IamV2.UpdateWorkspaceAssignment(ctx, updateWorkspaceAssignmentReq) if err != nil { return err } @@ -714,8 +2805,8 @@ Resolve an external user in the Databricks account. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range resolveUserOverrides { - fn(cmd, &resolveUserReq) + for _, fn := range updateWorkspaceAssignmentOverrides { + fn(cmd, &updateWorkspaceAssignmentReq) } return cmd diff --git a/cmd/account/usage-dashboards/usage-dashboards.go b/cmd/account/usage-dashboards/usage-dashboards.go index cb19cbce56a..05d5d15177c 100644 --- a/cmd/account/usage-dashboards/usage-dashboards.go +++ b/cmd/account/usage-dashboards/usage-dashboards.go @@ -18,10 +18,8 @@ var cmdOverrides []func(*cobra.Command) func New() *cobra.Command { cmd := &cobra.Command{ Use: "usage-dashboards", - Short: `*Public Preview* These APIs manage usage dashboards for this account.`, - Long: `This command is in Public Preview and may change without notice. - -These APIs manage usage dashboards for this account. Usage dashboards enable + Short: `These APIs manage usage dashboards for this account.`, + Long: `These APIs manage usage dashboards for this account. Usage dashboards enable you to gain insights into your usage with pre-built dashboards: visualize breakdowns, analyze tag attributions, and identify cost drivers.`, GroupID: "billing", @@ -29,8 +27,8 @@ These APIs manage usage dashboards for this account. Usage dashboards enable } cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Public Preview" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" // Add methods cmd.AddCommand(newCreate()) @@ -66,17 +64,15 @@ func newCreate() *cobra.Command { cmd.Flags().Int64Var(&createReq.WorkspaceId, "workspace-id", createReq.WorkspaceId, `The workspace ID of the workspace in which the usage dashboard is created.`) cmd.Use = "create" - cmd.Short = `*Public Preview* Create new usage dashboard.` - cmd.Long = `This command is in Public Preview and may change without notice. - -Create new usage dashboard. + cmd.Short = `Create new usage dashboard.` + cmd.Long = `Create new usage dashboard. Create a usage dashboard specified by workspaceId, accountId, and dashboard type.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Public Preview" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -139,16 +135,14 @@ func newGet() *cobra.Command { cmd.Flags().Int64Var(&getReq.WorkspaceId, "workspace-id", getReq.WorkspaceId, `The workspace ID of the workspace in which the usage dashboard is created.`) cmd.Use = "get" - cmd.Short = `*Public Preview* Get usage dashboard.` - cmd.Long = `This command is in Public Preview and may change without notice. - -Get usage dashboard. + cmd.Short = `Get usage dashboard.` + cmd.Long = `Get usage dashboard. Get a usage dashboard specified by workspaceId, accountId, and dashboard type.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Public Preview" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) diff --git a/cmd/workspace/ai-gateway/ai-gateway.go b/cmd/workspace/ai-gateway/ai-gateway.go index 0bcefe6e8f9..910bdea2643 100644 --- a/cmd/workspace/ai-gateway/ai-gateway.go +++ b/cmd/workspace/ai-gateway/ai-gateway.go @@ -29,8 +29,7 @@ Govern AI workloads in Unity Catalog. This API manages the Unity Catalog securables that bring centralized access control, lineage, and auditing to AI-serving entities: model services (governed access to foundation models and external LLMs), model provider services (governed connections to external - model providers), MCP services (governed Model Context Protocol servers), and - agent services (governed agents).`, + model providers), and MCP services (governed Model Context Protocol servers).`, GroupID: "catalog", RunE: root.ReportUnknownSubcommand, } @@ -104,10 +103,9 @@ Create an MCP service. references. Arguments: - PARENT: Resource name of the parent schema. Format: schemas/{catalog}.{schema}. - Each {...} component is capped at 255 characters individually. - MCP_SERVICE_ID: Leaf identifier for the MCP service (the unqualified name within the - parent schema, e.g. "my_mcp_service").` + PARENT: Name of the parent schema. Format: schemas/{catalog}.{schema}. Each + {...} component is capped at 255 characters individually. + MCP_SERVICE_ID: Name for the MCP service, e.g. "my_mcp_service".` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "PUBLIC_BETA" @@ -198,10 +196,9 @@ Create a model provider service. catalog. Arguments: - PARENT: Resource name of the parent schema. Format: schemas/{catalog}.{schema}. - Each {...} component is capped at 255 characters individually. - MODEL_PROVIDER_SERVICE_ID: Leaf identifier for the provider service (the unqualified name within the - parent schema, e.g. "openai_prod").` + PARENT: Name of the parent schema. Format: schemas/{catalog}.{schema}. Each + {...} component is capped at 255 characters individually. + MODEL_PROVIDER_SERVICE_ID: Name for the model provider service, e.g. "openai_prod".` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "PUBLIC_BETA" @@ -291,10 +288,9 @@ Create a model service. catalog. Arguments: - PARENT: Resource name of the parent schema. Format: schemas/{catalog}.{schema}. - Each {...} component is capped at 255 characters individually. - MODEL_SERVICE_ID: Leaf identifier for the model service (the unqualified name within the - parent schema, e.g. "my_model_service").` + PARENT: Name of the parent schema. Format: schemas/{catalog}.{schema}. Each + {...} component is capped at 255 characters individually. + MODEL_SERVICE_ID: Name for the model service, e.g. "my_model_service".` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "PUBLIC_BETA" @@ -773,7 +769,7 @@ func newListMcpServices() *cobra.Command { var listMcpServicesLimit int cmd.Flags().IntVar(&listMcpServicesReq.PageSize, "page-size", listMcpServicesReq.PageSize, `Maximum number of MCP services to return.`) - cmd.Flags().StringVar(&listMcpServicesReq.Parent, "parent", listMcpServicesReq.Parent, `Resource name of the parent schema to list within, as schemas/{catalog}.{schema}.`) + cmd.Flags().StringVar(&listMcpServicesReq.Parent, "parent", listMcpServicesReq.Parent, `Name of the parent schema to list within, as schemas/{catalog}.{schema}.`) cmd.Flags().Var(&listMcpServicesReq.View, "view", `View selector controlling which fields are populated per row. Supported values: [BASIC, FULL]`) // Limit flag for total result capping. @@ -853,7 +849,7 @@ func newListModelProviderServices() *cobra.Command { var listModelProviderServicesLimit int cmd.Flags().IntVar(&listModelProviderServicesReq.PageSize, "page-size", listModelProviderServicesReq.PageSize, `Maximum number of provider services to return.`) - cmd.Flags().StringVar(&listModelProviderServicesReq.Parent, "parent", listModelProviderServicesReq.Parent, `Resource name of the parent schema to list within, as schemas/{catalog}.{schema}.`) + cmd.Flags().StringVar(&listModelProviderServicesReq.Parent, "parent", listModelProviderServicesReq.Parent, `Name of the parent schema to list within, as schemas/{catalog}.{schema}.`) cmd.Flags().Var(&listModelProviderServicesReq.View, "view", `View selector controlling which fields are populated per row. Supported values: [BASIC, FULL]`) // Limit flag for total result capping. @@ -933,7 +929,7 @@ func newListModelServices() *cobra.Command { var listModelServicesLimit int cmd.Flags().IntVar(&listModelServicesReq.PageSize, "page-size", listModelServicesReq.PageSize, `Maximum number of model services to return.`) - cmd.Flags().StringVar(&listModelServicesReq.Parent, "parent", listModelServicesReq.Parent, `Resource name of the parent schema to list within, as schemas/{catalog}.{schema}.`) + cmd.Flags().StringVar(&listModelServicesReq.Parent, "parent", listModelServicesReq.Parent, `Name of the parent schema to list within, as schemas/{catalog}.{schema}.`) cmd.Flags().Var(&listModelServicesReq.View, "view", `View selector controlling which fields are populated per row. Supported values: [BASIC, FULL]`) // Limit flag for total result capping. diff --git a/cmd/workspace/apps/apps.go b/cmd/workspace/apps/apps.go index 8a40af446e3..7d17583663c 100644 --- a/cmd/workspace/apps/apps.go +++ b/cmd/workspace/apps/apps.go @@ -103,12 +103,15 @@ func newCreate() *cobra.Command { cmd.Flags().IntVar(&createReq.App.ComputeMinInstances, "compute-min-instances", createReq.App.ComputeMinInstances, `Minimum number of app instances.`) cmd.Flags().Var(&createReq.App.ComputeSize, "compute-size", `Supported values: [LARGE, MEDIUM, XLARGE]`) // TODO: complex arg: compute_status + // TODO: complex arg: default_git_source cmd.Flags().StringVar(&createReq.App.Description, "description", createReq.App.Description, `The description of the app.`) // TODO: array: effective_user_api_scopes cmd.Flags().BoolVar(&createReq.App.ForwardUserAccessToken, "forward-user-access-token", createReq.App.ForwardUserAccessToken, `Forward the user's access token to the app.`) // TODO: complex arg: git_repository + // TODO: complex arg: git_source // TODO: complex arg: pending_deployment // TODO: array: resources + cmd.Flags().StringVar(&createReq.App.SourceCodePath, "source-code-path", createReq.App.SourceCodePath, ``) cmd.Flags().StringVar(&createReq.App.Space, "space", createReq.App.Space, `Name of the space this app belongs to.`) // TODO: array: telemetry_export_destinations cmd.Flags().StringVar(&createReq.App.UsagePolicyId, "usage-policy-id", createReq.App.UsagePolicyId, ``) @@ -1699,12 +1702,15 @@ func newUpdate() *cobra.Command { cmd.Flags().IntVar(&updateReq.App.ComputeMinInstances, "compute-min-instances", updateReq.App.ComputeMinInstances, `Minimum number of app instances.`) cmd.Flags().Var(&updateReq.App.ComputeSize, "compute-size", `Supported values: [LARGE, MEDIUM, XLARGE]`) // TODO: complex arg: compute_status + // TODO: complex arg: default_git_source cmd.Flags().StringVar(&updateReq.App.Description, "description", updateReq.App.Description, `The description of the app.`) // TODO: array: effective_user_api_scopes cmd.Flags().BoolVar(&updateReq.App.ForwardUserAccessToken, "forward-user-access-token", updateReq.App.ForwardUserAccessToken, `Forward the user's access token to the app.`) // TODO: complex arg: git_repository + // TODO: complex arg: git_source // TODO: complex arg: pending_deployment // TODO: array: resources + cmd.Flags().StringVar(&updateReq.App.SourceCodePath, "source-code-path", updateReq.App.SourceCodePath, ``) cmd.Flags().StringVar(&updateReq.App.Space, "space", updateReq.App.Space, `Name of the space this app belongs to.`) // TODO: array: telemetry_export_destinations cmd.Flags().StringVar(&updateReq.App.UsagePolicyId, "usage-policy-id", updateReq.App.UsagePolicyId, ``) diff --git a/cmd/workspace/bundle-deployments/bundle-deployments.go b/cmd/workspace/bundle-deployments/bundle-deployments.go index 9dba5470c05..5af8fbfdd35 100644 --- a/cmd/workspace/bundle-deployments/bundle-deployments.go +++ b/cmd/workspace/bundle-deployments/bundle-deployments.go @@ -37,7 +37,6 @@ func New() *cobra.Command { // Add methods cmd.AddCommand(newCompleteVersion()) cmd.AddCommand(newCreateDeployment()) - cmd.AddCommand(newCreateOperation()) cmd.AddCommand(newCreateVersion()) cmd.AddCommand(newDeleteDeployment()) cmd.AddCommand(newGetDeployment()) @@ -234,99 +233,6 @@ func newCreateDeployment() *cobra.Command { return cmd } -// start create-operation 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 createOperationOverrides []func( - *cobra.Command, - *bundledeployments.CreateOperationRequest, -) - -func newCreateOperation() *cobra.Command { - cmd := &cobra.Command{} - - var createOperationReq bundledeployments.CreateOperationRequest - createOperationReq.Operation = bundledeployments.Operation{} - var createOperationJson flags.JsonFlag - - cmd.Flags().Var(&createOperationJson, "json", `either inline JSON string or @path/to/file.json with request body`) - - cmd.Use = "create-operation PARENT" - cmd.Short = `Create an operation.` - cmd.Long = `Create an operation. - - Creates a resource operation under a version. - - The caller must provide a resource_key which becomes the final component of - the operation's name. If an operation with the same key already exists under - the version, the server returns ALREADY_EXISTS. - - On success the server also updates the corresponding deployment-level - resource, creating it if this is the first operation for that resource_key and - removing it if the operation records no state (see that field). - - Arguments: - PARENT: The parent version where this operation will be recorded. Format: - deployments/{deployment_id}/versions/{version_id}` - - cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" - cmd.Annotations["launch_stage_display"] = "Private Preview" - - cmd.Args = func(cmd *cobra.Command, args []string) error { - if cmd.Flags().Changed("json") { - err := root.ExactArgs(2)(cmd, args) - if err != nil { - return errors.New("when --json flag is specified, provide only PARENT, RESOURCE_KEY as positional arguments. Provide 'action_type', 'status' in your JSON input") - } - return nil - } - 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 := createOperationJson.Unmarshal(&createOperationReq.Operation) - if diags.HasError() { - return diags.Error() - } - if len(diags) > 0 { - err := cmdio.RenderDiagnostics(ctx, diags) - if err != nil { - return err - } - } - } else { - return errors.New("please provide command input in JSON format by specifying the --json flag") - } - createOperationReq.Parent = args[0] - - response, err := w.BundleDeployments.CreateOperation(ctx, createOperationReq) - 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 createOperationOverrides { - fn(cmd, &createOperationReq) - } - - return cmd -} - // start create-version command // Slice with functions to override default command behavior. @@ -365,6 +271,13 @@ func newCreateVersion() *cobra.Command { version (leaving it unset for the first version), which the server validates to detect concurrent deploys. + The caller also provides the full set of operations planned for this + version, each identified by a resource_key and an action_type. The server + records one operation per resource in OPERATION_STATUS_PENDING in the same + transaction as the version, so the plan is captured atomically. The outcome of + each operation is recorded later via UpdateOperation as the resource is + applied; the set of operations cannot be changed after the version is created. + Arguments: PARENT: The parent deployment where this version will be created. Format: deployments/{deployment_id} @@ -1129,18 +1042,19 @@ func newUpdateOperation() *cobra.Command { Updates a resource operation's mutable fields. - state, error_message, resource_id, and status may be updated, - independently; update_mask must contain only those paths. All other fields - are immutable. The update is guarded by an optimistic-concurrency check: the - caller sets operation.sequence_id to the value it last observed, and the - server rejects the update with ABORTED if the operation has been modified - since. On success the server increments sequence_id; updates to state and - resource_id are mirrored onto the corresponding deployment-level resource. - Listing state in update_mask with no value clears it, which removes the - resource, so a delete that is retried until it succeeds must clear state. - The parent version must be in progress, and after the update is applied a - succeeded operation cannot carry an error_message. See the state and - resource_id fields for the rest. + state, error_message, resource_id, status, and dashboard_metadata + may be updated, independently; update_mask must contain only those paths. + All other fields are immutable. The update is guarded by an + optimistic-concurrency check: the caller sets operation.sequence_id to the + value it last observed, and the server rejects the update with ABORTED if + the operation has been modified since. On success the server increments + sequence_id; updates to state, resource_id, and dashboard_metadata are + mirrored onto the corresponding deployment-level resource. Listing state in + update_mask with no value clears it, which removes the resource, so a delete + that is retried until it succeeds must clear state. The parent version must + be in progress, and after the update is applied a succeeded operation cannot + carry an error_message. See the state and resource_id fields for the + rest. Arguments: NAME: Resource name of the operation. Format: @@ -1151,13 +1065,6 @@ func newUpdateOperation() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { - if cmd.Flags().Changed("json") { - err := root.ExactArgs(2)(cmd, args) - if err != nil { - return errors.New("when --json flag is specified, provide only NAME, UPDATE_MASK as positional arguments. Provide 'action_type', 'status' in your JSON input") - } - return nil - } check := root.ExactArgs(1) return check(cmd, args) } diff --git a/cmd/workspace/git-credentials/git-credentials.go b/cmd/workspace/git-credentials/git-credentials.go index e942ef21180..9288c2b5941 100644 --- a/cmd/workspace/git-credentials/git-credentials.go +++ b/cmd/workspace/git-credentials/git-credentials.go @@ -87,8 +87,7 @@ func newCreate() *cobra.Command { are gitHub, bitbucketCloud, gitLab, azureDevOpsServices (Azure DevOps Services, including Microsoft Entra ID authentication), gitHubEnterprise, bitbucketServer (Bitbucket Data Center), - gitLabEnterpriseEdition (GitLab Self-Managed), and awsCodeCommit - (deprecated by AWS, not accepting new customers).` + gitLabEnterpriseEdition (GitLab Self-Managed), and awsCodeCommit.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -402,8 +401,7 @@ func newUpdate() *cobra.Command { are gitHub, bitbucketCloud, gitLab, azureDevOpsServices (Azure DevOps Services, including Microsoft Entra ID authentication), gitHubEnterprise, bitbucketServer (Bitbucket Data Center), - gitLabEnterpriseEdition (GitLab Self-Managed), and awsCodeCommit - (deprecated by AWS, not accepting new customers).` + gitLabEnterpriseEdition (GitLab Self-Managed), and awsCodeCommit.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" diff --git a/cmd/workspace/postgres/postgres.go b/cmd/workspace/postgres/postgres.go index fe2281b6c31..7d3ae59f375 100644 --- a/cmd/workspace/postgres/postgres.go +++ b/cmd/workspace/postgres/postgres.go @@ -28,10 +28,8 @@ var cmdOverrides []func(*cobra.Command) func New() *cobra.Command { cmd := &cobra.Command{ Use: "postgres", - Short: `*Beta* Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles.`, - Long: `This command is in Beta and may change without notice. - -Use the Postgres API to create and manage Lakebase Autoscaling Postgres + Short: `Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles.`, + Long: `Use the Postgres API to create and manage Lakebase Autoscaling Postgres infrastructure, including projects, branches, compute endpoints, and roles. This API manages database infrastructure only. To query or modify data, use @@ -48,8 +46,8 @@ Use the Postgres API to create and manage Lakebase Autoscaling Postgres } cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" // Add methods cmd.AddCommand(newCreateBranch()) @@ -136,10 +134,8 @@ func newCreateBranch() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-branch PARENT BRANCH_ID" - cmd.Short = `*Beta* Create a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Create a Branch. + cmd.Short = `Create a Branch.` + cmd.Long = `Create a Branch. Creates a new database branch in the project. @@ -158,8 +154,8 @@ Create a Branch. projects/my-app/branches/development.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -265,10 +261,8 @@ func newCreateCatalog() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-catalog CATALOG_ID" - cmd.Short = `*Beta* Register a Database in UC.` - cmd.Long = `This command is in Beta and may change without notice. - -Register a Database in UC. + cmd.Short = `Register a Database in UC.` + cmd.Long = `Register a Database in UC. Register a Postgres database in the Unity Catalog. @@ -282,8 +276,8 @@ Register a Database in UC. example "my_catalog" becomes "catalogs/my_catalog".` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -659,10 +653,8 @@ func newCreateDatabase() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-database PARENT" - cmd.Short = `*Beta* Create a Database.` - cmd.Long = `This command is in Beta and may change without notice. - -Create a Database. + cmd.Short = `Create a Database.` + cmd.Long = `Create a Database. Create a Database. @@ -679,8 +671,8 @@ Create a Database. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -786,10 +778,8 @@ func newCreateEndpoint() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-endpoint PARENT ENDPOINT_ID" - cmd.Short = `*Beta* Create an Endpoint.` - cmd.Long = `This command is in Beta and may change without notice. - -Create an Endpoint. + cmd.Short = `Create an Endpoint.` + cmd.Long = `Create an Endpoint. Creates a new compute endpoint in the branch. @@ -808,8 +798,8 @@ Create an Endpoint. projects/my-app/branches/development/endpoints/primary.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -917,10 +907,8 @@ func newCreateProject() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-project PROJECT_ID" - cmd.Short = `*Beta* Create a Project.` - cmd.Long = `This command is in Beta and may change without notice. - -Create a Project. + cmd.Short = `Create a Project.` + cmd.Long = `Create a Project. Creates a new Lakebase Autoscaling Postgres database project, which contains branches and compute endpoints. @@ -937,8 +925,8 @@ Create a Project. numbers, and hyphens. For example, my-app becomes projects/my-app.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1045,10 +1033,8 @@ func newCreateRole() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-role PARENT" - cmd.Short = `*Beta* Create a Postgres Role for a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Create a Postgres Role for a Branch. + cmd.Short = `Create a Postgres Role for a Branch.` + cmd.Long = `Create a Postgres Role for a Branch. Creates a new Postgres role in the branch. @@ -1062,8 +1048,8 @@ Create a Postgres Role for a Branch. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1168,10 +1154,8 @@ func newCreateSyncedTable() *cobra.Command { // TODO: complex arg: status cmd.Use = "create-synced-table SYNCED_TABLE_ID" - cmd.Short = `*Beta* Create a Synced Database Table.` - cmd.Long = `This command is in Beta and may change without notice. - -Create a Synced Database Table. + cmd.Short = `Create a Synced Database Table.` + cmd.Long = `Create a Synced Database Table. Create a Synced Table. @@ -1195,8 +1179,8 @@ Create a Synced Database Table. "{schema}" in the connected Postgres database` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1295,10 +1279,8 @@ func newDeleteBranch() *cobra.Command { cmd.Flags().BoolVar(&deleteBranchReq.Purge, "purge", deleteBranchReq.Purge, `If true, permanently delete the branch; if false, soft delete.`) cmd.Use = "delete-branch NAME" - cmd.Short = `*Beta* Delete a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete a Branch. + cmd.Short = `Delete a Branch.` + cmd.Long = `Delete a Branch. Deletes the specified database branch. @@ -1312,8 +1294,8 @@ Delete a Branch. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1399,10 +1381,8 @@ func newDeleteCatalog() *cobra.Command { cmd.Flags().DurationVar(&deleteCatalogTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) cmd.Use = "delete-catalog NAME" - cmd.Short = `*Beta* Delete a Database Catalog.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete a Database Catalog. + cmd.Short = `Delete a Database Catalog.` + cmd.Long = `Delete a Database Catalog. This is a long-running operation. By default, the command waits for the operation to complete. Use --no-wait to return immediately with the raw @@ -1415,8 +1395,8 @@ Delete a Database Catalog. Format: "catalogs/{catalog_id}".` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1713,10 +1693,8 @@ func newDeleteDatabase() *cobra.Command { cmd.Flags().DurationVar(&deleteDatabaseTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) cmd.Use = "delete-database NAME" - cmd.Short = `*Beta* Delete a Database.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete a Database. + cmd.Short = `Delete a Database.` + cmd.Long = `Delete a Database. This is a long-running operation. By default, the command waits for the operation to complete. Use --no-wait to return immediately with the raw @@ -1728,8 +1706,8 @@ Delete a Database. projects/{project_id}/branches/{branch_id}/databases/{database_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1815,10 +1793,8 @@ func newDeleteEndpoint() *cobra.Command { cmd.Flags().DurationVar(&deleteEndpointTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) cmd.Use = "delete-endpoint NAME" - cmd.Short = `*Beta* Delete an Endpoint.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete an Endpoint. + cmd.Short = `Delete an Endpoint.` + cmd.Long = `Delete an Endpoint. Deletes the specified compute endpoint. @@ -1832,8 +1808,8 @@ Delete an Endpoint. projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1921,10 +1897,8 @@ func newDeleteProject() *cobra.Command { cmd.Flags().BoolVar(&deleteProjectReq.Purge, "purge", deleteProjectReq.Purge, `If true, permanently deletes the project (hard delete).`) cmd.Use = "delete-project NAME" - cmd.Short = `*Beta* Delete a Project.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete a Project. + cmd.Short = `Delete a Project.` + cmd.Long = `Delete a Project. Deletes the specified database project. @@ -1938,8 +1912,8 @@ Delete a Project. projects/{project_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2027,10 +2001,8 @@ func newDeleteRole() *cobra.Command { cmd.Flags().StringVar(&deleteRoleReq.ReassignOwnedTo, "reassign-owned-to", deleteRoleReq.ReassignOwnedTo, `Reassign objects.`) cmd.Use = "delete-role NAME" - cmd.Short = `*Beta* Delete a Postgres Role from a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete a Postgres Role from a Branch. + cmd.Short = `Delete a Postgres Role from a Branch.` + cmd.Long = `Delete a Postgres Role from a Branch. Deletes the specified Postgres role. @@ -2044,8 +2016,8 @@ Delete a Postgres Role from a Branch. projects/{project_id}/branches/{branch_id}/roles/{role_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2131,10 +2103,8 @@ func newDeleteSyncedTable() *cobra.Command { cmd.Flags().DurationVar(&deleteSyncedTableTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) cmd.Use = "delete-synced-table NAME" - cmd.Short = `*Beta* Delete a Synced Database Table.` - cmd.Long = `This command is in Beta and may change without notice. - -Delete a Synced Database Table. + cmd.Short = `Delete a Synced Database Table.` + cmd.Long = `Delete a Synced Database Table. Delete a Synced Table. @@ -2149,8 +2119,8 @@ Delete a Synced Database Table. are the UC entity names.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2239,18 +2209,16 @@ func newGenerateDatabaseCredential() *cobra.Command { cmd.Flags().StringVar(&ttlParam, "ttl", ttlParam, `The requested time-to-live for the generated credential token.`) cmd.Use = "generate-database-credential ENDPOINT" - cmd.Short = `*Beta* Generate OAuth credentials for a Postgres database.` - cmd.Long = `This command is in Beta and may change without notice. - -Generate OAuth credentials for a Postgres database. + cmd.Short = `Generate OAuth credentials for a Postgres database.` + cmd.Long = `Generate OAuth credentials for a Postgres database. Arguments: ENDPOINT: The endpoint resource name for which this credential will be generated. Format: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { @@ -2340,10 +2308,8 @@ func newGetBranch() *cobra.Command { var getBranchReq postgres.GetBranchRequest cmd.Use = "get-branch NAME" - cmd.Short = `*Beta* Get a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Get a Branch. + cmd.Short = `Get a Branch.` + cmd.Long = `Get a Branch. Retrieves information about the specified database branch. @@ -2352,8 +2318,8 @@ Get a Branch. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2402,10 +2368,8 @@ func newGetCatalog() *cobra.Command { var getCatalogReq postgres.GetCatalogRequest cmd.Use = "get-catalog NAME" - cmd.Short = `*Beta* Get a Database Catalog.` - cmd.Long = `This command is in Beta and may change without notice. - -Get a Database Catalog. + cmd.Short = `Get a Database Catalog.` + cmd.Long = `Get a Database Catalog. Arguments: NAME: The full resource path of the catalog to retrieve. @@ -2413,8 +2377,8 @@ Get a Database Catalog. Format: "catalogs/{catalog_id}".` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2653,18 +2617,16 @@ func newGetDatabase() *cobra.Command { var getDatabaseReq postgres.GetDatabaseRequest cmd.Use = "get-database NAME" - cmd.Short = `*Beta* Get a Database.` - cmd.Long = `This command is in Beta and may change without notice. - -Get a Database. + cmd.Short = `Get a Database.` + cmd.Long = `Get a Database. Arguments: NAME: The name of the Database to retrieve. Format: projects/{project_id}/branches/{branch_id}/databases/{database_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2713,10 +2675,8 @@ func newGetEndpoint() *cobra.Command { var getEndpointReq postgres.GetEndpointRequest cmd.Use = "get-endpoint NAME" - cmd.Short = `*Beta* Get an Endpoint.` - cmd.Long = `This command is in Beta and may change without notice. - -Get an Endpoint. + cmd.Short = `Get an Endpoint.` + cmd.Long = `Get an Endpoint. Retrieves information about the specified compute endpoint, including its connection details and operational state. @@ -2726,8 +2686,8 @@ Get an Endpoint. projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2776,10 +2736,8 @@ func newGetOperation() *cobra.Command { var getOperationReq postgres.GetOperationRequest cmd.Use = "get-operation NAME" - cmd.Short = `*Beta* Get an Operation.` - cmd.Long = `This command is in Beta and may change without notice. - -Get an Operation. + cmd.Short = `Get an Operation.` + cmd.Long = `Get an Operation. Retrieves the status of a long-running operation. @@ -2787,8 +2745,8 @@ Get an Operation. NAME: The name of the operation resource.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2837,10 +2795,8 @@ func newGetProject() *cobra.Command { var getProjectReq postgres.GetProjectRequest cmd.Use = "get-project NAME" - cmd.Short = `*Beta* Get a Project.` - cmd.Long = `This command is in Beta and may change without notice. - -Get a Project. + cmd.Short = `Get a Project.` + cmd.Long = `Get a Project. Retrieves information about the specified database project. @@ -2849,8 +2805,8 @@ Get a Project. projects/{project_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2899,10 +2855,8 @@ func newGetRole() *cobra.Command { var getRoleReq postgres.GetRoleRequest cmd.Use = "get-role NAME" - cmd.Short = `*Beta* Get a Postgres Role for a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Get a Postgres Role for a Branch. + cmd.Short = `Get a Postgres Role for a Branch.` + cmd.Long = `Get a Postgres Role for a Branch. Retrieves information about the specified Postgres role, including its authentication method and permissions. @@ -2912,8 +2866,8 @@ Get a Postgres Role for a Branch. projects/{project_id}/branches/{branch_id}/roles/{role_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2962,10 +2916,8 @@ func newGetSyncedTable() *cobra.Command { var getSyncedTableReq postgres.GetSyncedTableRequest cmd.Use = "get-synced-table NAME" - cmd.Short = `*Beta* Get a Synced Database Table.` - cmd.Long = `This command is in Beta and may change without notice. - -Get a Synced Database Table. + cmd.Short = `Get a Synced Database Table.` + cmd.Long = `Get a Synced Database Table. Get a Synced Table. @@ -2975,8 +2927,8 @@ Get a Synced Database Table. are the entity names in the Unity Catalog.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3039,10 +2991,8 @@ func newListBranches() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-branches PARENT" - cmd.Short = `*Beta* List Branches.` - cmd.Long = `This command is in Beta and may change without notice. - -List Branches. + cmd.Short = `List Branches.` + cmd.Long = `List Branches. Returns a paginated list of database branches in the project. @@ -3051,8 +3001,8 @@ List Branches. projects/{project_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3277,10 +3227,8 @@ func newListDatabases() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-databases PARENT" - cmd.Short = `*Beta* List postgres databases in a branch.` - cmd.Long = `This command is in Beta and may change without notice. - -List postgres databases in a branch. + cmd.Short = `List postgres databases in a branch.` + cmd.Long = `List postgres databases in a branch. List Databases. @@ -3289,8 +3237,8 @@ List postgres databases in a branch. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3355,10 +3303,8 @@ func newListEndpoints() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-endpoints PARENT" - cmd.Short = `*Beta* List Endpoints.` - cmd.Long = `This command is in Beta and may change without notice. - -List Endpoints. + cmd.Short = `List Endpoints.` + cmd.Long = `List Endpoints. Returns a paginated list of compute endpoints in the branch. @@ -3367,8 +3313,8 @@ List Endpoints. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3434,17 +3380,15 @@ func newListProjects() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-projects" - cmd.Short = `*Beta* List Projects.` - cmd.Long = `This command is in Beta and may change without notice. - -List Projects. + cmd.Short = `List Projects.` + cmd.Long = `List Projects. Returns a paginated list of database projects in the workspace that the user has permission to access.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -3507,10 +3451,8 @@ func newListRoles() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-roles PARENT" - cmd.Short = `*Beta* List Postgres Roles for a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -List Postgres Roles for a Branch. + cmd.Short = `List Postgres Roles for a Branch.` + cmd.Long = `List Postgres Roles for a Branch. Returns a paginated list of Postgres roles in the branch. @@ -3519,8 +3461,8 @@ List Postgres Roles for a Branch. projects/{project_id}/branches/{branch_id}` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -3795,10 +3737,8 @@ func newUpdateBranch() *cobra.Command { // TODO: complex arg: status cmd.Use = "update-branch NAME UPDATE_MASK" - cmd.Short = `*Beta* Update a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Update a Branch. + cmd.Short = `Update a Branch.` + cmd.Long = `Update a Branch. Updates the specified database branch. You can set this branch as the project's default branch, or protect/unprotect it. @@ -3811,12 +3751,11 @@ Update a Branch. Arguments: NAME: Output only. The full resource path of the branch. Format: projects/{project_id}/branches/{branch_id} - UPDATE_MASK: The list of fields to update. If unspecified, all fields will be updated - when possible.` + UPDATE_MASK: The list of fields to update.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -3938,8 +3877,7 @@ func newUpdateDataApi() *cobra.Command { Arguments: NAME: Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api - UPDATE_MASK: The list of fields to update. If unspecified, all fields will be updated - when possible.` + UPDATE_MASK: The list of fields to update.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -4055,10 +3993,8 @@ func newUpdateDatabase() *cobra.Command { // TODO: complex arg: status cmd.Use = "update-database NAME UPDATE_MASK" - cmd.Short = `*Beta* Update a Database.` - cmd.Long = `This command is in Beta and may change without notice. - -Update a Database. + cmd.Short = `Update a Database.` + cmd.Long = `Update a Database. This is a long-running operation. By default, the command waits for the operation to complete. Use --no-wait to return immediately with the raw @@ -4068,12 +4004,11 @@ Update a Database. Arguments: NAME: The resource name of the database. Format: projects/{project_id}/branches/{branch_id}/databases/{database_id} - UPDATE_MASK: The list of fields to update. If unspecified, all fields will be updated - when possible.` + UPDATE_MASK: The list of fields to update.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -4182,10 +4117,8 @@ func newUpdateEndpoint() *cobra.Command { // TODO: complex arg: status cmd.Use = "update-endpoint NAME UPDATE_MASK" - cmd.Short = `*Beta* Update an Endpoint.` - cmd.Long = `This command is in Beta and may change without notice. - -Update an Endpoint. + cmd.Short = `Update an Endpoint.` + cmd.Long = `Update an Endpoint. Updates the specified compute endpoint. You can update autoscaling limits, suspend timeout, or enable/disable the compute endpoint. @@ -4198,12 +4131,11 @@ Update an Endpoint. Arguments: NAME: Output only. The full resource path of the endpoint. Format: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} - UPDATE_MASK: The list of fields to update. If unspecified, all fields will be updated - when possible.` + UPDATE_MASK: The list of fields to update.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -4314,10 +4246,8 @@ func newUpdateProject() *cobra.Command { // TODO: complex arg: status cmd.Use = "update-project NAME UPDATE_MASK" - cmd.Short = `*Beta* Update a Project.` - cmd.Long = `This command is in Beta and may change without notice. - -Update a Project. + cmd.Short = `Update a Project.` + cmd.Long = `Update a Project. Updates the specified database project. @@ -4329,12 +4259,11 @@ Update a Project. Arguments: NAME: Output only. The full resource path of the project. Format: projects/{project_id} - UPDATE_MASK: The list of fields to update. If unspecified, all fields will be updated - when possible.` + UPDATE_MASK: The list of fields to update.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -4443,10 +4372,8 @@ func newUpdateRole() *cobra.Command { // TODO: complex arg: status cmd.Use = "update-role NAME UPDATE_MASK" - cmd.Short = `*Beta* Update a Postgres Role for a Branch.` - cmd.Long = `This command is in Beta and may change without notice. - -Update a Postgres Role for a Branch. + cmd.Short = `Update a Postgres Role for a Branch.` + cmd.Long = `Update a Postgres Role for a Branch. Update a role for a branch. @@ -4458,12 +4385,11 @@ Update a Postgres Role for a Branch. Arguments: NAME: Output only. The full resource path of the role. Format: projects/{project_id}/branches/{branch_id}/roles/{role_id} - UPDATE_MASK: The list of fields to update in Postgres Role. If unspecified, all fields - will be updated when possible.` + UPDATE_MASK: The list of fields to update.` cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) diff --git a/cmd/workspace/repos/repos.go b/cmd/workspace/repos/repos.go index 2c6877823ea..ba5d95363fe 100644 --- a/cmd/workspace/repos/repos.go +++ b/cmd/workspace/repos/repos.go @@ -94,8 +94,7 @@ func newCreate() *cobra.Command { are gitHub, bitbucketCloud, gitLab, azureDevOpsServices (Azure DevOps Services, including Microsoft Entra ID authentication), gitHubEnterprise, bitbucketServer (Bitbucket Data Center), - gitLabEnterpriseEdition (GitLab Self-Managed), and awsCodeCommit - (deprecated by AWS, not accepting new customers).` + gitLabEnterpriseEdition (GitLab Self-Managed), and awsCodeCommit.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" diff --git a/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go b/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go index 393f70bc923..992a27e35d7 100644 --- a/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go +++ b/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go @@ -37,15 +37,42 @@ These APIs are used to manage identities and the workspace access of these cmd.Annotations["launch_stage_display"] = "Beta" // Add methods + cmd.AddCommand(newCreateDirectGroupMemberProxy()) + cmd.AddCommand(newCreateGroupProxy()) + cmd.AddCommand(newCreateServicePrincipalProxy()) + cmd.AddCommand(newCreateUserProxy()) cmd.AddCommand(newCreateWorkspaceAssignmentDetailProxy()) + cmd.AddCommand(newCreateWorkspaceAssignmentProxy()) + cmd.AddCommand(newDeleteDirectGroupMemberProxy()) + cmd.AddCommand(newDeleteGroupProxy()) + cmd.AddCommand(newDeleteServicePrincipalProxy()) + cmd.AddCommand(newDeleteUserProxy()) cmd.AddCommand(newDeleteWorkspaceAssignmentDetailProxy()) + cmd.AddCommand(newDeleteWorkspaceAssignmentProxy()) + cmd.AddCommand(newGetDirectGroupMemberProxy()) + cmd.AddCommand(newGetGroupProxy()) + cmd.AddCommand(newGetServicePrincipalProxy()) + cmd.AddCommand(newGetUserProxy()) cmd.AddCommand(newGetWorkspaceAccessDetailLocal()) cmd.AddCommand(newGetWorkspaceAssignmentDetailProxy()) + cmd.AddCommand(newGetWorkspaceAssignmentProxy()) + cmd.AddCommand(newGetWorkspaceIdentityDetail()) + cmd.AddCommand(newListDirectGroupMembersProxy()) + cmd.AddCommand(newListGroupsProxy()) + cmd.AddCommand(newListServicePrincipalsProxy()) + cmd.AddCommand(newListTransitiveParentGroupsProxy()) + cmd.AddCommand(newListUsersProxy()) cmd.AddCommand(newListWorkspaceAssignmentDetailsProxy()) + cmd.AddCommand(newListWorkspaceAssignmentsProxy()) cmd.AddCommand(newResolveGroupProxy()) cmd.AddCommand(newResolveServicePrincipalProxy()) cmd.AddCommand(newResolveUserProxy()) + cmd.AddCommand(newUpdateGroupProxy()) + cmd.AddCommand(newUpdateServicePrincipalProxy()) + cmd.AddCommand(newUpdateUserProxy()) cmd.AddCommand(newUpdateWorkspaceAssignmentDetailProxy()) + cmd.AddCommand(newUpdateWorkspaceAssignmentProxy()) + cmd.AddCommand(newUpdateWorkspaceIdentityDetail()) // Apply optional overrides to this command. for _, fn := range cmdOverrides { @@ -55,39 +82,33 @@ These APIs are used to manage identities and the workspace access of these return cmd } -// start create-workspace-assignment-detail-proxy command +// start create-direct-group-member-proxy 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 createWorkspaceAssignmentDetailProxyOverrides []func( +var createDirectGroupMemberProxyOverrides []func( *cobra.Command, - *iamv2.CreateWorkspaceAssignmentDetailProxyRequest, + *iamv2.CreateDirectGroupMemberProxyRequest, ) -func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { +func newCreateDirectGroupMemberProxy() *cobra.Command { cmd := &cobra.Command{} - var createWorkspaceAssignmentDetailProxyReq iamv2.CreateWorkspaceAssignmentDetailProxyRequest - createWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail = iamv2.WorkspaceAssignmentDetail{} - var createWorkspaceAssignmentDetailProxyJson flags.JsonFlag - - cmd.Flags().Var(&createWorkspaceAssignmentDetailProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + var createDirectGroupMemberProxyReq iamv2.CreateDirectGroupMemberProxyRequest + createDirectGroupMemberProxyReq.DirectGroupMember = iamv2.DirectGroupMember{} + var createDirectGroupMemberProxyJson flags.JsonFlag - // TODO: array: effective_entitlements - // TODO: array: entitlements + cmd.Flags().Var(&createDirectGroupMemberProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "create-workspace-assignment-detail-proxy PRINCIPAL_ID" - cmd.Short = `Create a workspace assignment detail for a workspace.` - cmd.Long = `Create a workspace assignment detail for a workspace. + cmd.Use = "create-direct-group-member-proxy GROUP_ID PRINCIPAL_ID" + cmd.Short = `Create a direct group membership.` + cmd.Long = `Create a direct group membership. - Creates a workspace assignment detail for a principal in the calling - workspace. Entitlements are granted one at a time rather than atomically. If - the request fails partway through, the principal stays assigned to the - workspace with only some of the requested entitlements. Get the assignment - detail afterwards to confirm which entitlements were granted. + Creates a group membership (assigns a principal to a group). Arguments: - PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + GROUP_ID: Required. Internal ID of the group in Databricks. + PRINCIPAL_ID: Internal ID of the principal in Databricks.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -98,13 +119,13 @@ func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(1)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'principal_id' in your JSON input") + return errors.New("when --json flag is specified, provide only GROUP_ID as positional arguments. Provide 'principal_id' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(2) return check(cmd, args) } @@ -114,7 +135,7 @@ func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { w := cmdctx.WorkspaceClient(ctx) if cmd.Flags().Changed("json") { - diags := createWorkspaceAssignmentDetailProxyJson.Unmarshal(&createWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail) + diags := createDirectGroupMemberProxyJson.Unmarshal(&createDirectGroupMemberProxyReq.DirectGroupMember) if diags.HasError() { return diags.Error() } @@ -125,15 +146,20 @@ func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { } } } + _, err = fmt.Sscan(args[0], &createDirectGroupMemberProxyReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + if !cmd.Flags().Changed("json") { - _, err = fmt.Sscan(args[0], &createWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail.PrincipalId) + _, err = fmt.Sscan(args[1], &createDirectGroupMemberProxyReq.DirectGroupMember.PrincipalId) if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) } } - response, err := w.WorkspaceIamV2.CreateWorkspaceAssignmentDetailProxy(ctx, createWorkspaceAssignmentDetailProxyReq) + response, err := w.WorkspaceIamV2.CreateDirectGroupMemberProxy(ctx, createDirectGroupMemberProxyReq) if err != nil { return err } @@ -146,40 +172,47 @@ func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range createWorkspaceAssignmentDetailProxyOverrides { - fn(cmd, &createWorkspaceAssignmentDetailProxyReq) + for _, fn := range createDirectGroupMemberProxyOverrides { + fn(cmd, &createDirectGroupMemberProxyReq) } return cmd } -// start delete-workspace-assignment-detail-proxy command +// start create-group-proxy 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 deleteWorkspaceAssignmentDetailProxyOverrides []func( +var createGroupProxyOverrides []func( *cobra.Command, - *iamv2.DeleteWorkspaceAssignmentDetailProxyRequest, + *iamv2.CreateGroupProxyRequest, ) -func newDeleteWorkspaceAssignmentDetailProxy() *cobra.Command { +func newCreateGroupProxy() *cobra.Command { cmd := &cobra.Command{} - var deleteWorkspaceAssignmentDetailProxyReq iamv2.DeleteWorkspaceAssignmentDetailProxyRequest + var createGroupProxyReq iamv2.CreateGroupProxyRequest + createGroupProxyReq.Group = iamv2.Group{} + var createGroupProxyJson flags.JsonFlag - cmd.Use = "delete-workspace-assignment-detail-proxy PRINCIPAL_ID" - cmd.Short = `Delete a workspace assignment detail for a workspace.` - cmd.Long = `Delete a workspace assignment detail for a workspace. + cmd.Flags().Var(&createGroupProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - Deletes a workspace assignment detail for a principal in the calling - workspace, revoking all of its entitlements. Entitlements are revoked one at a - time rather than atomically. If the request fails partway through, the - principal stays assigned with some of its original entitlements. Retrying is - safe. + cmd.Flags().StringVar(&createGroupProxyReq.Group.ExternalId, "external-id", createGroupProxyReq.Group.ExternalId, `ExternalId of the group in the customer's IdP.`) + cmd.Flags().StringVar(&createGroupProxyReq.Group.GroupName, "group-name", createGroupProxyReq.Group.GroupName, `Display name of the group.`) - Arguments: - PRINCIPAL_ID: Required. ID of the principal in Databricks to delete workspace assignment - for.` + cmd.Use = "create-group-proxy" + cmd.Short = `Create a group in the account.` + cmd.Long = `Create a group in the account. + + Creates a local group in the Databricks account that parents the calling + workspace and returns the created group. A local group is one that is not + synced from the customer's identity provider, and can be created whether or + not Account Identity Management (AIM) is enabled. + + When AIM is enabled, supplying an external ID returns an error. To provision + the identity from your identity provider, resolve it by its external ID with + ResolveGroup; to read an existing external identity, use the ExternalGroup + resource.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -189,7 +222,7 @@ func newDeleteWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { - check := root.ExactArgs(1) + check := root.ExactArgs(0) return check(cmd, args) } @@ -198,16 +231,25 @@ func newDeleteWorkspaceAssignmentDetailProxy() *cobra.Command { ctx := cmd.Context() w := cmdctx.WorkspaceClient(ctx) - _, err = fmt.Sscan(args[0], &deleteWorkspaceAssignmentDetailProxyReq.PrincipalId) - if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + if cmd.Flags().Changed("json") { + diags := createGroupProxyJson.Unmarshal(&createGroupProxyReq.Group) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } } - err = w.WorkspaceIamV2.DeleteWorkspaceAssignmentDetailProxy(ctx, deleteWorkspaceAssignmentDetailProxyReq) + response, err := w.WorkspaceIamV2.CreateGroupProxy(ctx, createGroupProxyReq) if err != nil { return err } - return nil + + return cmdio.Render(ctx, response) } // Disable completions since they are not applicable. @@ -215,52 +257,68 @@ func newDeleteWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range deleteWorkspaceAssignmentDetailProxyOverrides { - fn(cmd, &deleteWorkspaceAssignmentDetailProxyReq) + for _, fn := range createGroupProxyOverrides { + fn(cmd, &createGroupProxyReq) } return cmd } -// start get-workspace-access-detail-local command +// start create-service-principal-proxy 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 getWorkspaceAccessDetailLocalOverrides []func( +var createServicePrincipalProxyOverrides []func( *cobra.Command, - *iamv2.GetWorkspaceAccessDetailLocalRequest, + *iamv2.CreateServicePrincipalProxyRequest, ) -func newGetWorkspaceAccessDetailLocal() *cobra.Command { +func newCreateServicePrincipalProxy() *cobra.Command { cmd := &cobra.Command{} - var getWorkspaceAccessDetailLocalReq iamv2.GetWorkspaceAccessDetailLocalRequest + var createServicePrincipalProxyReq iamv2.CreateServicePrincipalProxyRequest + createServicePrincipalProxyReq.ServicePrincipal = iamv2.ServicePrincipal{} + var createServicePrincipalProxyJson flags.JsonFlag - cmd.Flags().Var(&getWorkspaceAccessDetailLocalReq.View, "view", `Controls what fields are returned. Supported values: [BASIC, FULL]`) + cmd.Flags().Var(&createServicePrincipalProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "get-workspace-access-detail-local PRINCIPAL_ID" - cmd.Short = `*Beta* Get workspace access details for a principal.` - cmd.Long = `This command is in Beta and may change without notice. + cmd.Flags().StringVar(&createServicePrincipalProxyReq.ServicePrincipal.ExternalId, "external-id", createServicePrincipalProxyReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) -Get workspace access details for a principal. + cmd.Use = "create-service-principal-proxy DISPLAY_NAME ACCOUNT_SP_STATUS" + cmd.Short = `Create a service principal in the account.` + cmd.Long = `Create a service principal in the account. - Returns the access details for a principal in the current workspace. Allows - for checking access details for any provisioned principal (user, service - principal, or group) in the current workspace. * Provisioned principal here - refers to one that has been synced into Databricks from the customer's IdP or - added explicitly to Databricks via SCIM/UI. Allows for passing in a "view" - parameter to control what fields are returned (BASIC by default or FULL). + Creates a local service principal in the Databricks account that parents the + calling workspace and returns the created service principal. A local service + principal is one that is not synced from the customer's identity provider, and + can be created whether or not Account Identity Management (AIM) is enabled. + + When AIM is enabled, supplying an external ID returns an error. To provision + the identity from your identity provider, resolve it by its external ID with + ResolveServicePrincipal; to read an existing external identity, use the + ExternalServicePrincipal resource. Arguments: - PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the - access details are being requested.` + DISPLAY_NAME: Display name of the service principal. + ACCOUNT_SP_STATUS: The activity status of a service principal in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { - check := root.ExactArgs(1) + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'display_name', 'account_sp_status' in your JSON input") + } + return nil + } + check := root.ExactArgs(2) return check(cmd, args) } @@ -269,12 +327,144 @@ Get workspace access details for a principal. ctx := cmd.Context() w := cmdctx.WorkspaceClient(ctx) - _, err = fmt.Sscan(args[0], &getWorkspaceAccessDetailLocalReq.PrincipalId) + if cmd.Flags().Changed("json") { + diags := createServicePrincipalProxyJson.Unmarshal(&createServicePrincipalProxyReq.ServicePrincipal) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + createServicePrincipalProxyReq.ServicePrincipal.DisplayName = args[0] + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[1], &createServicePrincipalProxyReq.ServicePrincipal.AccountSpStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_SP_STATUS: %s", args[1]) + } + + } + + response, err := w.WorkspaceIamV2.CreateServicePrincipalProxy(ctx, createServicePrincipalProxyReq) if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + return err } - response, err := w.WorkspaceIamV2.GetWorkspaceAccessDetailLocal(ctx, getWorkspaceAccessDetailLocalReq) + 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 createServicePrincipalProxyOverrides { + fn(cmd, &createServicePrincipalProxyReq) + } + + return cmd +} + +// start create-user-proxy 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 createUserProxyOverrides []func( + *cobra.Command, + *iamv2.CreateUserProxyRequest, +) + +func newCreateUserProxy() *cobra.Command { + cmd := &cobra.Command{} + + var createUserProxyReq iamv2.CreateUserProxyRequest + createUserProxyReq.User = iamv2.User{} + var createUserProxyJson flags.JsonFlag + + cmd.Flags().Var(&createUserProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Flags().StringVar(&createUserProxyReq.User.ExternalId, "external-id", createUserProxyReq.User.ExternalId, `ExternalId of the user in the customer's IdP.`) + + cmd.Use = "create-user-proxy USERNAME FULL_NAME ACCOUNT_USER_STATUS" + cmd.Short = `Create a user in the account.` + cmd.Long = `Create a user in the account. + + Creates a local user in the Databricks account that parents the calling + workspace and returns the created user. A local user is one that is not synced + from the customer's identity provider, and can be created whether or not + Account Identity Management (AIM) is enabled. + + When AIM is enabled, supplying an external ID returns an error. To provision + the identity from your identity provider, resolve it by its external ID with + ResolveUser; to read an existing external identity, use the ExternalUser + resource. + + Arguments: + USERNAME: Username/email of the user. + FULL_NAME: + ACCOUNT_USER_STATUS: The activity status of a user in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'username', 'full_name', 'account_user_status' in your JSON input") + } + return nil + } + check := root.ExactArgs(3) + 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 := createUserProxyJson.Unmarshal(&createUserProxyReq.User) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + createUserProxyReq.User.Username = args[0] + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[1], &createUserProxyReq.User.FullName) + if err != nil { + return fmt.Errorf("invalid FULL_NAME: %s", args[1]) + } + + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[2], &createUserProxyReq.User.AccountUserStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_USER_STATUS: %s", args[2]) + } + + } + + response, err := w.WorkspaceIamV2.CreateUserProxy(ctx, createUserProxyReq) if err != nil { return err } @@ -287,36 +477,46 @@ Get workspace access details for a principal. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range getWorkspaceAccessDetailLocalOverrides { - fn(cmd, &getWorkspaceAccessDetailLocalReq) + for _, fn := range createUserProxyOverrides { + fn(cmd, &createUserProxyReq) } return cmd } -// start get-workspace-assignment-detail-proxy command +// start create-workspace-assignment-detail-proxy 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 getWorkspaceAssignmentDetailProxyOverrides []func( +var createWorkspaceAssignmentDetailProxyOverrides []func( *cobra.Command, - *iamv2.GetWorkspaceAssignmentDetailProxyRequest, + *iamv2.CreateWorkspaceAssignmentDetailProxyRequest, ) -func newGetWorkspaceAssignmentDetailProxy() *cobra.Command { +func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { cmd := &cobra.Command{} - var getWorkspaceAssignmentDetailProxyReq iamv2.GetWorkspaceAssignmentDetailProxyRequest + var createWorkspaceAssignmentDetailProxyReq iamv2.CreateWorkspaceAssignmentDetailProxyRequest + createWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail = iamv2.WorkspaceAssignmentDetail{} + var createWorkspaceAssignmentDetailProxyJson flags.JsonFlag - cmd.Use = "get-workspace-assignment-detail-proxy PRINCIPAL_ID" - cmd.Short = `Get workspace assignment details for a principal.` - cmd.Long = `Get workspace assignment details for a principal. + cmd.Flags().Var(&createWorkspaceAssignmentDetailProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - Returns the assignment details for a principal in the calling workspace. + // TODO: array: effective_entitlements + // TODO: array: entitlements + + cmd.Use = "create-workspace-assignment-detail-proxy PRINCIPAL_ID" + cmd.Short = `Create a workspace assignment detail for a workspace.` + cmd.Long = `Create a workspace assignment detail for a workspace. + + Creates a workspace assignment detail for a principal in the calling + workspace. Entitlements are granted one at a time rather than atomically. If + the request fails partway through, the principal stays assigned to the + workspace with only some of the requested entitlements. Get the assignment + detail afterwards to confirm which entitlements were granted. Arguments: - PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the - assignment details are being requested.` + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -326,6 +526,13 @@ func newGetWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'principal_id' in your JSON input") + } + return nil + } check := root.ExactArgs(1) return check(cmd, args) } @@ -335,12 +542,1931 @@ func newGetWorkspaceAssignmentDetailProxy() *cobra.Command { ctx := cmd.Context() w := cmdctx.WorkspaceClient(ctx) - _, err = fmt.Sscan(args[0], &getWorkspaceAssignmentDetailProxyReq.PrincipalId) - if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + if cmd.Flags().Changed("json") { + diags := createWorkspaceAssignmentDetailProxyJson.Unmarshal(&createWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[0], &createWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + } + + response, err := w.WorkspaceIamV2.CreateWorkspaceAssignmentDetailProxy(ctx, createWorkspaceAssignmentDetailProxyReq) + 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 createWorkspaceAssignmentDetailProxyOverrides { + fn(cmd, &createWorkspaceAssignmentDetailProxyReq) + } + + return cmd +} + +// start create-workspace-assignment-proxy 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 createWorkspaceAssignmentProxyOverrides []func( + *cobra.Command, + *iamv2.CreateWorkspaceAssignmentProxyRequest, +) + +func newCreateWorkspaceAssignmentProxy() *cobra.Command { + cmd := &cobra.Command{} + + var createWorkspaceAssignmentProxyReq iamv2.CreateWorkspaceAssignmentProxyRequest + createWorkspaceAssignmentProxyReq.WorkspaceAssignment = iamv2.WorkspaceAssignment{} + var createWorkspaceAssignmentProxyJson flags.JsonFlag + + cmd.Flags().Var(&createWorkspaceAssignmentProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + // TODO: array: effective_entitlements + // TODO: array: entitlements + + cmd.Use = "create-workspace-assignment-proxy PRINCIPAL_ID" + cmd.Short = `Create a workspace assignment for a workspace.` + cmd.Long = `Create a workspace assignment for a workspace. + + Creates a workspace assignment for a principal in the calling workspace. + Entitlements are granted one at a time rather than atomically. If the request + fails partway through, the principal stays assigned to the workspace with only + some of the requested entitlements. Get the assignment afterwards to confirm + which entitlements were granted. + + Arguments: + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'principal_id' in your JSON input") + } + return nil + } + 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 := createWorkspaceAssignmentProxyJson.Unmarshal(&createWorkspaceAssignmentProxyReq.WorkspaceAssignment) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[0], &createWorkspaceAssignmentProxyReq.WorkspaceAssignment.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + } + + response, err := w.WorkspaceIamV2.CreateWorkspaceAssignmentProxy(ctx, createWorkspaceAssignmentProxyReq) + 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 createWorkspaceAssignmentProxyOverrides { + fn(cmd, &createWorkspaceAssignmentProxyReq) + } + + return cmd +} + +// start delete-direct-group-member-proxy 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 deleteDirectGroupMemberProxyOverrides []func( + *cobra.Command, + *iamv2.DeleteDirectGroupMemberProxyRequest, +) + +func newDeleteDirectGroupMemberProxy() *cobra.Command { + cmd := &cobra.Command{} + + var deleteDirectGroupMemberProxyReq iamv2.DeleteDirectGroupMemberProxyRequest + + cmd.Use = "delete-direct-group-member-proxy GROUP_ID PRINCIPAL_ID" + cmd.Short = `Delete a direct group membership.` + cmd.Long = `Delete a direct group membership. + + Deletes a group membership (unassigns a principal from a group). + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks. + PRINCIPAL_ID: Required. Internal ID of the principal to be unassigned from the group.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + 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) + + _, err = fmt.Sscan(args[0], &deleteDirectGroupMemberProxyReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &deleteDirectGroupMemberProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + err = w.WorkspaceIamV2.DeleteDirectGroupMemberProxy(ctx, deleteDirectGroupMemberProxyReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteDirectGroupMemberProxyOverrides { + fn(cmd, &deleteDirectGroupMemberProxyReq) + } + + return cmd +} + +// start delete-group-proxy 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 deleteGroupProxyOverrides []func( + *cobra.Command, + *iamv2.DeleteGroupProxyRequest, +) + +func newDeleteGroupProxy() *cobra.Command { + cmd := &cobra.Command{} + + var deleteGroupProxyReq iamv2.DeleteGroupProxyRequest + + cmd.Use = "delete-group-proxy GROUP_ID" + cmd.Short = `Delete a group in the account.` + cmd.Long = `Delete a group in the account. + + Deletes a group by its internal ID from the Databricks account that parents + the calling workspace. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks.` + + // 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.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) + + deleteGroupProxyReq.GroupId = args[0] + + err = w.WorkspaceIamV2.DeleteGroupProxy(ctx, deleteGroupProxyReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteGroupProxyOverrides { + fn(cmd, &deleteGroupProxyReq) + } + + return cmd +} + +// start delete-service-principal-proxy 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 deleteServicePrincipalProxyOverrides []func( + *cobra.Command, + *iamv2.DeleteServicePrincipalProxyRequest, +) + +func newDeleteServicePrincipalProxy() *cobra.Command { + cmd := &cobra.Command{} + + var deleteServicePrincipalProxyReq iamv2.DeleteServicePrincipalProxyRequest + + cmd.Use = "delete-service-principal-proxy SERVICE_PRINCIPAL_ID" + cmd.Short = `Delete a service principal in the account.` + cmd.Long = `Delete a service principal in the account. + + Deletes a service principal by its internal ID from the Databricks account + that parents the calling workspace. + + Arguments: + SERVICE_PRINCIPAL_ID: Required. Internal ID of the service principal in Databricks.` + + // 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.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) + + deleteServicePrincipalProxyReq.ServicePrincipalId = args[0] + + err = w.WorkspaceIamV2.DeleteServicePrincipalProxy(ctx, deleteServicePrincipalProxyReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteServicePrincipalProxyOverrides { + fn(cmd, &deleteServicePrincipalProxyReq) + } + + return cmd +} + +// start delete-user-proxy 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 deleteUserProxyOverrides []func( + *cobra.Command, + *iamv2.DeleteUserProxyRequest, +) + +func newDeleteUserProxy() *cobra.Command { + cmd := &cobra.Command{} + + var deleteUserProxyReq iamv2.DeleteUserProxyRequest + + cmd.Use = "delete-user-proxy USER_ID" + cmd.Short = `Delete a user in the account.` + cmd.Long = `Delete a user in the account. + + Deletes a user by its internal ID from the Databricks account that parents the + calling workspace. + + Arguments: + USER_ID: Required. Internal ID of the user in Databricks.` + + // 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.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) + + deleteUserProxyReq.UserId = args[0] + + err = w.WorkspaceIamV2.DeleteUserProxy(ctx, deleteUserProxyReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteUserProxyOverrides { + fn(cmd, &deleteUserProxyReq) + } + + return cmd +} + +// start delete-workspace-assignment-detail-proxy 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 deleteWorkspaceAssignmentDetailProxyOverrides []func( + *cobra.Command, + *iamv2.DeleteWorkspaceAssignmentDetailProxyRequest, +) + +func newDeleteWorkspaceAssignmentDetailProxy() *cobra.Command { + cmd := &cobra.Command{} + + var deleteWorkspaceAssignmentDetailProxyReq iamv2.DeleteWorkspaceAssignmentDetailProxyRequest + + cmd.Use = "delete-workspace-assignment-detail-proxy PRINCIPAL_ID" + cmd.Short = `Delete a workspace assignment detail for a workspace.` + cmd.Long = `Delete a workspace assignment detail for a workspace. + + Deletes a workspace assignment detail for a principal in the calling + workspace, revoking all of its entitlements. Entitlements are revoked one at a + time rather than atomically. If the request fails partway through, the + principal stays assigned with some of its original entitlements. Retrying is + safe. + + Arguments: + PRINCIPAL_ID: Required. ID of the principal in Databricks to delete workspace assignment + for.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &deleteWorkspaceAssignmentDetailProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + err = w.WorkspaceIamV2.DeleteWorkspaceAssignmentDetailProxy(ctx, deleteWorkspaceAssignmentDetailProxyReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteWorkspaceAssignmentDetailProxyOverrides { + fn(cmd, &deleteWorkspaceAssignmentDetailProxyReq) + } + + return cmd +} + +// start delete-workspace-assignment-proxy 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 deleteWorkspaceAssignmentProxyOverrides []func( + *cobra.Command, + *iamv2.DeleteWorkspaceAssignmentProxyRequest, +) + +func newDeleteWorkspaceAssignmentProxy() *cobra.Command { + cmd := &cobra.Command{} + + var deleteWorkspaceAssignmentProxyReq iamv2.DeleteWorkspaceAssignmentProxyRequest + + cmd.Use = "delete-workspace-assignment-proxy PRINCIPAL_ID" + cmd.Short = `Delete a workspace assignment for a workspace.` + cmd.Long = `Delete a workspace assignment for a workspace. + + Deletes a workspace assignment for a principal in the calling workspace, + revoking all of its entitlements. Entitlements are revoked one at a time + rather than atomically. If the request fails partway through, the principal + stays assigned with some of its original entitlements. Retrying is safe. + + Arguments: + PRINCIPAL_ID: Required. ID of the principal in Databricks to delete workspace assignment + for.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &deleteWorkspaceAssignmentProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + err = w.WorkspaceIamV2.DeleteWorkspaceAssignmentProxy(ctx, deleteWorkspaceAssignmentProxyReq) + if err != nil { + return err + } + return nil + } + + // 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 deleteWorkspaceAssignmentProxyOverrides { + fn(cmd, &deleteWorkspaceAssignmentProxyReq) + } + + return cmd +} + +// start get-direct-group-member-proxy 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 getDirectGroupMemberProxyOverrides []func( + *cobra.Command, + *iamv2.GetDirectGroupMemberProxyRequest, +) + +func newGetDirectGroupMemberProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getDirectGroupMemberProxyReq iamv2.GetDirectGroupMemberProxyRequest + + cmd.Use = "get-direct-group-member-proxy GROUP_ID PRINCIPAL_ID" + cmd.Short = `Get a direct group member.` + cmd.Long = `Get a direct group member. + + Gets a provisioned direct member of a group. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks. + PRINCIPAL_ID: Required. Internal ID of the principal belonging to the group in + Databricks.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + 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) + + _, err = fmt.Sscan(args[0], &getDirectGroupMemberProxyReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + + _, err = fmt.Sscan(args[1], &getDirectGroupMemberProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[1]) + } + + response, err := w.WorkspaceIamV2.GetDirectGroupMemberProxy(ctx, getDirectGroupMemberProxyReq) + 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 getDirectGroupMemberProxyOverrides { + fn(cmd, &getDirectGroupMemberProxyReq) + } + + return cmd +} + +// start get-group-proxy 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 getGroupProxyOverrides []func( + *cobra.Command, + *iamv2.GetGroupProxyRequest, +) + +func newGetGroupProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getGroupProxyReq iamv2.GetGroupProxyRequest + + cmd.Use = "get-group-proxy GROUP_ID" + cmd.Short = `Get a group in the account.` + cmd.Long = `Get a group in the account. + + Fetches a group by its internal ID from the Databricks account that parents + the calling workspace. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks.` + + // 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.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) + + getGroupProxyReq.GroupId = args[0] + + response, err := w.WorkspaceIamV2.GetGroupProxy(ctx, getGroupProxyReq) + 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 getGroupProxyOverrides { + fn(cmd, &getGroupProxyReq) + } + + return cmd +} + +// start get-service-principal-proxy 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 getServicePrincipalProxyOverrides []func( + *cobra.Command, + *iamv2.GetServicePrincipalProxyRequest, +) + +func newGetServicePrincipalProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getServicePrincipalProxyReq iamv2.GetServicePrincipalProxyRequest + + cmd.Use = "get-service-principal-proxy SERVICE_PRINCIPAL_ID" + cmd.Short = `Get a service principal in the account.` + cmd.Long = `Get a service principal in the account. + + Fetches a service principal by its internal ID from the Databricks account + that parents the calling workspace. + + Arguments: + SERVICE_PRINCIPAL_ID: Required. Internal ID of the service principal in Databricks.` + + // 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.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) + + getServicePrincipalProxyReq.ServicePrincipalId = args[0] + + response, err := w.WorkspaceIamV2.GetServicePrincipalProxy(ctx, getServicePrincipalProxyReq) + 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 getServicePrincipalProxyOverrides { + fn(cmd, &getServicePrincipalProxyReq) + } + + return cmd +} + +// start get-user-proxy 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 getUserProxyOverrides []func( + *cobra.Command, + *iamv2.GetUserProxyRequest, +) + +func newGetUserProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getUserProxyReq iamv2.GetUserProxyRequest + + cmd.Use = "get-user-proxy USER_ID" + cmd.Short = `Get a user in the account.` + cmd.Long = `Get a user in the account. + + Fetches a user by its internal ID from the Databricks account that parents the + calling workspace. + + Arguments: + USER_ID: Required. Internal ID of the user in Databricks.` + + // 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.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) + + getUserProxyReq.UserId = args[0] + + response, err := w.WorkspaceIamV2.GetUserProxy(ctx, getUserProxyReq) + 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 getUserProxyOverrides { + fn(cmd, &getUserProxyReq) + } + + return cmd +} + +// start get-workspace-access-detail-local 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 getWorkspaceAccessDetailLocalOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceAccessDetailLocalRequest, +) + +func newGetWorkspaceAccessDetailLocal() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceAccessDetailLocalReq iamv2.GetWorkspaceAccessDetailLocalRequest + + cmd.Flags().Var(&getWorkspaceAccessDetailLocalReq.View, "view", `Controls what fields are returned. Supported values: [BASIC, FULL]`) + + cmd.Use = "get-workspace-access-detail-local PRINCIPAL_ID" + cmd.Short = `*Beta* Get workspace access details for a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +Get workspace access details for a principal. + + Returns the access details for a principal in the current workspace. Allows + for checking access details for any provisioned principal (user, service + principal, or group) in the current workspace. * Provisioned principal here + refers to one that has been synced into Databricks from the customer's IdP or + added explicitly to Databricks via SCIM/UI. Allows for passing in a "view" + parameter to control what fields are returned (BASIC by default or FULL). + + Arguments: + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + access details are being requested.` + + 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) + + _, err = fmt.Sscan(args[0], &getWorkspaceAccessDetailLocalReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + response, err := w.WorkspaceIamV2.GetWorkspaceAccessDetailLocal(ctx, getWorkspaceAccessDetailLocalReq) + 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 getWorkspaceAccessDetailLocalOverrides { + fn(cmd, &getWorkspaceAccessDetailLocalReq) + } + + return cmd +} + +// start get-workspace-assignment-detail-proxy 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 getWorkspaceAssignmentDetailProxyOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceAssignmentDetailProxyRequest, +) + +func newGetWorkspaceAssignmentDetailProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceAssignmentDetailProxyReq iamv2.GetWorkspaceAssignmentDetailProxyRequest + + cmd.Use = "get-workspace-assignment-detail-proxy PRINCIPAL_ID" + cmd.Short = `Get workspace assignment details for a principal.` + cmd.Long = `Get workspace assignment details for a principal. + + Returns the assignment details for a principal in the calling workspace. + + Arguments: + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + assignment details are being requested.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &getWorkspaceAssignmentDetailProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + response, err := w.WorkspaceIamV2.GetWorkspaceAssignmentDetailProxy(ctx, getWorkspaceAssignmentDetailProxyReq) + 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 getWorkspaceAssignmentDetailProxyOverrides { + fn(cmd, &getWorkspaceAssignmentDetailProxyReq) + } + + return cmd +} + +// start get-workspace-assignment-proxy 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 getWorkspaceAssignmentProxyOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceAssignmentProxyRequest, +) + +func newGetWorkspaceAssignmentProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceAssignmentProxyReq iamv2.GetWorkspaceAssignmentProxyRequest + + cmd.Use = "get-workspace-assignment-proxy PRINCIPAL_ID" + cmd.Short = `Get a workspace assignment for a principal.` + cmd.Long = `Get a workspace assignment for a principal. + + Returns the assignment for a principal in the calling workspace. + + Arguments: + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + assignment is being requested.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &getWorkspaceAssignmentProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + response, err := w.WorkspaceIamV2.GetWorkspaceAssignmentProxy(ctx, getWorkspaceAssignmentProxyReq) + 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 getWorkspaceAssignmentProxyOverrides { + fn(cmd, &getWorkspaceAssignmentProxyReq) + } + + return cmd +} + +// start get-workspace-identity-detail 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 getWorkspaceIdentityDetailOverrides []func( + *cobra.Command, + *iamv2.GetWorkspaceIdentityDetailRequest, +) + +func newGetWorkspaceIdentityDetail() *cobra.Command { + cmd := &cobra.Command{} + + var getWorkspaceIdentityDetailReq iamv2.GetWorkspaceIdentityDetailRequest + + cmd.Use = "get-workspace-identity-detail PRINCIPAL_ID" + cmd.Short = `Get workspace identity details for a principal.` + cmd.Long = `Get workspace identity details for a principal. + + Returns the identity details for a principal in a workspace. + + Arguments: + PRINCIPAL_ID: Required. The internal ID of the principal (user/sp/group) for which the + identity details are being requested.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &getWorkspaceIdentityDetailReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + response, err := w.WorkspaceIamV2.GetWorkspaceIdentityDetail(ctx, getWorkspaceIdentityDetailReq) + 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 getWorkspaceIdentityDetailOverrides { + fn(cmd, &getWorkspaceIdentityDetailReq) + } + + return cmd +} + +// start list-direct-group-members-proxy 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 listDirectGroupMembersProxyOverrides []func( + *cobra.Command, + *iamv2.ListDirectGroupMembersProxyRequest, +) + +func newListDirectGroupMembersProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listDirectGroupMembersProxyReq iamv2.ListDirectGroupMembersProxyRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listDirectGroupMembersProxyLimit int + + cmd.Flags().IntVar(&listDirectGroupMembersProxyReq.PageSize, "page-size", listDirectGroupMembersProxyReq.PageSize, `The maximum number of members to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listDirectGroupMembersProxyLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listDirectGroupMembersProxyReq.PageToken, "page-token", listDirectGroupMembersProxyReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-direct-group-members-proxy GROUP_ID" + cmd.Short = `List direct group members.` + cmd.Long = `List direct group members. + + Lists provisioned direct members of a group with their membership source + (internal or from identity provider). + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks whose direct members are + being listed.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &listDirectGroupMembersProxyReq.GroupId) + if err != nil { + return fmt.Errorf("invalid GROUP_ID: %s", args[0]) + } + + response := w.WorkspaceIamV2.ListDirectGroupMembersProxy(ctx, listDirectGroupMembersProxyReq) + if listDirectGroupMembersProxyLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listDirectGroupMembersProxyLimit) + } + if listDirectGroupMembersProxyLimit > 0 { + ctx = cmdio.WithLimit(ctx, listDirectGroupMembersProxyLimit) + } + + return cmdio.RenderIterator(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 listDirectGroupMembersProxyOverrides { + fn(cmd, &listDirectGroupMembersProxyReq) + } + + return cmd +} + +// start list-groups-proxy 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 listGroupsProxyOverrides []func( + *cobra.Command, + *iamv2.ListGroupsProxyRequest, +) + +func newListGroupsProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listGroupsProxyReq iamv2.ListGroupsProxyRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listGroupsProxyLimit int + + cmd.Flags().StringVar(&listGroupsProxyReq.Filter, "filter", listGroupsProxyReq.Filter, `Optional.`) + cmd.Flags().IntVar(&listGroupsProxyReq.PageSize, "page-size", listGroupsProxyReq.PageSize, `The maximum number of groups to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listGroupsProxyLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listGroupsProxyReq.PageToken, "page-token", listGroupsProxyReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-groups-proxy" + cmd.Short = `List groups in the account.` + cmd.Long = `List groups in the account. + + Lists the groups in the Databricks account that parents the calling workspace, + returning one page per call. Supports filtering by group name or external 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + 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) + + response := w.WorkspaceIamV2.ListGroupsProxy(ctx, listGroupsProxyReq) + if listGroupsProxyLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listGroupsProxyLimit) + } + if listGroupsProxyLimit > 0 { + ctx = cmdio.WithLimit(ctx, listGroupsProxyLimit) + } + + return cmdio.RenderIterator(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 listGroupsProxyOverrides { + fn(cmd, &listGroupsProxyReq) + } + + return cmd +} + +// start list-service-principals-proxy 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 listServicePrincipalsProxyOverrides []func( + *cobra.Command, + *iamv2.ListServicePrincipalsProxyRequest, +) + +func newListServicePrincipalsProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listServicePrincipalsProxyReq iamv2.ListServicePrincipalsProxyRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listServicePrincipalsProxyLimit int + + cmd.Flags().StringVar(&listServicePrincipalsProxyReq.Filter, "filter", listServicePrincipalsProxyReq.Filter, `Optional.`) + cmd.Flags().IntVar(&listServicePrincipalsProxyReq.PageSize, "page-size", listServicePrincipalsProxyReq.PageSize, `The maximum number of SPs to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listServicePrincipalsProxyLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listServicePrincipalsProxyReq.PageToken, "page-token", listServicePrincipalsProxyReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-service-principals-proxy" + cmd.Short = `List service principals in the account.` + cmd.Long = `List service principals in the account. + + Lists the service principals in the Databricks account that parents the + calling workspace, returning one page per call. Supports filtering by + application ID or external 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + 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) + + response := w.WorkspaceIamV2.ListServicePrincipalsProxy(ctx, listServicePrincipalsProxyReq) + if listServicePrincipalsProxyLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listServicePrincipalsProxyLimit) + } + if listServicePrincipalsProxyLimit > 0 { + ctx = cmdio.WithLimit(ctx, listServicePrincipalsProxyLimit) + } + + return cmdio.RenderIterator(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 listServicePrincipalsProxyOverrides { + fn(cmd, &listServicePrincipalsProxyReq) + } + + return cmd +} + +// start list-transitive-parent-groups-proxy 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 listTransitiveParentGroupsProxyOverrides []func( + *cobra.Command, + *iamv2.ListTransitiveParentGroupsProxyRequest, +) + +func newListTransitiveParentGroupsProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listTransitiveParentGroupsProxyReq iamv2.ListTransitiveParentGroupsProxyRequest + + cmd.Flags().IntVar(&listTransitiveParentGroupsProxyReq.PageSize, "page-size", listTransitiveParentGroupsProxyReq.PageSize, `The maximum number of parent groups to return.`) + cmd.Flags().StringVar(&listTransitiveParentGroupsProxyReq.PageToken, "page-token", listTransitiveParentGroupsProxyReq.PageToken, `A page token, received from a previous ListTransitiveParentGroups call.`) + + cmd.Use = "list-transitive-parent-groups-proxy PRINCIPAL_ID" + cmd.Short = `List all transitive parent groups of a principal.` + cmd.Long = `List all transitive parent groups of a principal. + + Lists all transitive parent groups of a principal. + + Arguments: + PRINCIPAL_ID: Required. Internal ID of the principal in Databricks whose transitive + parent groups are being listed.` + + // 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.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) + + _, err = fmt.Sscan(args[0], &listTransitiveParentGroupsProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + response, err := w.WorkspaceIamV2.ListTransitiveParentGroupsProxy(ctx, listTransitiveParentGroupsProxyReq) + 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 listTransitiveParentGroupsProxyOverrides { + fn(cmd, &listTransitiveParentGroupsProxyReq) + } + + return cmd +} + +// start list-users-proxy 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 listUsersProxyOverrides []func( + *cobra.Command, + *iamv2.ListUsersProxyRequest, +) + +func newListUsersProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listUsersProxyReq iamv2.ListUsersProxyRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listUsersProxyLimit int + + cmd.Flags().StringVar(&listUsersProxyReq.Filter, "filter", listUsersProxyReq.Filter, `Optional.`) + cmd.Flags().IntVar(&listUsersProxyReq.PageSize, "page-size", listUsersProxyReq.PageSize, `The maximum number of users to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listUsersProxyLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listUsersProxyReq.PageToken, "page-token", listUsersProxyReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-users-proxy" + cmd.Short = `List users in the account.` + cmd.Long = `List users in the account. + + Lists the users in the Databricks account that parents the calling workspace, + returning one page per call. Supports filtering by username or external 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + 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) + + response := w.WorkspaceIamV2.ListUsersProxy(ctx, listUsersProxyReq) + if listUsersProxyLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listUsersProxyLimit) + } + if listUsersProxyLimit > 0 { + ctx = cmdio.WithLimit(ctx, listUsersProxyLimit) + } + + return cmdio.RenderIterator(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 listUsersProxyOverrides { + fn(cmd, &listUsersProxyReq) + } + + return cmd +} + +// start list-workspace-assignment-details-proxy 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 listWorkspaceAssignmentDetailsProxyOverrides []func( + *cobra.Command, + *iamv2.ListWorkspaceAssignmentDetailsProxyRequest, +) + +func newListWorkspaceAssignmentDetailsProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listWorkspaceAssignmentDetailsProxyReq iamv2.ListWorkspaceAssignmentDetailsProxyRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listWorkspaceAssignmentDetailsProxyLimit int + + cmd.Flags().IntVar(&listWorkspaceAssignmentDetailsProxyReq.PageSize, "page-size", listWorkspaceAssignmentDetailsProxyReq.PageSize, `The maximum number of workspace assignment details to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listWorkspaceAssignmentDetailsProxyLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listWorkspaceAssignmentDetailsProxyReq.PageToken, "page-token", listWorkspaceAssignmentDetailsProxyReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-workspace-assignment-details-proxy" + cmd.Short = `List workspace assignment details for a workspace.` + cmd.Long = `List workspace assignment details for a workspace. + + Lists workspace assignment details for the calling workspace. The response + omits the per-principal entitlement fields (entitlements and + effective_entitlements). To read the entitlements for a single principal, + get that principal's assignment detail.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + 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) + + response := w.WorkspaceIamV2.ListWorkspaceAssignmentDetailsProxy(ctx, listWorkspaceAssignmentDetailsProxyReq) + if listWorkspaceAssignmentDetailsProxyLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listWorkspaceAssignmentDetailsProxyLimit) + } + if listWorkspaceAssignmentDetailsProxyLimit > 0 { + ctx = cmdio.WithLimit(ctx, listWorkspaceAssignmentDetailsProxyLimit) + } + + return cmdio.RenderIterator(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 listWorkspaceAssignmentDetailsProxyOverrides { + fn(cmd, &listWorkspaceAssignmentDetailsProxyReq) + } + + return cmd +} + +// start list-workspace-assignments-proxy 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 listWorkspaceAssignmentsProxyOverrides []func( + *cobra.Command, + *iamv2.ListWorkspaceAssignmentsProxyRequest, +) + +func newListWorkspaceAssignmentsProxy() *cobra.Command { + cmd := &cobra.Command{} + + var listWorkspaceAssignmentsProxyReq iamv2.ListWorkspaceAssignmentsProxyRequest + // Registered for all paginated methods. Validated at call time in the + // method-call template. Paginated list methods never have Wait or LRO + // branches, so the method-call path is always reached. + var listWorkspaceAssignmentsProxyLimit int + + cmd.Flags().IntVar(&listWorkspaceAssignmentsProxyReq.PageSize, "page-size", listWorkspaceAssignmentsProxyReq.PageSize, `The maximum number of workspace assignments to return.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listWorkspaceAssignmentsProxyLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listWorkspaceAssignmentsProxyReq.PageToken, "page-token", listWorkspaceAssignmentsProxyReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-workspace-assignments-proxy" + cmd.Short = `List workspace assignments for a workspace.` + cmd.Long = `List workspace assignments for a workspace. + + Lists workspace assignments for the calling workspace. The response omits the + per-principal entitlement fields (entitlements and + effective_entitlements). To read the entitlements for a single principal, + get that principal's assignment.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(0) + 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) + + response := w.WorkspaceIamV2.ListWorkspaceAssignmentsProxy(ctx, listWorkspaceAssignmentsProxyReq) + if listWorkspaceAssignmentsProxyLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listWorkspaceAssignmentsProxyLimit) + } + if listWorkspaceAssignmentsProxyLimit > 0 { + ctx = cmdio.WithLimit(ctx, listWorkspaceAssignmentsProxyLimit) + } + + return cmdio.RenderIterator(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 listWorkspaceAssignmentsProxyOverrides { + fn(cmd, &listWorkspaceAssignmentsProxyReq) + } + + return cmd +} + +// start resolve-group-proxy 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 resolveGroupProxyOverrides []func( + *cobra.Command, + *iamv2.ResolveGroupProxyRequest, +) + +func newResolveGroupProxy() *cobra.Command { + cmd := &cobra.Command{} + + var resolveGroupProxyReq iamv2.ResolveGroupProxyRequest + var resolveGroupProxyJson flags.JsonFlag + + cmd.Flags().Var(&resolveGroupProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Use = "resolve-group-proxy EXTERNAL_ID" + cmd.Short = `*Beta* Resolve an external group in the Databricks account.` + cmd.Long = `This command is in Beta and may change without notice. + +Resolve an external group in the Databricks account. + + Resolves a group with the given external ID from the customer's IdP. If the + group does not exist, it will be created in the account. If the customer is + not onboarded onto Automatic Identity Management (AIM), this will return an + error. + + Arguments: + EXTERNAL_ID: Required. The external ID of the group in the customer's IdP.` + + 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 { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + } + return nil + } + 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 := resolveGroupProxyJson.Unmarshal(&resolveGroupProxyReq) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + resolveGroupProxyReq.ExternalId = args[0] + } + + response, err := w.WorkspaceIamV2.ResolveGroupProxy(ctx, resolveGroupProxyReq) + 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 resolveGroupProxyOverrides { + fn(cmd, &resolveGroupProxyReq) + } + + return cmd +} + +// start resolve-service-principal-proxy 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 resolveServicePrincipalProxyOverrides []func( + *cobra.Command, + *iamv2.ResolveServicePrincipalProxyRequest, +) + +func newResolveServicePrincipalProxy() *cobra.Command { + cmd := &cobra.Command{} + + var resolveServicePrincipalProxyReq iamv2.ResolveServicePrincipalProxyRequest + var resolveServicePrincipalProxyJson flags.JsonFlag + + cmd.Flags().Var(&resolveServicePrincipalProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Use = "resolve-service-principal-proxy EXTERNAL_ID" + cmd.Short = `*Beta* Resolve an external service principal in the Databricks account.` + cmd.Long = `This command is in Beta and may change without notice. + +Resolve an external service principal in the Databricks account. + + Resolves a service principal with the given external ID from the customer's + IdP. If the service principal does not exist, it will be created. If the + customer is not onboarded onto Automatic Identity Management (AIM), this will + return an error. + + Arguments: + EXTERNAL_ID: Required. The external ID of the service principal in the customer's IdP.` + + 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 { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + } + return nil + } + 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 := resolveServicePrincipalProxyJson.Unmarshal(&resolveServicePrincipalProxyReq) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + resolveServicePrincipalProxyReq.ExternalId = args[0] + } + + response, err := w.WorkspaceIamV2.ResolveServicePrincipalProxy(ctx, resolveServicePrincipalProxyReq) + 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 resolveServicePrincipalProxyOverrides { + fn(cmd, &resolveServicePrincipalProxyReq) + } + + return cmd +} + +// start resolve-user-proxy 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 resolveUserProxyOverrides []func( + *cobra.Command, + *iamv2.ResolveUserProxyRequest, +) + +func newResolveUserProxy() *cobra.Command { + cmd := &cobra.Command{} + + var resolveUserProxyReq iamv2.ResolveUserProxyRequest + var resolveUserProxyJson flags.JsonFlag + + cmd.Flags().Var(&resolveUserProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Use = "resolve-user-proxy EXTERNAL_ID" + cmd.Short = `*Beta* Resolve an external user in the Databricks account.` + cmd.Long = `This command is in Beta and may change without notice. + +Resolve an external user in the Databricks account. + + Resolves a user with the given external ID from the customer's IdP. If the + user does not exist, it will be created. If the customer is not onboarded onto + Automatic Identity Management (AIM), this will return an error. + + Arguments: + EXTERNAL_ID: Required. The external ID of the user in the customer's IdP.` + + 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 { + if cmd.Flags().Changed("json") { + err := root.ExactArgs(0)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + } + return nil + } + 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 := resolveUserProxyJson.Unmarshal(&resolveUserProxyReq) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + if !cmd.Flags().Changed("json") { + resolveUserProxyReq.ExternalId = args[0] + } + + response, err := w.WorkspaceIamV2.ResolveUserProxy(ctx, resolveUserProxyReq) + 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 resolveUserProxyOverrides { + fn(cmd, &resolveUserProxyReq) + } + + return cmd +} + +// start update-group-proxy 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 updateGroupProxyOverrides []func( + *cobra.Command, + *iamv2.UpdateGroupProxyRequest, +) + +func newUpdateGroupProxy() *cobra.Command { + cmd := &cobra.Command{} + + var updateGroupProxyReq iamv2.UpdateGroupProxyRequest + updateGroupProxyReq.Group = iamv2.Group{} + var updateGroupProxyJson flags.JsonFlag + + cmd.Flags().Var(&updateGroupProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Flags().StringVar(&updateGroupProxyReq.Group.ExternalId, "external-id", updateGroupProxyReq.Group.ExternalId, `ExternalId of the group in the customer's IdP.`) + cmd.Flags().StringVar(&updateGroupProxyReq.Group.GroupName, "group-name", updateGroupProxyReq.Group.GroupName, `Display name of the group.`) + + cmd.Use = "update-group-proxy GROUP_ID UPDATE_MASK" + cmd.Short = `Update a group in the account.` + cmd.Long = `Update a group in the account. + + Updates an existing group in the Databricks account that parents the calling + workspace. Only the fields named in the update mask are modified. Returns the + updated Group resource. + + When AIM is enabled and the group is an external identity (its external_id is + set), only external_id can be updated; its other fields are sourced from your + identity provider. + + Arguments: + GROUP_ID: Required. Internal ID of the group in Databricks. + UPDATE_MASK: Optional. The list of fields to update.` + + // 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.Args = func(cmd *cobra.Command, args []string) error { + check := root.ExactArgs(2) + 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 := updateGroupProxyJson.Unmarshal(&updateGroupProxyReq.Group) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } } + updateGroupProxyReq.GroupId = args[0] + updateGroupProxyReq.UpdateMask = args[1] - response, err := w.WorkspaceIamV2.GetWorkspaceAssignmentDetailProxy(ctx, getWorkspaceAssignmentDetailProxyReq) + response, err := w.WorkspaceIamV2.UpdateGroupProxy(ctx, updateGroupProxyReq) if err != nil { return err } @@ -353,38 +2479,51 @@ func newGetWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range getWorkspaceAssignmentDetailProxyOverrides { - fn(cmd, &getWorkspaceAssignmentDetailProxyReq) + for _, fn := range updateGroupProxyOverrides { + fn(cmd, &updateGroupProxyReq) } return cmd } -// start list-workspace-assignment-details-proxy command +// start update-service-principal-proxy 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 listWorkspaceAssignmentDetailsProxyOverrides []func( +var updateServicePrincipalProxyOverrides []func( *cobra.Command, - *iamv2.ListWorkspaceAssignmentDetailsProxyRequest, + *iamv2.UpdateServicePrincipalProxyRequest, ) -func newListWorkspaceAssignmentDetailsProxy() *cobra.Command { +func newUpdateServicePrincipalProxy() *cobra.Command { cmd := &cobra.Command{} - var listWorkspaceAssignmentDetailsProxyReq iamv2.ListWorkspaceAssignmentDetailsProxyRequest + var updateServicePrincipalProxyReq iamv2.UpdateServicePrincipalProxyRequest + updateServicePrincipalProxyReq.ServicePrincipal = iamv2.ServicePrincipal{} + var updateServicePrincipalProxyJson flags.JsonFlag - cmd.Flags().IntVar(&listWorkspaceAssignmentDetailsProxyReq.PageSize, "page-size", listWorkspaceAssignmentDetailsProxyReq.PageSize, `The maximum number of workspace assignment details to return.`) - cmd.Flags().StringVar(&listWorkspaceAssignmentDetailsProxyReq.PageToken, "page-token", listWorkspaceAssignmentDetailsProxyReq.PageToken, `A page token from a previous list call.`) + cmd.Flags().Var(&updateServicePrincipalProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "list-workspace-assignment-details-proxy" - cmd.Short = `List workspace assignment details for a workspace.` - cmd.Long = `List workspace assignment details for a workspace. + cmd.Flags().StringVar(&updateServicePrincipalProxyReq.ServicePrincipal.ExternalId, "external-id", updateServicePrincipalProxyReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) - Lists workspace assignment details for the calling workspace. The response - omits the per-principal entitlement fields (entitlements and - effective_entitlements). To read the entitlements for a single principal, - get that principal's assignment detail.` + cmd.Use = "update-service-principal-proxy SERVICE_PRINCIPAL_ID UPDATE_MASK DISPLAY_NAME ACCOUNT_SP_STATUS" + cmd.Short = `Update a service principal in the account.` + cmd.Long = `Update a service principal in the account. + + Updates an existing service principal in the Databricks account that parents + the calling workspace. Only the fields named in the update mask are modified. + Returns the updated ServicePrincipal resource. + + When AIM is enabled and the service principal is an external identity (its + external_id is set), only external_id can be updated; its other fields are + sourced from your identity provider. + + Arguments: + SERVICE_PRINCIPAL_ID: Required. Internal ID of the service principal in Databricks. + UPDATE_MASK: Optional. The list of fields to update. + DISPLAY_NAME: Display name of the service principal. + ACCOUNT_SP_STATUS: The activity status of a service principal in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -394,7 +2533,14 @@ func newListWorkspaceAssignmentDetailsProxy() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { - check := root.ExactArgs(0) + if cmd.Flags().Changed("json") { + err := root.ExactArgs(2)(cmd, args) + if err != nil { + return errors.New("when --json flag is specified, provide only SERVICE_PRINCIPAL_ID, UPDATE_MASK as positional arguments. Provide 'display_name', 'account_sp_status' in your JSON input") + } + return nil + } + check := root.ExactArgs(4) return check(cmd, args) } @@ -403,7 +2549,32 @@ func newListWorkspaceAssignmentDetailsProxy() *cobra.Command { ctx := cmd.Context() w := cmdctx.WorkspaceClient(ctx) - response, err := w.WorkspaceIamV2.ListWorkspaceAssignmentDetailsProxy(ctx, listWorkspaceAssignmentDetailsProxyReq) + if cmd.Flags().Changed("json") { + diags := updateServicePrincipalProxyJson.Unmarshal(&updateServicePrincipalProxyReq.ServicePrincipal) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + updateServicePrincipalProxyReq.ServicePrincipalId = args[0] + updateServicePrincipalProxyReq.UpdateMask = args[1] + if !cmd.Flags().Changed("json") { + updateServicePrincipalProxyReq.ServicePrincipal.DisplayName = args[2] + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[3], &updateServicePrincipalProxyReq.ServicePrincipal.AccountSpStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_SP_STATUS: %s", args[3]) + } + + } + + response, err := w.WorkspaceIamV2.UpdateServicePrincipalProxy(ctx, updateServicePrincipalProxyReq) if err != nil { return err } @@ -416,57 +2587,70 @@ func newListWorkspaceAssignmentDetailsProxy() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range listWorkspaceAssignmentDetailsProxyOverrides { - fn(cmd, &listWorkspaceAssignmentDetailsProxyReq) + for _, fn := range updateServicePrincipalProxyOverrides { + fn(cmd, &updateServicePrincipalProxyReq) } return cmd } -// start resolve-group-proxy command +// start update-user-proxy 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 resolveGroupProxyOverrides []func( +var updateUserProxyOverrides []func( *cobra.Command, - *iamv2.ResolveGroupProxyRequest, + *iamv2.UpdateUserProxyRequest, ) -func newResolveGroupProxy() *cobra.Command { +func newUpdateUserProxy() *cobra.Command { cmd := &cobra.Command{} - var resolveGroupProxyReq iamv2.ResolveGroupProxyRequest - var resolveGroupProxyJson flags.JsonFlag + var updateUserProxyReq iamv2.UpdateUserProxyRequest + updateUserProxyReq.User = iamv2.User{} + var updateUserProxyJson flags.JsonFlag - cmd.Flags().Var(&resolveGroupProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateUserProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "resolve-group-proxy EXTERNAL_ID" - cmd.Short = `*Beta* Resolve an external group in the Databricks account.` - cmd.Long = `This command is in Beta and may change without notice. + cmd.Flags().StringVar(&updateUserProxyReq.User.ExternalId, "external-id", updateUserProxyReq.User.ExternalId, `ExternalId of the user in the customer's IdP.`) -Resolve an external group in the Databricks account. + cmd.Use = "update-user-proxy USER_ID UPDATE_MASK USERNAME FULL_NAME ACCOUNT_USER_STATUS" + cmd.Short = `Update a user in the account.` + cmd.Long = `Update a user in the account. - Resolves a group with the given external ID from the customer's IdP. If the - group does not exist, it will be created in the account. If the customer is - not onboarded onto Automatic Identity Management (AIM), this will return an - error. + Updates an existing user in the Databricks account that parents the calling + workspace and returns the updated user. Only the fields named in the update + mask are modified. The updatable fields are fullName.givenName, + fullName.familyName, status, and externalId. + + When AIM is enabled and the user is an external identity (its external_id is + set), only external_id can be updated; its other fields are sourced from your + identity provider. Arguments: - EXTERNAL_ID: Required. The external ID of the group in the customer's IdP.` + USER_ID: Required. Internal ID of the user in Databricks. + UPDATE_MASK: Optional. The list of fields to update. + USERNAME: Username/email of the user. + FULL_NAME: + ACCOUNT_USER_STATUS: The activity status of a user in a Databricks account. + Supported values: [ACTIVE, INACTIVE]` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(2)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + return errors.New("when --json flag is specified, provide only USER_ID, UPDATE_MASK as positional arguments. Provide 'username', 'full_name', 'account_user_status' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(5) return check(cmd, args) } @@ -476,7 +2660,7 @@ Resolve an external group in the Databricks account. w := cmdctx.WorkspaceClient(ctx) if cmd.Flags().Changed("json") { - diags := resolveGroupProxyJson.Unmarshal(&resolveGroupProxyReq) + diags := updateUserProxyJson.Unmarshal(&updateUserProxyReq.User) if diags.HasError() { return diags.Error() } @@ -487,11 +2671,27 @@ Resolve an external group in the Databricks account. } } } + updateUserProxyReq.UserId = args[0] + updateUserProxyReq.UpdateMask = args[1] if !cmd.Flags().Changed("json") { - resolveGroupProxyReq.ExternalId = args[0] + updateUserProxyReq.User.Username = args[2] + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[3], &updateUserProxyReq.User.FullName) + if err != nil { + return fmt.Errorf("invalid FULL_NAME: %s", args[3]) + } + } + if !cmd.Flags().Changed("json") { + _, err = fmt.Sscan(args[4], &updateUserProxyReq.User.AccountUserStatus) + if err != nil { + return fmt.Errorf("invalid ACCOUNT_USER_STATUS: %s", args[4]) + } - response, err := w.WorkspaceIamV2.ResolveGroupProxy(ctx, resolveGroupProxyReq) + } + + response, err := w.WorkspaceIamV2.UpdateUserProxy(ctx, updateUserProxyReq) if err != nil { return err } @@ -504,57 +2704,64 @@ Resolve an external group in the Databricks account. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range resolveGroupProxyOverrides { - fn(cmd, &resolveGroupProxyReq) + for _, fn := range updateUserProxyOverrides { + fn(cmd, &updateUserProxyReq) } return cmd } -// start resolve-service-principal-proxy command +// start update-workspace-assignment-detail-proxy 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 resolveServicePrincipalProxyOverrides []func( +var updateWorkspaceAssignmentDetailProxyOverrides []func( *cobra.Command, - *iamv2.ResolveServicePrincipalProxyRequest, + *iamv2.UpdateWorkspaceAssignmentDetailProxyRequest, ) -func newResolveServicePrincipalProxy() *cobra.Command { +func newUpdateWorkspaceAssignmentDetailProxy() *cobra.Command { cmd := &cobra.Command{} - var resolveServicePrincipalProxyReq iamv2.ResolveServicePrincipalProxyRequest - var resolveServicePrincipalProxyJson flags.JsonFlag + var updateWorkspaceAssignmentDetailProxyReq iamv2.UpdateWorkspaceAssignmentDetailProxyRequest + updateWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail = iamv2.WorkspaceAssignmentDetail{} + var updateWorkspaceAssignmentDetailProxyJson flags.JsonFlag - cmd.Flags().Var(&resolveServicePrincipalProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateWorkspaceAssignmentDetailProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "resolve-service-principal-proxy EXTERNAL_ID" - cmd.Short = `*Beta* Resolve an external service principal in the Databricks account.` - cmd.Long = `This command is in Beta and may change without notice. + // TODO: array: effective_entitlements + // TODO: array: entitlements -Resolve an external service principal in the Databricks account. + cmd.Use = "update-workspace-assignment-detail-proxy PRINCIPAL_ID UPDATE_MASK PRINCIPAL_ID" + cmd.Short = `Update a workspace assignment detail for a workspace.` + cmd.Long = `Update a workspace assignment detail for a workspace. - Resolves a service principal with the given external ID from the customer's - IdP. If the service principal does not exist, it will be created. If the - customer is not onboarded onto Automatic Identity Management (AIM), this will - return an error. + Updates the entitlements of a directly assigned principal in the calling + workspace. Changes are applied one at a time rather than atomically. If the + request fails partway through, only some of the requested changes take effect. + Get the assignment detail afterwards to confirm the final state. Arguments: - EXTERNAL_ID: Required. The external ID of the service principal in the customer's IdP.` + PRINCIPAL_ID: Required. ID of the principal in Databricks. + UPDATE_MASK: Required. The list of fields to update. + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(2)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + return errors.New("when --json flag is specified, provide only PRINCIPAL_ID, UPDATE_MASK as positional arguments. Provide 'principal_id' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(3) return check(cmd, args) } @@ -564,7 +2771,7 @@ Resolve an external service principal in the Databricks account. w := cmdctx.WorkspaceClient(ctx) if cmd.Flags().Changed("json") { - diags := resolveServicePrincipalProxyJson.Unmarshal(&resolveServicePrincipalProxyReq) + diags := updateWorkspaceAssignmentDetailProxyJson.Unmarshal(&updateWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail) if diags.HasError() { return diags.Error() } @@ -575,11 +2782,24 @@ Resolve an external service principal in the Databricks account. } } } + _, err = fmt.Sscan(args[0], &updateWorkspaceAssignmentDetailProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + if args[1] != "" { + updateMaskArray := strings.Split(args[1], ",") + updateWorkspaceAssignmentDetailProxyReq.UpdateMask = *fieldmask.New(updateMaskArray) + } if !cmd.Flags().Changed("json") { - resolveServicePrincipalProxyReq.ExternalId = args[0] + _, err = fmt.Sscan(args[2], &updateWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[2]) + } + } - response, err := w.WorkspaceIamV2.ResolveServicePrincipalProxy(ctx, resolveServicePrincipalProxyReq) + response, err := w.WorkspaceIamV2.UpdateWorkspaceAssignmentDetailProxy(ctx, updateWorkspaceAssignmentDetailProxyReq) if err != nil { return err } @@ -592,56 +2812,64 @@ Resolve an external service principal in the Databricks account. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range resolveServicePrincipalProxyOverrides { - fn(cmd, &resolveServicePrincipalProxyReq) + for _, fn := range updateWorkspaceAssignmentDetailProxyOverrides { + fn(cmd, &updateWorkspaceAssignmentDetailProxyReq) } return cmd } -// start resolve-user-proxy command +// start update-workspace-assignment-proxy 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 resolveUserProxyOverrides []func( +var updateWorkspaceAssignmentProxyOverrides []func( *cobra.Command, - *iamv2.ResolveUserProxyRequest, + *iamv2.UpdateWorkspaceAssignmentProxyRequest, ) -func newResolveUserProxy() *cobra.Command { +func newUpdateWorkspaceAssignmentProxy() *cobra.Command { cmd := &cobra.Command{} - var resolveUserProxyReq iamv2.ResolveUserProxyRequest - var resolveUserProxyJson flags.JsonFlag + var updateWorkspaceAssignmentProxyReq iamv2.UpdateWorkspaceAssignmentProxyRequest + updateWorkspaceAssignmentProxyReq.WorkspaceAssignment = iamv2.WorkspaceAssignment{} + var updateWorkspaceAssignmentProxyJson flags.JsonFlag - cmd.Flags().Var(&resolveUserProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateWorkspaceAssignmentProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Use = "resolve-user-proxy EXTERNAL_ID" - cmd.Short = `*Beta* Resolve an external user in the Databricks account.` - cmd.Long = `This command is in Beta and may change without notice. + // TODO: array: effective_entitlements + // TODO: array: entitlements -Resolve an external user in the Databricks account. + cmd.Use = "update-workspace-assignment-proxy PRINCIPAL_ID UPDATE_MASK PRINCIPAL_ID" + cmd.Short = `Update a workspace assignment for a workspace.` + cmd.Long = `Update a workspace assignment for a workspace. - Resolves a user with the given external ID from the customer's IdP. If the - user does not exist, it will be created. If the customer is not onboarded onto - Automatic Identity Management (AIM), this will return an error. + Updates the entitlements of a directly assigned principal in the calling + workspace. Changes are applied one at a time rather than atomically. If the + request fails partway through, only some of the requested changes take effect. + Get the assignment afterwards to confirm the final state. Arguments: - EXTERNAL_ID: Required. The external ID of the user in the customer's IdP.` + PRINCIPAL_ID: Required. ID of the principal in Databricks. + UPDATE_MASK: Required. The list of fields to update. + PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + + // This command is being previewed; hide from help output. + cmd.Hidden = true cmd.Annotations = make(map[string]string) - cmd.Annotations["launch_stage"] = "PUBLIC_BETA" - cmd.Annotations["launch_stage_display"] = "Beta" + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { if cmd.Flags().Changed("json") { - err := root.ExactArgs(0)(cmd, args) + err := root.ExactArgs(2)(cmd, args) if err != nil { - return errors.New("when --json flag is specified, no positional arguments are allowed. Provide 'external_id' in your JSON input") + return errors.New("when --json flag is specified, provide only PRINCIPAL_ID, UPDATE_MASK as positional arguments. Provide 'principal_id' in your JSON input") } return nil } - check := root.ExactArgs(1) + check := root.ExactArgs(3) return check(cmd, args) } @@ -651,7 +2879,7 @@ Resolve an external user in the Databricks account. w := cmdctx.WorkspaceClient(ctx) if cmd.Flags().Changed("json") { - diags := resolveUserProxyJson.Unmarshal(&resolveUserProxyReq) + diags := updateWorkspaceAssignmentProxyJson.Unmarshal(&updateWorkspaceAssignmentProxyReq.WorkspaceAssignment) if diags.HasError() { return diags.Error() } @@ -662,11 +2890,24 @@ Resolve an external user in the Databricks account. } } } + _, err = fmt.Sscan(args[0], &updateWorkspaceAssignmentProxyReq.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) + } + + if args[1] != "" { + updateMaskArray := strings.Split(args[1], ",") + updateWorkspaceAssignmentProxyReq.UpdateMask = *fieldmask.New(updateMaskArray) + } if !cmd.Flags().Changed("json") { - resolveUserProxyReq.ExternalId = args[0] + _, err = fmt.Sscan(args[2], &updateWorkspaceAssignmentProxyReq.WorkspaceAssignment.PrincipalId) + if err != nil { + return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[2]) + } + } - response, err := w.WorkspaceIamV2.ResolveUserProxy(ctx, resolveUserProxyReq) + response, err := w.WorkspaceIamV2.UpdateWorkspaceAssignmentProxy(ctx, updateWorkspaceAssignmentProxyReq) if err != nil { return err } @@ -679,47 +2920,42 @@ Resolve an external user in the Databricks account. cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range resolveUserProxyOverrides { - fn(cmd, &resolveUserProxyReq) + for _, fn := range updateWorkspaceAssignmentProxyOverrides { + fn(cmd, &updateWorkspaceAssignmentProxyReq) } return cmd } -// start update-workspace-assignment-detail-proxy command +// start update-workspace-identity-detail 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 updateWorkspaceAssignmentDetailProxyOverrides []func( +var updateWorkspaceIdentityDetailOverrides []func( *cobra.Command, - *iamv2.UpdateWorkspaceAssignmentDetailProxyRequest, + *iamv2.UpdateWorkspaceIdentityDetailRequest, ) -func newUpdateWorkspaceAssignmentDetailProxy() *cobra.Command { +func newUpdateWorkspaceIdentityDetail() *cobra.Command { cmd := &cobra.Command{} - var updateWorkspaceAssignmentDetailProxyReq iamv2.UpdateWorkspaceAssignmentDetailProxyRequest - updateWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail = iamv2.WorkspaceAssignmentDetail{} - var updateWorkspaceAssignmentDetailProxyJson flags.JsonFlag + var updateWorkspaceIdentityDetailReq iamv2.UpdateWorkspaceIdentityDetailRequest + updateWorkspaceIdentityDetailReq.WorkspaceIdentityDetail = iamv2.WorkspaceIdentityDetail{} + var updateWorkspaceIdentityDetailJson flags.JsonFlag - cmd.Flags().Var(&updateWorkspaceAssignmentDetailProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&updateWorkspaceIdentityDetailJson, "json", `either inline JSON string or @path/to/file.json with request body`) - // TODO: array: effective_entitlements - // TODO: array: entitlements + cmd.Flags().Var(&updateWorkspaceIdentityDetailReq.WorkspaceIdentityDetail.WorkspaceIdentityStatus, "workspace-identity-status", `The activity status of an identity in a Databricks workspace. Supported values: [ACTIVE, INACTIVE]`) - cmd.Use = "update-workspace-assignment-detail-proxy PRINCIPAL_ID UPDATE_MASK PRINCIPAL_ID" - cmd.Short = `Update a workspace assignment detail for a workspace.` - cmd.Long = `Update a workspace assignment detail for a workspace. + cmd.Use = "update-workspace-identity-detail PRINCIPAL_ID UPDATE_MASK" + cmd.Short = `Update workspace identity details for a principal.` + cmd.Long = `Update workspace identity details for a principal. - Updates the entitlements of a directly assigned principal in the calling - workspace. Changes are applied one at a time rather than atomically. If the - request fails partway through, only some of the requested changes take effect. - Get the assignment detail afterwards to confirm the final state. + Updates a workspace identity detail for a principal. Arguments: PRINCIPAL_ID: Required. ID of the principal in Databricks. - UPDATE_MASK: Required. The list of fields to update. - PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` + UPDATE_MASK: Required. The list of fields to update.` // This command is being previewed; hide from help output. cmd.Hidden = true @@ -729,14 +2965,7 @@ func newUpdateWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.Annotations["launch_stage_display"] = "Private Preview" cmd.Args = func(cmd *cobra.Command, args []string) error { - if cmd.Flags().Changed("json") { - err := root.ExactArgs(2)(cmd, args) - if err != nil { - return errors.New("when --json flag is specified, provide only PRINCIPAL_ID, UPDATE_MASK as positional arguments. Provide 'principal_id' in your JSON input") - } - return nil - } - check := root.ExactArgs(3) + check := root.ExactArgs(2) return check(cmd, args) } @@ -746,7 +2975,7 @@ func newUpdateWorkspaceAssignmentDetailProxy() *cobra.Command { w := cmdctx.WorkspaceClient(ctx) if cmd.Flags().Changed("json") { - diags := updateWorkspaceAssignmentDetailProxyJson.Unmarshal(&updateWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail) + diags := updateWorkspaceIdentityDetailJson.Unmarshal(&updateWorkspaceIdentityDetailReq.WorkspaceIdentityDetail) if diags.HasError() { return diags.Error() } @@ -757,24 +2986,17 @@ func newUpdateWorkspaceAssignmentDetailProxy() *cobra.Command { } } } - _, err = fmt.Sscan(args[0], &updateWorkspaceAssignmentDetailProxyReq.PrincipalId) + _, err = fmt.Sscan(args[0], &updateWorkspaceIdentityDetailReq.PrincipalId) if err != nil { return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[0]) } if args[1] != "" { updateMaskArray := strings.Split(args[1], ",") - updateWorkspaceAssignmentDetailProxyReq.UpdateMask = *fieldmask.New(updateMaskArray) - } - if !cmd.Flags().Changed("json") { - _, err = fmt.Sscan(args[2], &updateWorkspaceAssignmentDetailProxyReq.WorkspaceAssignmentDetail.PrincipalId) - if err != nil { - return fmt.Errorf("invalid PRINCIPAL_ID: %s", args[2]) - } - + updateWorkspaceIdentityDetailReq.UpdateMask = *fieldmask.New(updateMaskArray) } - response, err := w.WorkspaceIamV2.UpdateWorkspaceAssignmentDetailProxy(ctx, updateWorkspaceAssignmentDetailProxyReq) + response, err := w.WorkspaceIamV2.UpdateWorkspaceIdentityDetail(ctx, updateWorkspaceIdentityDetailReq) if err != nil { return err } @@ -787,8 +3009,8 @@ func newUpdateWorkspaceAssignmentDetailProxy() *cobra.Command { cmd.ValidArgsFunction = cobra.NoFileCompletions // Apply optional overrides to this command. - for _, fn := range updateWorkspaceAssignmentDetailProxyOverrides { - fn(cmd, &updateWorkspaceAssignmentDetailProxyReq) + for _, fn := range updateWorkspaceIdentityDetailOverrides { + fn(cmd, &updateWorkspaceIdentityDetailReq) } return cmd diff --git a/go.mod b/go.mod index 7c9dd35515d..7d257c3f0c2 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.7 // MIT - github.com/databricks/databricks-sdk-go v0.171.0 // Apache-2.0 + github.com/databricks/databricks-sdk-go v0.175.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 175390a393a..2b02ae216e9 100644 --- a/go.sum +++ b/go.sum @@ -69,8 +69,8 @@ github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22r github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= 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.171.0 h1:5Of+RBTSyIH7Sn5NeAzg/um64eh3UeX92stuJyP4Hxk= -github.com/databricks/databricks-sdk-go v0.171.0/go.mod h1:C5LNgGe6hGuRrTwoxFmuup3XtQQEaqtq0e+K8IFDIS4= +github.com/databricks/databricks-sdk-go v0.175.0 h1:XJKS5dqV23fADlEgo/PTYo74+lhzR8sUXJZv8qoNr50= +github.com/databricks/databricks-sdk-go v0.175.0/go.mod h1:udBw6nxkaqa0fgPQ7ZW1kGFkltQncYx+qFJeVFmxtz8= github.com/databricks/sdk-go/auth v0.0.0-dev h1:SyRGZvExH5TG9ynZEqNn+m+xTY42VOXr2GOxgNOQexk= github.com/databricks/sdk-go/auth v0.0.0-dev/go.mod h1:Tj09W13MScUaix94cR0He9msAwe40JAQKuS2jP/ofQA= github.com/databricks/sdk-go/core v0.0.1-dev h1:sIA1hCEJyl8/012vOBUIkDjsycNCD8RwfP76SCM0QbQ= diff --git a/python/databricks/bundles/jobs/_models/job.py b/python/databricks/bundles/jobs/_models/job.py index 23a426decb1..b6eb2bede9b 100644 --- a/python/databricks/bundles/jobs/_models/job.py +++ b/python/databricks/bundles/jobs/_models/job.py @@ -216,8 +216,7 @@ class Job(Resource): triggers: VariableOrList[TriggerConfiguration] = field(default_factory=list) """ [Beta] List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in - the same request as the legacy `schedule`, `trigger`, or `continuous` fields. The 10-trigger cap is the design's - hard limit; rollout steps the effective cap 3 -> 5 -> 10 via internal validation during the preview. + the same request as the legacy `schedule`, `trigger`, or `continuous` fields. Gated behind the "Multiple Triggers" feature preview. """ usage_policy_id: VariableOrOptional[str] = None @@ -386,8 +385,7 @@ class JobDict(TypedDict, total=False): triggers: VariableOrList[TriggerConfigurationParam] """ [Beta] List of triggers attached to this job. A run starts when any active trigger evaluates to true. Cannot be set in - the same request as the legacy `schedule`, `trigger`, or `continuous` fields. The 10-trigger cap is the design's - hard limit; rollout steps the effective cap 3 -> 5 -> 10 via internal validation during the preview. + the same request as the legacy `schedule`, `trigger`, or `continuous` fields. Gated behind the "Multiple Triggers" feature preview. """ usage_policy_id: VariableOrOptional[str] diff --git a/python/databricks/bundles/jobs/_models/job_cluster.py b/python/databricks/bundles/jobs/_models/job_cluster.py index 7e78fa161c0..ec9c4e72440 100644 --- a/python/databricks/bundles/jobs/_models/job_cluster.py +++ b/python/databricks/bundles/jobs/_models/job_cluster.py @@ -20,7 +20,7 @@ class JobCluster: `JobTaskSettings` may refer to this field to determine which cluster to launch for the task execution. """ - new_cluster: VariableOr[ClusterSpec] + new_cluster: VariableOrOptional[ClusterSpec] = None """ If new_cluster, a description of a cluster that is created for each task. """ @@ -51,7 +51,7 @@ class JobClusterDict(TypedDict, total=False): `JobTaskSettings` may refer to this field to determine which cluster to launch for the task execution. """ - new_cluster: VariableOr[ClusterSpecParam] + new_cluster: VariableOrOptional[ClusterSpecParam] """ If new_cluster, a description of a cluster that is created for each task. """ diff --git a/python/databricks/bundles/pipelines/__init__.py b/python/databricks/bundles/pipelines/__init__.py index 2b74f8c6c6d..2fdf1c4cd06 100644 --- a/python/databricks/bundles/pipelines/__init__.py +++ b/python/databricks/bundles/pipelines/__init__.py @@ -121,12 +121,27 @@ "Lifecycle", "LifecycleDict", "LifecycleParam", + "LinkedInAdsOptions", + "LinkedInAdsOptionsDict", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptions", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsDict", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularityParam", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinderParam", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularityParam", + "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsParam", + "LinkedInAdsOptionsParam", "LocalFileInfo", "LocalFileInfoDict", "LocalFileInfoParam", "LogAnalyticsInfo", "LogAnalyticsInfoDict", "LogAnalyticsInfoParam", + "MarketoOptions", + "MarketoOptionsDict", + "MarketoOptionsParam", "MavenLibrary", "MavenLibraryDict", "MavenLibraryParam", @@ -460,6 +475,28 @@ LifecycleDict, LifecycleParam, ) +from databricks.bundles.pipelines._models.linked_in_ads_options import ( + LinkedInAdsOptions, + LinkedInAdsOptionsDict, + LinkedInAdsOptionsParam, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptions, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsDict, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsParam, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_entity_granularity import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularityParam, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_finder import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinderParam, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_time_granularity import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularityParam, +) from databricks.bundles.pipelines._models.local_file_info import ( LocalFileInfo, LocalFileInfoDict, @@ -470,6 +507,11 @@ LogAnalyticsInfoDict, LogAnalyticsInfoParam, ) +from databricks.bundles.pipelines._models.marketo_options import ( + MarketoOptions, + MarketoOptionsDict, + MarketoOptionsParam, +) from databricks.bundles.pipelines._models.maven_library import ( MavenLibrary, MavenLibraryDict, diff --git a/python/databricks/bundles/pipelines/_models/connector_options.py b/python/databricks/bundles/pipelines/_models/connector_options.py index f2997f027a9..370e45df6a9 100644 --- a/python/databricks/bundles/pipelines/_models/connector_options.py +++ b/python/databricks/bundles/pipelines/_models/connector_options.py @@ -28,6 +28,14 @@ KafkaOptions, KafkaOptionsParam, ) +from databricks.bundles.pipelines._models.linked_in_ads_options import ( + LinkedInAdsOptions, + LinkedInAdsOptionsParam, +) +from databricks.bundles.pipelines._models.marketo_options import ( + MarketoOptions, + MarketoOptionsParam, +) from databricks.bundles.pipelines._models.meta_marketing_options import ( MetaMarketingOptions, MetaMarketingOptionsParam, @@ -105,6 +113,23 @@ class ConnectorOptions: [Beta] """ + linkedin_ads_options: VariableOrOptional[LinkedInAdsOptions] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] LinkedIn Ads specific options for ingestion. + sync_start_date and lookback_window_days apply to both the prebuilt analytics + tables and custom reports. custom_report_options defines a custom (user-defined) + adAnalytics report and is only valid on a table object. + """ + + marketo_options: VariableOrOptional[MarketoOptions] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Marketo specific options for ingestion + """ + meta_ads_options: VariableOrOptional[MetaMarketingOptions] = None """ [Beta] Meta Marketing (Meta Ads) specific options for ingestion @@ -147,7 +172,7 @@ class ConnectorOptions: zendesk_support_options: VariableOrOptional[ZendeskSupportOptions] = None """ - [Beta] Zendesk Support specific options for ingestion + [Public Preview] Zendesk Support specific options for ingestion """ @classmethod @@ -199,6 +224,23 @@ class ConnectorOptionsDict(TypedDict, total=False): [Beta] """ + linkedin_ads_options: VariableOrOptional[LinkedInAdsOptionsParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] LinkedIn Ads specific options for ingestion. + sync_start_date and lookback_window_days apply to both the prebuilt analytics + tables and custom reports. custom_report_options defines a custom (user-defined) + adAnalytics report and is only valid on a table object. + """ + + marketo_options: VariableOrOptional[MarketoOptionsParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Marketo specific options for ingestion + """ + meta_ads_options: VariableOrOptional[MetaMarketingOptionsParam] """ [Beta] Meta Marketing (Meta Ads) specific options for ingestion @@ -241,7 +283,7 @@ class ConnectorOptionsDict(TypedDict, total=False): zendesk_support_options: VariableOrOptional[ZendeskSupportOptionsParam] """ - [Beta] Zendesk Support specific options for ingestion + [Public Preview] Zendesk Support specific options for ingestion """ diff --git a/python/databricks/bundles/pipelines/_models/data_staging_options.py b/python/databricks/bundles/pipelines/_models/data_staging_options.py index c6e599c73fb..15840321abd 100644 --- a/python/databricks/bundles/pipelines/_models/data_staging_options.py +++ b/python/databricks/bundles/pipelines/_models/data_staging_options.py @@ -17,17 +17,17 @@ class DataStagingOptions: catalog_name: VariableOr[str] """ - [Beta] (Required, Immutable) The name of the catalog for the connector's staging storage location. + [Public Preview] (Required, Immutable) The name of the catalog for the connector's staging storage location. """ schema_name: VariableOr[str] """ - [Beta] (Required, Immutable) The name of the schema for the connector's staging storage location. + [Public Preview] (Required, Immutable) The name of the schema for the connector's staging storage location. """ volume_name: VariableOrOptional[str] = None """ - [Beta] (Optional) The Unity Catalog-compatible name for the storage location. + [Public Preview] (Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : @@ -47,17 +47,17 @@ class DataStagingOptionsDict(TypedDict, total=False): catalog_name: VariableOr[str] """ - [Beta] (Required, Immutable) The name of the catalog for the connector's staging storage location. + [Public Preview] (Required, Immutable) The name of the catalog for the connector's staging storage location. """ schema_name: VariableOr[str] """ - [Beta] (Required, Immutable) The name of the schema for the connector's staging storage location. + [Public Preview] (Required, Immutable) The name of the schema for the connector's staging storage location. """ volume_name: VariableOrOptional[str] """ - [Beta] (Optional) The Unity Catalog-compatible name for the storage location. + [Public Preview] (Optional) The Unity Catalog-compatible name for the storage location. This is the volume to use for the data that is extracted by the connector. Spark Declarative Pipelines system will automatically create the volume under the catalog and schema. For Combined Cdc Managed Ingestion pipelines default name for the volume would be : diff --git a/python/databricks/bundles/pipelines/_models/ingestion_config.py b/python/databricks/bundles/pipelines/_models/ingestion_config.py index 4ccd935e819..b9276540f8a 100644 --- a/python/databricks/bundles/pipelines/_models/ingestion_config.py +++ b/python/databricks/bundles/pipelines/_models/ingestion_config.py @@ -4,10 +4,7 @@ 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.table_spec import TableSpec, TableSpecParam diff --git a/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py b/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py index 8263ae64b77..c033e451d2c 100644 --- a/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py +++ b/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py @@ -51,12 +51,12 @@ class IngestionPipelineDefinition: connector_type: VariableOrOptional[ConnectorType] = None """ - [Beta] (Optional) Connector Type for sources. Ex: CDC, Query Based. + [Public Preview] (Optional) Connector Type for sources. Ex: CDC, Query Based. """ data_staging_options: VariableOrOptional[DataStagingOptions] = None """ - [Beta] (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline + [Public Preview] (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition. @@ -132,12 +132,12 @@ class IngestionPipelineDefinitionDict(TypedDict, total=False): connector_type: VariableOrOptional[ConnectorTypeParam] """ - [Beta] (Optional) Connector Type for sources. Ex: CDC, Query Based. + [Public Preview] (Optional) Connector Type for sources. Ex: CDC, Query Based. """ data_staging_options: VariableOrOptional[DataStagingOptionsParam] """ - [Beta] (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline + [Public Preview] (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline. If not specified, the volume for staged data will be created in catalog and schema/target specified in the top level pipeline definition. diff --git a/python/databricks/bundles/pipelines/_models/linked_in_ads_options.py b/python/databricks/bundles/pipelines/_models/linked_in_ads_options.py new file mode 100644 index 00000000000..37cabd3fc72 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/linked_in_ads_options.py @@ -0,0 +1,101 @@ +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.linked_in_ads_options_linked_in_ads_custom_report_options import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptions, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class LinkedInAdsOptions: + """ + :meta private: [EXPERIMENTAL] + + LinkedIn Ads specific options for ingestion. + sync_start_date and lookback_window_days apply to both the prebuilt analytics + tables and custom reports. custom_report_options defines a custom (user-defined) + adAnalytics report and is only valid on a table object. + """ + + custom_report_options: VariableOrOptional[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptions + ] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Custom report definition. Only valid on a table object. When set, + the table is synthesized from /rest/adAnalytics using the finder, pivots, + time granularity and metrics here. When unset, the table must match one of + the connector's prebuilt sources. + """ + + lookback_window_days: VariableOrOptional[int] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Days to look back during incremental sync for late-arriving data. + If not specified, defaults to 30 days. + """ + + sync_start_date: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Start date for the initial sync of report tables, YYYY-MM-DD. + Earliest date from which to sync historical data; overrides the default + when set. For finder attributedRevenueMetrics, this must be between 30 and + 366 days before today. + If not specified, defaults to 1 year of history. + """ + + @classmethod + def from_dict(cls, value: "LinkedInAdsOptionsDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "LinkedInAdsOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class LinkedInAdsOptionsDict(TypedDict, total=False): + """""" + + custom_report_options: VariableOrOptional[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsParam + ] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Custom report definition. Only valid on a table object. When set, + the table is synthesized from /rest/adAnalytics using the finder, pivots, + time granularity and metrics here. When unset, the table must match one of + the connector's prebuilt sources. + """ + + lookback_window_days: VariableOrOptional[int] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Days to look back during incremental sync for late-arriving data. + If not specified, defaults to 30 days. + """ + + sync_start_date: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Start date for the initial sync of report tables, YYYY-MM-DD. + Earliest date from which to sync historical data; overrides the default + when set. For finder attributedRevenueMetrics, this must be between 30 and + 366 days before today. + If not specified, defaults to 1 year of history. + """ + + +LinkedInAdsOptionsParam = LinkedInAdsOptionsDict | LinkedInAdsOptions diff --git a/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options.py b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options.py new file mode 100644 index 00000000000..31c9ad557a0 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options.py @@ -0,0 +1,138 @@ +from dataclasses import dataclass, field +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 ( + VariableOr, + VariableOrList, + VariableOrOptional, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_entity_granularity import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularityParam, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_finder import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinderParam, +) +from databricks.bundles.pipelines._models.linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_time_granularity import ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity, + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularityParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class LinkedInAdsOptionsLinkedInAdsCustomReportOptions: + """ + :meta private: [EXPERIMENTAL] + + User-defined custom report for the LinkedIn Ads connector. The destination + table name comes from the enclosing TableSpec.destination_table, the start + date from the enclosing LinkedInAdsOptions.sync_start_date, and the account + it runs against from the source schema (namespace) -- none are repeated here. + """ + + finder: VariableOr[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder + ] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Required) adAnalytics finder. See LinkedInAdsFinder. + """ + + entity_granularity: VariableOrList[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity + ] = field(default_factory=list) + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Required) Entity pivots to group by; count/constraints depend on finder. + """ + + metrics: VariableOrList[str] = field(default_factory=list) + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) LinkedIn metric names for the report. Open vocabulary (not an + enum): the valid set is large (~100) and evolves with the LinkedIn + adAnalytics API, so values are passed through verbatim. If empty, a + pivot-safe default core set is ingested: impressions, clicks, + costInLocalCurrency, externalWebsiteConversions (valid for every pivot). + Ignored for attributedRevenueMetrics (always returns the full + RevenueAttributionMetrics struct). + """ + + time_granularity: VariableOrOptional[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity + ] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Time aggregation. Defaults to DAILY when unspecified. Used by + analytics/statistics; ignored for attributedRevenueMetrics. + """ + + @classmethod + def from_dict( + cls, value: "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsDict" + ) -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "LinkedInAdsOptionsLinkedInAdsCustomReportOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class LinkedInAdsOptionsLinkedInAdsCustomReportOptionsDict(TypedDict, total=False): + """""" + + finder: VariableOr[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinderParam + ] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Required) adAnalytics finder. See LinkedInAdsFinder. + """ + + entity_granularity: VariableOrList[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularityParam + ] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Required) Entity pivots to group by; count/constraints depend on finder. + """ + + metrics: VariableOrList[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) LinkedIn metric names for the report. Open vocabulary (not an + enum): the valid set is large (~100) and evolves with the LinkedIn + adAnalytics API, so values are passed through verbatim. If empty, a + pivot-safe default core set is ingested: impressions, clicks, + costInLocalCurrency, externalWebsiteConversions (valid for every pivot). + Ignored for attributedRevenueMetrics (always returns the full + RevenueAttributionMetrics struct). + """ + + time_granularity: VariableOrOptional[ + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularityParam + ] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Time aggregation. Defaults to DAILY when unspecified. Used by + analytics/statistics; ignored for attributedRevenueMetrics. + """ + + +LinkedInAdsOptionsLinkedInAdsCustomReportOptionsParam = ( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsDict + | LinkedInAdsOptionsLinkedInAdsCustomReportOptions +) diff --git a/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_entity_granularity.py b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_entity_granularity.py new file mode 100644 index 00000000000..a9281cc3c05 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_entity_granularity.py @@ -0,0 +1,22 @@ +from enum import Enum +from typing import Literal + + +class LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity( + Enum +): + """ + :meta private: [EXPERIMENTAL] + + Entity pivot to group by. + """ + + CAMPAIGN = "CAMPAIGN" + CREATIVE = "CREATIVE" + CAMPAIGN_GROUP = "CAMPAIGN_GROUP" + + +LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularityParam = ( + Literal["CAMPAIGN", "CREATIVE", "CAMPAIGN_GROUP"] + | LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity +) diff --git a/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_finder.py b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_finder.py new file mode 100644 index 00000000000..9bf28e8ab92 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_finder.py @@ -0,0 +1,21 @@ +from enum import Enum +from typing import Literal + + +class LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder(Enum): + """ + :meta private: [EXPERIMENTAL] + + adAnalytics finder. Determines call shape, valid pivots, and metric + requirements. + """ + + ANALYTICS = "ANALYTICS" + STATISTICS = "STATISTICS" + ATTRIBUTED_REVENUE_METRICS = "ATTRIBUTED_REVENUE_METRICS" + + +LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinderParam = ( + Literal["ANALYTICS", "STATISTICS", "ATTRIBUTED_REVENUE_METRICS"] + | LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder +) diff --git a/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_time_granularity.py b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_time_granularity.py new file mode 100644 index 00000000000..0c5e9f2a4bf --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/linked_in_ads_options_linked_in_ads_custom_report_options_linked_in_ads_time_granularity.py @@ -0,0 +1,22 @@ +from enum import Enum +from typing import Literal + + +class LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity(Enum): + """ + :meta private: [EXPERIMENTAL] + + Time aggregation. Used by analytics/statistics; ignored for + attributedRevenueMetrics. Defaults to DAILY when unspecified. + """ + + ALL = "ALL" + DAILY = "DAILY" + MONTHLY = "MONTHLY" + YEARLY = "YEARLY" + + +LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularityParam = ( + Literal["ALL", "DAILY", "MONTHLY", "YEARLY"] + | LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity +) diff --git a/python/databricks/bundles/pipelines/_models/marketo_options.py b/python/databricks/bundles/pipelines/_models/marketo_options.py new file mode 100644 index 00000000000..7c822e1465f --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/marketo_options.py @@ -0,0 +1,50 @@ +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 MarketoOptions: + """ + :meta private: [EXPERIMENTAL] + + Marketo specific options for ingestion + """ + + sync_start_date: VariableOrOptional[str] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Start date for the initial sync in YYYY-MM-DD format. + This determines the earliest date from which to sync historical data. + If not specified, complete history is ingested. + """ + + @classmethod + def from_dict(cls, value: "MarketoOptionsDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "MarketoOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class MarketoOptionsDict(TypedDict, total=False): + """""" + + sync_start_date: VariableOrOptional[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] (Optional) Start date for the initial sync in YYYY-MM-DD format. + This determines the earliest date from which to sync historical data. + If not specified, complete history is ingested. + """ + + +MarketoOptionsParam = MarketoOptionsDict | MarketoOptions diff --git a/python/databricks/bundles/pipelines/_models/schema_spec.py b/python/databricks/bundles/pipelines/_models/schema_spec.py index fdb43f9ca4c..1edf4c4132d 100644 --- a/python/databricks/bundles/pipelines/_models/schema_spec.py +++ b/python/databricks/bundles/pipelines/_models/schema_spec.py @@ -37,7 +37,11 @@ class SchemaSpec: source_schema: VariableOr[str] """ - [Public Preview] Required. Schema name in the source database. + [Public Preview] Schema name in the source database. Currently required; this field will become optional in + an upcoming release, since some source types (for example streaming / message-bus connectors) + do not use it. When that change ships, this field's type in the generated SDKs and CLI will + change from required to optional (nullable); clients that assume it is always present should + handle its absence. """ connector_options: VariableOrOptional[ConnectorOptions] = None @@ -86,7 +90,11 @@ class SchemaSpecDict(TypedDict, total=False): source_schema: VariableOr[str] """ - [Public Preview] Required. Schema name in the source database. + [Public Preview] Schema name in the source database. Currently required; this field will become optional in + an upcoming release, since some source types (for example streaming / message-bus connectors) + do not use it. When that change ships, this field's type in the generated SDKs and CLI will + change from required to optional (nullable); clients that assume it is always present should + handle its absence. """ connector_options: VariableOrOptional[ConnectorOptionsParam] diff --git a/python/databricks/bundles/pipelines/_models/table_spec.py b/python/databricks/bundles/pipelines/_models/table_spec.py index e2240ac360a..086ed2e98b5 100644 --- a/python/databricks/bundles/pipelines/_models/table_spec.py +++ b/python/databricks/bundles/pipelines/_models/table_spec.py @@ -33,7 +33,11 @@ class TableSpec: source_table: VariableOr[str] """ - [Public Preview] Required. Table name in the source database. + [Public Preview] Table name in the source database. Currently required; this field will become optional in + an upcoming release, since some source types (for example streaming / message-bus connectors) + do not use it. When that change ships, this field's type in the generated SDKs and CLI will + change from required to optional (nullable); clients that assume it is always present should + handle its absence. """ connector_options: VariableOrOptional[ConnectorOptions] = None @@ -84,7 +88,11 @@ class TableSpecDict(TypedDict, total=False): source_table: VariableOr[str] """ - [Public Preview] Required. Table name in the source database. + [Public Preview] Table name in the source database. Currently required; this field will become optional in + an upcoming release, since some source types (for example streaming / message-bus connectors) + do not use it. When that change ships, this field's type in the generated SDKs and CLI will + change from required to optional (nullable); clients that assume it is always present should + handle its absence. """ connector_options: VariableOrOptional[ConnectorOptionsParam] diff --git a/python/databricks/bundles/pipelines/_models/table_specific_config.py b/python/databricks/bundles/pipelines/_models/table_specific_config.py index 24a3936100a..747ce012e49 100644 --- a/python/databricks/bundles/pipelines/_models/table_specific_config.py +++ b/python/databricks/bundles/pipelines/_models/table_specific_config.py @@ -123,9 +123,7 @@ class TableSpecificConfig: source_metadata_column: VariableOrOptional[str] = None """ - :meta private: [EXPERIMENTAL] - - [Private Preview] (Optional) Name of the struct column added to each ingested record to hold per row source + [Beta] (Optional) Name of the struct column added to each ingested record to hold per row source metadata. """ @@ -247,9 +245,7 @@ class TableSpecificConfigDict(TypedDict, total=False): source_metadata_column: VariableOrOptional[str] """ - :meta private: [EXPERIMENTAL] - - [Private Preview] (Optional) Name of the struct column added to each ingested record to hold per row source + [Beta] (Optional) Name of the struct column added to each ingested record to hold per row source metadata. """ diff --git a/python/databricks/bundles/pipelines/_models/zendesk_support_options.py b/python/databricks/bundles/pipelines/_models/zendesk_support_options.py index b84bb2dc261..49ff34bcab0 100644 --- a/python/databricks/bundles/pipelines/_models/zendesk_support_options.py +++ b/python/databricks/bundles/pipelines/_models/zendesk_support_options.py @@ -17,7 +17,7 @@ class ZendeskSupportOptions: start_date: VariableOrOptional[str] = None """ - [Beta] (Optional) Start date in YYYY-MM-DD format for the initial sync. + [Public Preview] (Optional) Start date in YYYY-MM-DD format for the initial sync. This determines the earliest date from which to sync historical data. """ @@ -34,7 +34,7 @@ class ZendeskSupportOptionsDict(TypedDict, total=False): start_date: VariableOrOptional[str] """ - [Beta] (Optional) Start date in YYYY-MM-DD format for the initial sync. + [Public Preview] (Optional) Start date in YYYY-MM-DD format for the initial sync. This determines the earliest date from which to sync historical data. """ From e0d8a867f0209d72a5ec8402d0b6f94130b47fcc Mon Sep 17 00:00:00 2001 From: Shreyas Goenka Date: Wed, 19 Aug 2026 14:45:05 +0000 Subject: [PATCH 2/4] changelog: link PR #6322 Co-authored-by: Isaac --- .nextchanges/dependency-updates/bump-sdk-0.175.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nextchanges/dependency-updates/bump-sdk-0.175.0.md b/.nextchanges/dependency-updates/bump-sdk-0.175.0.md index 89d98ec0446..61cedc8f69c 100644 --- a/.nextchanges/dependency-updates/bump-sdk-0.175.0.md +++ b/.nextchanges/dependency-updates/bump-sdk-0.175.0.md @@ -1 +1 @@ -Bump `github.com/databricks/databricks-sdk-go` from v0.171.0 to v0.175.0. +Bump `github.com/databricks/databricks-sdk-go` from v0.171.0 to v0.175.0 ([#6322](https://github.com/databricks/cli/pull/6322)). From 99278023d630a6be9afcb20e451484606376d5e2 Mon Sep 17 00:00:00 2001 From: Shreyas Goenka Date: Wed, 19 Aug 2026 15:00:28 +0000 Subject: [PATCH 3/4] direct: restore manual ignore rule for telemetry_config.table_names The v0.175 spec no longer annotates serving telemetry_config.table_names as input_only, so resources.generated.yml stopped emitting the rule and the field became permanent drift: the backend consumes table_names to provision a profile and never returns it, so bundle plan never converged for a model serving endpoint with telemetry_config. Restore the hand-written rule that the v0.171 spec had made redundant. Co-authored-by: Isaac --- bundle/direct/dresources/resources.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bundle/direct/dresources/resources.yml b/bundle/direct/dresources/resources.yml index 0bc65b0a660..ab1731deff7 100644 --- a/bundle/direct/dresources/resources.yml +++ b/bundle/direct/dresources/resources.yml @@ -320,6 +320,11 @@ resources: # Accepted on write but not returned by GET. - field: config.served_entities[*].burst_scaling_enabled reason: input_only + # table_names creates a profile and is not returned; inference_table_config round-trips. + # The spec annotated this input_only in the v0.171 spec but no longer does, so the rule + # has to be manual again. + - field: telemetry_config.table_names + reason: input_only # Write-only secrets: the backend stores them and returns the reference field, not the plaintext. - field: config.served_entities[*].external_model.ai21labs_config.ai21labs_api_key_plaintext reason: input_only From e59106d44cb557592a515d4a9e4981ba86484b73 Mon Sep 17 00:00:00 2001 From: shreyas-goenka <88374338+shreyas-goenka@users.noreply.github.com> Date: Thu, 20 Aug 2026 14:35:48 +0200 Subject: [PATCH 4/4] Bump Terraform provider from v1.127.0 to v1.128.0 (#6323) --- .../dependency-updates/bump-tf-1.128.0.md | 1 + .../migrate/basic/out.original_state.json | 1 + .../default-python/out.state_original.json | 1 + .../permissions/out.original_state.json | 1 + .../jobs/update/out.state.terraform.json | 1 + bundle/internal/tf/codegen/schema/version.go | 2 +- ...urce_account_iam_direct_group_member_v2.go | 12 ++ ...rce_account_iam_direct_group_members_v2.go | 18 ++ .../data_source_account_iam_group_v2.go | 10 + .../data_source_account_iam_groups_v2.go | 16 ++ ...source_account_iam_service_principal_v2.go | 12 ++ ...ource_account_iam_service_principals_v2.go | 18 ++ .../schema/data_source_account_iam_user_v2.go | 17 ++ .../data_source_account_iam_users_v2.go | 23 +++ ...rce_account_iam_workspace_assignment_v2.go | 12 ++ ...ce_account_iam_workspace_assignments_v2.go | 18 ++ .../data_source_ai_gateway_mcp_service.go | 1 - .../data_source_ai_gateway_mcp_services.go | 2 - ...ource_ai_gateway_model_provider_service.go | 1 - ...urce_ai_gateway_model_provider_services.go | 2 - .../data_source_ai_gateway_model_service.go | 1 - .../data_source_ai_gateway_model_services.go | 2 - bundle/internal/tf/schema/data_source_app.go | 54 ++++- bundle/internal/tf/schema/data_source_apps.go | 54 ++++- ...data_source_feature_engineering_feature.go | 11 + ...ata_source_feature_engineering_features.go | 11 + .../data_source_postgres_synced_table.go | 7 +- .../schema/data_source_serving_endpoints.go | 7 +- ...ce_workspace_iam_direct_group_member_v2.go | 17 ++ ...e_workspace_iam_direct_group_members_v2.go | 28 +++ .../data_source_workspace_iam_group_v2.go | 15 ++ .../data_source_workspace_iam_groups_v2.go | 26 +++ ...urce_workspace_iam_service_principal_v2.go | 17 ++ ...rce_workspace_iam_service_principals_v2.go | 28 +++ .../data_source_workspace_iam_user_v2.go | 22 ++ .../data_source_workspace_iam_users_v2.go | 33 +++ ...e_workspace_iam_workspace_assignment_v2.go | 17 ++ ..._workspace_iam_workspace_assignments_v2.go | 27 +++ ...kspace_iam_workspace_identity_detail_v2.go | 15 ++ bundle/internal/tf/schema/data_sources.go | 166 +++++++++------ ...urce_account_iam_direct_group_member_v2.go | 12 ++ .../schema/resource_account_iam_group_v2.go | 10 + ...source_account_iam_service_principal_v2.go | 12 ++ .../tf/schema/resource_account_iam_user_v2.go | 17 ++ ...rce_account_iam_workspace_assignment_v2.go | 12 ++ .../schema/resource_ai_gateway_mcp_service.go | 1 - ...ource_ai_gateway_model_provider_service.go | 1 - .../resource_ai_gateway_model_service.go | 1 - bundle/internal/tf/schema/resource_all.go | 11 + bundle/internal/tf/schema/resource_app.go | 54 ++++- .../resource_feature_engineering_feature.go | 11 + bundle/internal/tf/schema/resource_job.go | 57 ++++++ .../tf/schema/resource_model_serving.go | 7 +- .../resource_mws_ncc_private_endpoint_rule.go | 10 +- .../internal/tf/schema/resource_pipeline.go | 135 ++++++++---- .../schema/resource_postgres_synced_table.go | 7 +- ...ce_workspace_iam_direct_group_member_v2.go | 17 ++ .../schema/resource_workspace_iam_group_v2.go | 15 ++ ...urce_workspace_iam_service_principal_v2.go | 17 ++ .../schema/resource_workspace_iam_user_v2.go | 22 ++ ...e_workspace_iam_workspace_assignment_v2.go | 17 ++ ...kspace_iam_workspace_identity_detail_v2.go | 15 ++ bundle/internal/tf/schema/resources.go | 22 ++ bundle/internal/tf/schema/root.go | 6 +- bundle/terraform_dabs_map/generated.go | 192 +----------------- 65 files changed, 1073 insertions(+), 335 deletions(-) create mode 100644 .nextchanges/dependency-updates/bump-tf-1.128.0.md create mode 100644 bundle/internal/tf/schema/data_source_account_iam_direct_group_member_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_direct_group_members_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_group_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_groups_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_service_principal_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_service_principals_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_user_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_users_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_workspace_assignment_v2.go create mode 100644 bundle/internal/tf/schema/data_source_account_iam_workspace_assignments_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_direct_group_member_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_direct_group_members_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_group_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_groups_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_service_principal_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_service_principals_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_user_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_users_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignment_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignments_v2.go create mode 100644 bundle/internal/tf/schema/data_source_workspace_iam_workspace_identity_detail_v2.go create mode 100644 bundle/internal/tf/schema/resource_account_iam_direct_group_member_v2.go create mode 100644 bundle/internal/tf/schema/resource_account_iam_group_v2.go create mode 100644 bundle/internal/tf/schema/resource_account_iam_service_principal_v2.go create mode 100644 bundle/internal/tf/schema/resource_account_iam_user_v2.go create mode 100644 bundle/internal/tf/schema/resource_account_iam_workspace_assignment_v2.go create mode 100644 bundle/internal/tf/schema/resource_workspace_iam_direct_group_member_v2.go create mode 100644 bundle/internal/tf/schema/resource_workspace_iam_group_v2.go create mode 100644 bundle/internal/tf/schema/resource_workspace_iam_service_principal_v2.go create mode 100644 bundle/internal/tf/schema/resource_workspace_iam_user_v2.go create mode 100644 bundle/internal/tf/schema/resource_workspace_iam_workspace_assignment_v2.go create mode 100644 bundle/internal/tf/schema/resource_workspace_iam_workspace_identity_detail_v2.go diff --git a/.nextchanges/dependency-updates/bump-tf-1.128.0.md b/.nextchanges/dependency-updates/bump-tf-1.128.0.md new file mode 100644 index 00000000000..09e9db1d364 --- /dev/null +++ b/.nextchanges/dependency-updates/bump-tf-1.128.0.md @@ -0,0 +1 @@ +Bump Terraform provider from v1.127.0 to v1.128.0 ([#6323](https://github.com/databricks/cli/pull/6323)). diff --git a/acceptance/bundle/migrate/basic/out.original_state.json b/acceptance/bundle/migrate/basic/out.original_state.json index ccdef021a0c..147893321a1 100644 --- a/acceptance/bundle/migrate/basic/out.original_state.json +++ b/acceptance/bundle/migrate/basic/out.original_state.json @@ -146,6 +146,7 @@ "timeout_seconds": 0, "timeouts": null, "trigger": [], + "triggers": [], "url": "[DATABRICKS_URL]/#job/[NUMID]", "usage_policy_id": null, "webhook_notifications": [ diff --git a/acceptance/bundle/migrate/default-python/out.state_original.json b/acceptance/bundle/migrate/default-python/out.state_original.json index 23cef2d4d93..1363591874f 100644 --- a/acceptance/bundle/migrate/default-python/out.state_original.json +++ b/acceptance/bundle/migrate/default-python/out.state_original.json @@ -381,6 +381,7 @@ "table_update": [] } ], + "triggers": [], "url": "[DATABRICKS_URL]/#job/[NUMID]", "usage_policy_id": null, "webhook_notifications": [ diff --git a/acceptance/bundle/migrate/permissions/out.original_state.json b/acceptance/bundle/migrate/permissions/out.original_state.json index 6a2ee250266..c7341d0ea88 100644 --- a/acceptance/bundle/migrate/permissions/out.original_state.json +++ b/acceptance/bundle/migrate/permissions/out.original_state.json @@ -146,6 +146,7 @@ "timeout_seconds": 0, "timeouts": null, "trigger": [], + "triggers": [], "url": "[DATABRICKS_URL]/#job/[NUMID]", "usage_policy_id": null, "webhook_notifications": [ diff --git a/acceptance/bundle/resources/jobs/update/out.state.terraform.json b/acceptance/bundle/resources/jobs/update/out.state.terraform.json index e7c11656ae2..750dbd3baa0 100644 --- a/acceptance/bundle/resources/jobs/update/out.state.terraform.json +++ b/acceptance/bundle/resources/jobs/update/out.state.terraform.json @@ -150,6 +150,7 @@ "table_update": [] } ], + "triggers": [], "url": "[DATABRICKS_URL]/#job/[FOO_ID]", "usage_policy_id": null, "webhook_notifications": [ diff --git a/bundle/internal/tf/codegen/schema/version.go b/bundle/internal/tf/codegen/schema/version.go index c7ed81f3095..3eaa7ebe473 100644 --- a/bundle/internal/tf/codegen/schema/version.go +++ b/bundle/internal/tf/codegen/schema/version.go @@ -1,4 +1,4 @@ package schema // ProviderVersion is the version of the Databricks Terraform provider used for codegen. -const ProviderVersion = "1.127.0" +const ProviderVersion = "1.128.0" diff --git a/bundle/internal/tf/schema/data_source_account_iam_direct_group_member_v2.go b/bundle/internal/tf/schema/data_source_account_iam_direct_group_member_v2.go new file mode 100644 index 00000000000..6fb340c85ba --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_direct_group_member_v2.go @@ -0,0 +1,12 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamDirectGroupMemberV2 struct { + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId int `json:"group_id"` + MembershipSource string `json:"membership_source,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_direct_group_members_v2.go b/bundle/internal/tf/schema/data_source_account_iam_direct_group_members_v2.go new file mode 100644 index 00000000000..62b1611a53f --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_direct_group_members_v2.go @@ -0,0 +1,18 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamDirectGroupMembersV2DirectGroupMembers struct { + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId int `json:"group_id"` + MembershipSource string `json:"membership_source,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` +} + +type DataSourceAccountIamDirectGroupMembersV2 struct { + DirectGroupMembers []DataSourceAccountIamDirectGroupMembersV2DirectGroupMembers `json:"direct_group_members,omitempty"` + GroupId int `json:"group_id"` + PageSize int `json:"page_size,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_group_v2.go b/bundle/internal/tf/schema/data_source_account_iam_group_v2.go new file mode 100644 index 00000000000..b151327092a --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_group_v2.go @@ -0,0 +1,10 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamGroupV2 struct { + AccountId string `json:"account_id,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId string `json:"group_id"` + GroupName string `json:"group_name,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_groups_v2.go b/bundle/internal/tf/schema/data_source_account_iam_groups_v2.go new file mode 100644 index 00000000000..76497a5cc21 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_groups_v2.go @@ -0,0 +1,16 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamGroupsV2Groups struct { + AccountId string `json:"account_id,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId string `json:"group_id"` + GroupName string `json:"group_name,omitempty"` +} + +type DataSourceAccountIamGroupsV2 struct { + Filter string `json:"filter,omitempty"` + Groups []DataSourceAccountIamGroupsV2Groups `json:"groups,omitempty"` + PageSize int `json:"page_size,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_service_principal_v2.go b/bundle/internal/tf/schema/data_source_account_iam_service_principal_v2.go new file mode 100644 index 00000000000..04e79938459 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_service_principal_v2.go @@ -0,0 +1,12 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamServicePrincipalV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountSpStatus string `json:"account_sp_status,omitempty"` + ApplicationId string `json:"application_id,omitempty"` + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + ServicePrincipalId string `json:"service_principal_id"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_service_principals_v2.go b/bundle/internal/tf/schema/data_source_account_iam_service_principals_v2.go new file mode 100644 index 00000000000..c171cc0d680 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_service_principals_v2.go @@ -0,0 +1,18 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamServicePrincipalsV2ServicePrincipals struct { + AccountId string `json:"account_id,omitempty"` + AccountSpStatus string `json:"account_sp_status,omitempty"` + ApplicationId string `json:"application_id,omitempty"` + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + ServicePrincipalId string `json:"service_principal_id"` +} + +type DataSourceAccountIamServicePrincipalsV2 struct { + Filter string `json:"filter,omitempty"` + PageSize int `json:"page_size,omitempty"` + ServicePrincipals []DataSourceAccountIamServicePrincipalsV2ServicePrincipals `json:"service_principals,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_user_v2.go b/bundle/internal/tf/schema/data_source_account_iam_user_v2.go new file mode 100644 index 00000000000..4852ce779bd --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_user_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamUserV2FullName struct { + FamilyName string `json:"family_name,omitempty"` + GivenName string `json:"given_name,omitempty"` +} + +type DataSourceAccountIamUserV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountUserStatus string `json:"account_user_status,omitempty"` + ExternalId string `json:"external_id,omitempty"` + FullName *DataSourceAccountIamUserV2FullName `json:"full_name,omitempty"` + UserId string `json:"user_id"` + Username string `json:"username,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_users_v2.go b/bundle/internal/tf/schema/data_source_account_iam_users_v2.go new file mode 100644 index 00000000000..93dd927ed10 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_users_v2.go @@ -0,0 +1,23 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamUsersV2UsersFullName struct { + FamilyName string `json:"family_name,omitempty"` + GivenName string `json:"given_name,omitempty"` +} + +type DataSourceAccountIamUsersV2Users struct { + AccountId string `json:"account_id,omitempty"` + AccountUserStatus string `json:"account_user_status,omitempty"` + ExternalId string `json:"external_id,omitempty"` + FullName *DataSourceAccountIamUsersV2UsersFullName `json:"full_name,omitempty"` + UserId string `json:"user_id"` + Username string `json:"username,omitempty"` +} + +type DataSourceAccountIamUsersV2 struct { + Filter string `json:"filter,omitempty"` + PageSize int `json:"page_size,omitempty"` + Users []DataSourceAccountIamUsersV2Users `json:"users,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_workspace_assignment_v2.go b/bundle/internal/tf/schema/data_source_account_iam_workspace_assignment_v2.go new file mode 100644 index 00000000000..11e34e91bab --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_workspace_assignment_v2.go @@ -0,0 +1,12 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamWorkspaceAssignmentV2 struct { + AccountId string `json:"account_id,omitempty"` + EffectiveEntitlements []string `json:"effective_entitlements,omitempty"` + Entitlements []string `json:"entitlements,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + WorkspaceId int `json:"workspace_id"` +} diff --git a/bundle/internal/tf/schema/data_source_account_iam_workspace_assignments_v2.go b/bundle/internal/tf/schema/data_source_account_iam_workspace_assignments_v2.go new file mode 100644 index 00000000000..033980f1ffb --- /dev/null +++ b/bundle/internal/tf/schema/data_source_account_iam_workspace_assignments_v2.go @@ -0,0 +1,18 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAccountIamWorkspaceAssignmentsV2WorkspaceAssignments struct { + AccountId string `json:"account_id,omitempty"` + EffectiveEntitlements []string `json:"effective_entitlements,omitempty"` + Entitlements []string `json:"entitlements,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + WorkspaceId int `json:"workspace_id"` +} + +type DataSourceAccountIamWorkspaceAssignmentsV2 struct { + PageSize int `json:"page_size,omitempty"` + WorkspaceAssignments []DataSourceAccountIamWorkspaceAssignmentsV2WorkspaceAssignments `json:"workspace_assignments,omitempty"` + WorkspaceId int `json:"workspace_id"` +} diff --git a/bundle/internal/tf/schema/data_source_ai_gateway_mcp_service.go b/bundle/internal/tf/schema/data_source_ai_gateway_mcp_service.go index be374e6ac13..bd1dab6c3f3 100644 --- a/bundle/internal/tf/schema/data_source_ai_gateway_mcp_service.go +++ b/bundle/internal/tf/schema/data_source_ai_gateway_mcp_service.go @@ -28,7 +28,6 @@ type DataSourceAiGatewayMcpServiceProviderConfig struct { } type DataSourceAiGatewayMcpService struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *DataSourceAiGatewayMcpServiceConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_ai_gateway_mcp_services.go b/bundle/internal/tf/schema/data_source_ai_gateway_mcp_services.go index 79eb6eb86e3..28839c58ae8 100644 --- a/bundle/internal/tf/schema/data_source_ai_gateway_mcp_services.go +++ b/bundle/internal/tf/schema/data_source_ai_gateway_mcp_services.go @@ -28,7 +28,6 @@ type DataSourceAiGatewayMcpServicesMcpServicesProviderConfig struct { } type DataSourceAiGatewayMcpServicesMcpServices struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *DataSourceAiGatewayMcpServicesMcpServicesConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` @@ -48,7 +47,6 @@ type DataSourceAiGatewayMcpServicesProviderConfig struct { } type DataSourceAiGatewayMcpServices struct { - IncludeBrowse bool `json:"include_browse,omitempty"` McpServices []DataSourceAiGatewayMcpServicesMcpServices `json:"mcp_services,omitempty"` PageSize int `json:"page_size,omitempty"` Parent string `json:"parent,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_service.go b/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_service.go index 076687635e9..3e3145b703a 100644 --- a/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_service.go +++ b/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_service.go @@ -187,7 +187,6 @@ type DataSourceAiGatewayModelProviderServiceProviderConfig struct { } type DataSourceAiGatewayModelProviderService struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *DataSourceAiGatewayModelProviderServiceConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_services.go b/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_services.go index bf4c7beb9c6..2cdff658b9a 100644 --- a/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_services.go +++ b/bundle/internal/tf/schema/data_source_ai_gateway_model_provider_services.go @@ -187,7 +187,6 @@ type DataSourceAiGatewayModelProviderServicesModelProviderServicesProviderConfig } type DataSourceAiGatewayModelProviderServicesModelProviderServices struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *DataSourceAiGatewayModelProviderServicesModelProviderServicesConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` @@ -207,7 +206,6 @@ type DataSourceAiGatewayModelProviderServicesProviderConfig struct { } type DataSourceAiGatewayModelProviderServices struct { - IncludeBrowse bool `json:"include_browse,omitempty"` ModelProviderServices []DataSourceAiGatewayModelProviderServicesModelProviderServices `json:"model_provider_services,omitempty"` PageSize int `json:"page_size,omitempty"` Parent string `json:"parent,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_ai_gateway_model_service.go b/bundle/internal/tf/schema/data_source_ai_gateway_model_service.go index b300ed007aa..4cc9ab4a0c8 100644 --- a/bundle/internal/tf/schema/data_source_ai_gateway_model_service.go +++ b/bundle/internal/tf/schema/data_source_ai_gateway_model_service.go @@ -102,7 +102,6 @@ type DataSourceAiGatewayModelServiceProviderConfig struct { } type DataSourceAiGatewayModelService struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *DataSourceAiGatewayModelServiceConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_ai_gateway_model_services.go b/bundle/internal/tf/schema/data_source_ai_gateway_model_services.go index 79d17811960..391bc17f077 100644 --- a/bundle/internal/tf/schema/data_source_ai_gateway_model_services.go +++ b/bundle/internal/tf/schema/data_source_ai_gateway_model_services.go @@ -102,7 +102,6 @@ type DataSourceAiGatewayModelServicesModelServicesProviderConfig struct { } type DataSourceAiGatewayModelServicesModelServices struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *DataSourceAiGatewayModelServicesModelServicesConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` @@ -123,7 +122,6 @@ type DataSourceAiGatewayModelServicesProviderConfig struct { } type DataSourceAiGatewayModelServices struct { - IncludeBrowse bool `json:"include_browse,omitempty"` ModelServices []DataSourceAiGatewayModelServicesModelServices `json:"model_services,omitempty"` PageSize int `json:"page_size,omitempty"` Parent string `json:"parent,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_app.go b/bundle/internal/tf/schema/data_source_app.go index d396e9f7cee..9dcff79480a 100644 --- a/bundle/internal/tf/schema/data_source_app.go +++ b/bundle/internal/tf/schema/data_source_app.go @@ -13,8 +13,10 @@ type DataSourceAppAppActiveDeploymentEnvVars struct { } type DataSourceAppAppActiveDeploymentGitSourceGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppAppActiveDeploymentGitSource struct { @@ -57,9 +59,43 @@ type DataSourceAppAppComputeStatus struct { State string `json:"state,omitempty"` } +type DataSourceAppAppDefaultGitSourceGitRepository struct { + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type DataSourceAppAppDefaultGitSource struct { + Branch string `json:"branch,omitempty"` + Commit string `json:"commit,omitempty"` + GitRepository *DataSourceAppAppDefaultGitSourceGitRepository `json:"git_repository,omitempty"` + ResolvedCommit string `json:"resolved_commit,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` + Tag string `json:"tag,omitempty"` +} + type DataSourceAppAppGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type DataSourceAppAppGitSourceGitRepository struct { + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type DataSourceAppAppGitSource struct { + Branch string `json:"branch,omitempty"` + Commit string `json:"commit,omitempty"` + GitRepository *DataSourceAppAppGitSourceGitRepository `json:"git_repository,omitempty"` + ResolvedCommit string `json:"resolved_commit,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` + Tag string `json:"tag,omitempty"` } type DataSourceAppAppPendingDeploymentDeploymentArtifacts struct { @@ -73,8 +109,10 @@ type DataSourceAppAppPendingDeploymentEnvVars struct { } type DataSourceAppAppPendingDeploymentGitSourceGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppAppPendingDeploymentGitSource struct { @@ -196,12 +234,15 @@ type DataSourceAppApp struct { ComputeStatus *DataSourceAppAppComputeStatus `json:"compute_status,omitempty"` CreateTime string `json:"create_time,omitempty"` Creator string `json:"creator,omitempty"` + DefaultGitSource *DataSourceAppAppDefaultGitSource `json:"default_git_source,omitempty"` DefaultSourceCodePath string `json:"default_source_code_path,omitempty"` Description string `json:"description,omitempty"` EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` EffectiveUsagePolicyId string `json:"effective_usage_policy_id,omitempty"` EffectiveUserApiScopes []string `json:"effective_user_api_scopes,omitempty"` + ForwardUserAccessToken bool `json:"forward_user_access_token,omitempty"` GitRepository *DataSourceAppAppGitRepository `json:"git_repository,omitempty"` + GitSource *DataSourceAppAppGitSource `json:"git_source,omitempty"` Id string `json:"id,omitempty"` Name string `json:"name"` Oauth2AppClientId string `json:"oauth2_app_client_id,omitempty"` @@ -211,6 +252,7 @@ type DataSourceAppApp struct { ServicePrincipalClientId string `json:"service_principal_client_id,omitempty"` ServicePrincipalId int `json:"service_principal_id,omitempty"` ServicePrincipalName string `json:"service_principal_name,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` Space string `json:"space,omitempty"` TelemetryExportDestinations []DataSourceAppAppTelemetryExportDestinations `json:"telemetry_export_destinations,omitempty"` ThumbnailUrl string `json:"thumbnail_url,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_apps.go b/bundle/internal/tf/schema/data_source_apps.go index 10cdd64ddc5..e9d54e64177 100644 --- a/bundle/internal/tf/schema/data_source_apps.go +++ b/bundle/internal/tf/schema/data_source_apps.go @@ -13,8 +13,10 @@ type DataSourceAppsAppActiveDeploymentEnvVars struct { } type DataSourceAppsAppActiveDeploymentGitSourceGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppsAppActiveDeploymentGitSource struct { @@ -57,9 +59,43 @@ type DataSourceAppsAppComputeStatus struct { State string `json:"state,omitempty"` } +type DataSourceAppsAppDefaultGitSourceGitRepository struct { + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type DataSourceAppsAppDefaultGitSource struct { + Branch string `json:"branch,omitempty"` + Commit string `json:"commit,omitempty"` + GitRepository *DataSourceAppsAppDefaultGitSourceGitRepository `json:"git_repository,omitempty"` + ResolvedCommit string `json:"resolved_commit,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` + Tag string `json:"tag,omitempty"` +} + type DataSourceAppsAppGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type DataSourceAppsAppGitSourceGitRepository struct { + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type DataSourceAppsAppGitSource struct { + Branch string `json:"branch,omitempty"` + Commit string `json:"commit,omitempty"` + GitRepository *DataSourceAppsAppGitSourceGitRepository `json:"git_repository,omitempty"` + ResolvedCommit string `json:"resolved_commit,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` + Tag string `json:"tag,omitempty"` } type DataSourceAppsAppPendingDeploymentDeploymentArtifacts struct { @@ -73,8 +109,10 @@ type DataSourceAppsAppPendingDeploymentEnvVars struct { } type DataSourceAppsAppPendingDeploymentGitSourceGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppsAppPendingDeploymentGitSource struct { @@ -196,12 +234,15 @@ type DataSourceAppsApp struct { ComputeStatus *DataSourceAppsAppComputeStatus `json:"compute_status,omitempty"` CreateTime string `json:"create_time,omitempty"` Creator string `json:"creator,omitempty"` + DefaultGitSource *DataSourceAppsAppDefaultGitSource `json:"default_git_source,omitempty"` DefaultSourceCodePath string `json:"default_source_code_path,omitempty"` Description string `json:"description,omitempty"` EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` EffectiveUsagePolicyId string `json:"effective_usage_policy_id,omitempty"` EffectiveUserApiScopes []string `json:"effective_user_api_scopes,omitempty"` + ForwardUserAccessToken bool `json:"forward_user_access_token,omitempty"` GitRepository *DataSourceAppsAppGitRepository `json:"git_repository,omitempty"` + GitSource *DataSourceAppsAppGitSource `json:"git_source,omitempty"` Id string `json:"id,omitempty"` Name string `json:"name"` Oauth2AppClientId string `json:"oauth2_app_client_id,omitempty"` @@ -211,6 +252,7 @@ type DataSourceAppsApp struct { ServicePrincipalClientId string `json:"service_principal_client_id,omitempty"` ServicePrincipalId int `json:"service_principal_id,omitempty"` ServicePrincipalName string `json:"service_principal_name,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` Space string `json:"space,omitempty"` TelemetryExportDestinations []DataSourceAppsAppTelemetryExportDestinations `json:"telemetry_export_destinations,omitempty"` ThumbnailUrl string `json:"thumbnail_url,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_feature_engineering_feature.go b/bundle/internal/tf/schema/data_source_feature_engineering_feature.go index ea1ec37cee9..9b61de5895d 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_feature.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_feature.go @@ -138,6 +138,16 @@ type DataSourceFeatureEngineeringFeatureFunctionColumnSelection struct { Column string `json:"column"` } +type DataSourceFeatureEngineeringFeatureFunctionCustomUdfInputBindings struct { + Column string `json:"column"` + Parameter string `json:"parameter"` +} + +type DataSourceFeatureEngineeringFeatureFunctionCustomUdf struct { + FunctionPath string `json:"function_path"` + InputBindings []DataSourceFeatureEngineeringFeatureFunctionCustomUdfInputBindings `json:"input_bindings,omitempty"` +} + type DataSourceFeatureEngineeringFeatureFunctionExtraParameters struct { Key string `json:"key"` Value string `json:"value"` @@ -146,6 +156,7 @@ type DataSourceFeatureEngineeringFeatureFunctionExtraParameters struct { type DataSourceFeatureEngineeringFeatureFunction struct { AggregationFunction *DataSourceFeatureEngineeringFeatureFunctionAggregationFunction `json:"aggregation_function,omitempty"` ColumnSelection *DataSourceFeatureEngineeringFeatureFunctionColumnSelection `json:"column_selection,omitempty"` + CustomUdf *DataSourceFeatureEngineeringFeatureFunctionCustomUdf `json:"custom_udf,omitempty"` ExtraParameters []DataSourceFeatureEngineeringFeatureFunctionExtraParameters `json:"extra_parameters,omitempty"` FunctionType string `json:"function_type,omitempty"` } diff --git a/bundle/internal/tf/schema/data_source_feature_engineering_features.go b/bundle/internal/tf/schema/data_source_feature_engineering_features.go index a153b7237cb..68122169086 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_features.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_features.go @@ -138,6 +138,16 @@ type DataSourceFeatureEngineeringFeaturesFeaturesFunctionColumnSelection struct Column string `json:"column"` } +type DataSourceFeatureEngineeringFeaturesFeaturesFunctionCustomUdfInputBindings struct { + Column string `json:"column"` + Parameter string `json:"parameter"` +} + +type DataSourceFeatureEngineeringFeaturesFeaturesFunctionCustomUdf struct { + FunctionPath string `json:"function_path"` + InputBindings []DataSourceFeatureEngineeringFeaturesFeaturesFunctionCustomUdfInputBindings `json:"input_bindings,omitempty"` +} + type DataSourceFeatureEngineeringFeaturesFeaturesFunctionExtraParameters struct { Key string `json:"key"` Value string `json:"value"` @@ -146,6 +156,7 @@ type DataSourceFeatureEngineeringFeaturesFeaturesFunctionExtraParameters struct type DataSourceFeatureEngineeringFeaturesFeaturesFunction struct { AggregationFunction *DataSourceFeatureEngineeringFeaturesFeaturesFunctionAggregationFunction `json:"aggregation_function,omitempty"` ColumnSelection *DataSourceFeatureEngineeringFeaturesFeaturesFunctionColumnSelection `json:"column_selection,omitempty"` + CustomUdf *DataSourceFeatureEngineeringFeaturesFeaturesFunctionCustomUdf `json:"custom_udf,omitempty"` ExtraParameters []DataSourceFeatureEngineeringFeaturesFeaturesFunctionExtraParameters `json:"extra_parameters,omitempty"` FunctionType string `json:"function_type,omitempty"` } diff --git a/bundle/internal/tf/schema/data_source_postgres_synced_table.go b/bundle/internal/tf/schema/data_source_postgres_synced_table.go index 2f901b4bb7e..63a3fe0ffc0 100644 --- a/bundle/internal/tf/schema/data_source_postgres_synced_table.go +++ b/bundle/internal/tf/schema/data_source_postgres_synced_table.go @@ -14,9 +14,10 @@ type DataSourcePostgresSyncedTableSpecExtraColumns struct { } type DataSourcePostgresSyncedTableSpecNewPipelineSpec struct { - BudgetPolicyId string `json:"budget_policy_id,omitempty"` - StorageCatalog string `json:"storage_catalog,omitempty"` - StorageSchema string `json:"storage_schema,omitempty"` + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + PipelineChannel string `json:"pipeline_channel,omitempty"` + StorageCatalog string `json:"storage_catalog,omitempty"` + StorageSchema string `json:"storage_schema,omitempty"` } type DataSourcePostgresSyncedTableSpecTypeOverrides struct { diff --git a/bundle/internal/tf/schema/data_source_serving_endpoints.go b/bundle/internal/tf/schema/data_source_serving_endpoints.go index f94fc842d5f..dc65315d23c 100644 --- a/bundle/internal/tf/schema/data_source_serving_endpoints.go +++ b/bundle/internal/tf/schema/data_source_serving_endpoints.go @@ -199,9 +199,10 @@ type DataSourceServingEndpointsEndpointsTelemetryConfigTableNames struct { } type DataSourceServingEndpointsEndpointsTelemetryConfig struct { - InferenceTableConfig []DataSourceServingEndpointsEndpointsTelemetryConfigInferenceTableConfig `json:"inference_table_config,omitempty"` - TableNames []DataSourceServingEndpointsEndpointsTelemetryConfigTableNames `json:"table_names,omitempty"` - TelemetryProfileId string `json:"telemetry_profile_id,omitempty"` + EnabledTelemetryFeatures []string `json:"enabled_telemetry_features,omitempty"` + InferenceTableConfig []DataSourceServingEndpointsEndpointsTelemetryConfigInferenceTableConfig `json:"inference_table_config,omitempty"` + TableNames []DataSourceServingEndpointsEndpointsTelemetryConfigTableNames `json:"table_names,omitempty"` + TelemetryProfileId string `json:"telemetry_profile_id,omitempty"` } type DataSourceServingEndpointsEndpoints struct { diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_direct_group_member_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_direct_group_member_v2.go new file mode 100644 index 00000000000..6d9ce17855e --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_direct_group_member_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamDirectGroupMemberV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamDirectGroupMemberV2 struct { + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId int `json:"group_id"` + MembershipSource string `json:"membership_source,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *DataSourceWorkspaceIamDirectGroupMemberV2ProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_direct_group_members_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_direct_group_members_v2.go new file mode 100644 index 00000000000..a8adbbdbb93 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_direct_group_members_v2.go @@ -0,0 +1,28 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamDirectGroupMembersV2DirectGroupMembersProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamDirectGroupMembersV2DirectGroupMembers struct { + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId int `json:"group_id"` + MembershipSource string `json:"membership_source,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *DataSourceWorkspaceIamDirectGroupMembersV2DirectGroupMembersProviderConfig `json:"provider_config,omitempty"` +} + +type DataSourceWorkspaceIamDirectGroupMembersV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamDirectGroupMembersV2 struct { + DirectGroupMembers []DataSourceWorkspaceIamDirectGroupMembersV2DirectGroupMembers `json:"direct_group_members,omitempty"` + GroupId int `json:"group_id"` + PageSize int `json:"page_size,omitempty"` + ProviderConfig *DataSourceWorkspaceIamDirectGroupMembersV2ProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_group_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_group_v2.go new file mode 100644 index 00000000000..87f3afc338d --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_group_v2.go @@ -0,0 +1,15 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamGroupV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamGroupV2 struct { + AccountId string `json:"account_id,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId string `json:"group_id"` + GroupName string `json:"group_name,omitempty"` + ProviderConfig *DataSourceWorkspaceIamGroupV2ProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_groups_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_groups_v2.go new file mode 100644 index 00000000000..eb0093a06a6 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_groups_v2.go @@ -0,0 +1,26 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamGroupsV2GroupsProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamGroupsV2Groups struct { + AccountId string `json:"account_id,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId string `json:"group_id"` + GroupName string `json:"group_name,omitempty"` + ProviderConfig *DataSourceWorkspaceIamGroupsV2GroupsProviderConfig `json:"provider_config,omitempty"` +} + +type DataSourceWorkspaceIamGroupsV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamGroupsV2 struct { + Filter string `json:"filter,omitempty"` + Groups []DataSourceWorkspaceIamGroupsV2Groups `json:"groups,omitempty"` + PageSize int `json:"page_size,omitempty"` + ProviderConfig *DataSourceWorkspaceIamGroupsV2ProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_service_principal_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_service_principal_v2.go new file mode 100644 index 00000000000..7dfe796f49d --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_service_principal_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamServicePrincipalV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamServicePrincipalV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountSpStatus string `json:"account_sp_status,omitempty"` + ApplicationId string `json:"application_id,omitempty"` + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + ProviderConfig *DataSourceWorkspaceIamServicePrincipalV2ProviderConfig `json:"provider_config,omitempty"` + ServicePrincipalId string `json:"service_principal_id"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_service_principals_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_service_principals_v2.go new file mode 100644 index 00000000000..4521552f931 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_service_principals_v2.go @@ -0,0 +1,28 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamServicePrincipalsV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamServicePrincipalsV2ServicePrincipalsProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamServicePrincipalsV2ServicePrincipals struct { + AccountId string `json:"account_id,omitempty"` + AccountSpStatus string `json:"account_sp_status,omitempty"` + ApplicationId string `json:"application_id,omitempty"` + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + ProviderConfig *DataSourceWorkspaceIamServicePrincipalsV2ServicePrincipalsProviderConfig `json:"provider_config,omitempty"` + ServicePrincipalId string `json:"service_principal_id"` +} + +type DataSourceWorkspaceIamServicePrincipalsV2 struct { + Filter string `json:"filter,omitempty"` + PageSize int `json:"page_size,omitempty"` + ProviderConfig *DataSourceWorkspaceIamServicePrincipalsV2ProviderConfig `json:"provider_config,omitempty"` + ServicePrincipals []DataSourceWorkspaceIamServicePrincipalsV2ServicePrincipals `json:"service_principals,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_user_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_user_v2.go new file mode 100644 index 00000000000..344a9e01c61 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_user_v2.go @@ -0,0 +1,22 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamUserV2FullName struct { + FamilyName string `json:"family_name,omitempty"` + GivenName string `json:"given_name,omitempty"` +} + +type DataSourceWorkspaceIamUserV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamUserV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountUserStatus string `json:"account_user_status,omitempty"` + ExternalId string `json:"external_id,omitempty"` + FullName *DataSourceWorkspaceIamUserV2FullName `json:"full_name,omitempty"` + ProviderConfig *DataSourceWorkspaceIamUserV2ProviderConfig `json:"provider_config,omitempty"` + UserId string `json:"user_id"` + Username string `json:"username,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_users_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_users_v2.go new file mode 100644 index 00000000000..672c1a73021 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_users_v2.go @@ -0,0 +1,33 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamUsersV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamUsersV2UsersFullName struct { + FamilyName string `json:"family_name,omitempty"` + GivenName string `json:"given_name,omitempty"` +} + +type DataSourceWorkspaceIamUsersV2UsersProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamUsersV2Users struct { + AccountId string `json:"account_id,omitempty"` + AccountUserStatus string `json:"account_user_status,omitempty"` + ExternalId string `json:"external_id,omitempty"` + FullName *DataSourceWorkspaceIamUsersV2UsersFullName `json:"full_name,omitempty"` + ProviderConfig *DataSourceWorkspaceIamUsersV2UsersProviderConfig `json:"provider_config,omitempty"` + UserId string `json:"user_id"` + Username string `json:"username,omitempty"` +} + +type DataSourceWorkspaceIamUsersV2 struct { + Filter string `json:"filter,omitempty"` + PageSize int `json:"page_size,omitempty"` + ProviderConfig *DataSourceWorkspaceIamUsersV2ProviderConfig `json:"provider_config,omitempty"` + Users []DataSourceWorkspaceIamUsersV2Users `json:"users,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignment_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignment_v2.go new file mode 100644 index 00000000000..a6ec64a138f --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignment_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamWorkspaceAssignmentV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamWorkspaceAssignmentV2 struct { + AccountId string `json:"account_id,omitempty"` + EffectiveEntitlements []string `json:"effective_entitlements,omitempty"` + Entitlements []string `json:"entitlements,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *DataSourceWorkspaceIamWorkspaceAssignmentV2ProviderConfig `json:"provider_config,omitempty"` + WorkspaceId int `json:"workspace_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignments_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignments_v2.go new file mode 100644 index 00000000000..a2a7128dc9e --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_workspace_assignments_v2.go @@ -0,0 +1,27 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamWorkspaceAssignmentsV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamWorkspaceAssignmentsV2WorkspaceAssignmentsProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamWorkspaceAssignmentsV2WorkspaceAssignments struct { + AccountId string `json:"account_id,omitempty"` + EffectiveEntitlements []string `json:"effective_entitlements,omitempty"` + Entitlements []string `json:"entitlements,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *DataSourceWorkspaceIamWorkspaceAssignmentsV2WorkspaceAssignmentsProviderConfig `json:"provider_config,omitempty"` + WorkspaceId int `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamWorkspaceAssignmentsV2 struct { + PageSize int `json:"page_size,omitempty"` + ProviderConfig *DataSourceWorkspaceIamWorkspaceAssignmentsV2ProviderConfig `json:"provider_config,omitempty"` + WorkspaceAssignments []DataSourceWorkspaceIamWorkspaceAssignmentsV2WorkspaceAssignments `json:"workspace_assignments,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_workspace_iam_workspace_identity_detail_v2.go b/bundle/internal/tf/schema/data_source_workspace_iam_workspace_identity_detail_v2.go new file mode 100644 index 00000000000..197ffabc476 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_workspace_iam_workspace_identity_detail_v2.go @@ -0,0 +1,15 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceWorkspaceIamWorkspaceIdentityDetailV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceWorkspaceIamWorkspaceIdentityDetailV2 struct { + AssignmentType string `json:"assignment_type,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *DataSourceWorkspaceIamWorkspaceIdentityDetailV2ProviderConfig `json:"provider_config,omitempty"` + WorkspaceIdentityStatus string `json:"workspace_identity_status,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_sources.go b/bundle/internal/tf/schema/data_sources.go index a71803bad51..5fce05b6122 100644 --- a/bundle/internal/tf/schema/data_sources.go +++ b/bundle/internal/tf/schema/data_sources.go @@ -5,6 +5,16 @@ package schema type DataSources struct { AccountFederationPolicies map[string]any `json:"databricks_account_federation_policies,omitempty"` AccountFederationPolicy map[string]any `json:"databricks_account_federation_policy,omitempty"` + AccountIamDirectGroupMemberV2 map[string]any `json:"databricks_account_iam_direct_group_member_v2,omitempty"` + AccountIamDirectGroupMembersV2 map[string]any `json:"databricks_account_iam_direct_group_members_v2,omitempty"` + AccountIamGroupV2 map[string]any `json:"databricks_account_iam_group_v2,omitempty"` + AccountIamGroupsV2 map[string]any `json:"databricks_account_iam_groups_v2,omitempty"` + AccountIamServicePrincipalV2 map[string]any `json:"databricks_account_iam_service_principal_v2,omitempty"` + AccountIamServicePrincipalsV2 map[string]any `json:"databricks_account_iam_service_principals_v2,omitempty"` + AccountIamUserV2 map[string]any `json:"databricks_account_iam_user_v2,omitempty"` + AccountIamUsersV2 map[string]any `json:"databricks_account_iam_users_v2,omitempty"` + AccountIamWorkspaceAssignmentV2 map[string]any `json:"databricks_account_iam_workspace_assignment_v2,omitempty"` + AccountIamWorkspaceAssignmentsV2 map[string]any `json:"databricks_account_iam_workspace_assignments_v2,omitempty"` AccountNetworkPolicies map[string]any `json:"databricks_account_network_policies,omitempty"` AccountNetworkPolicy map[string]any `json:"databricks_account_network_policy,omitempty"` AccountSettingUserPreferenceV2 map[string]any `json:"databricks_account_setting_user_preference_v2,omitempty"` @@ -164,6 +174,17 @@ type DataSources struct { WarehousesDefaultWarehouseOverrides map[string]any `json:"databricks_warehouses_default_warehouse_overrides,omitempty"` WorkspaceEntityTagAssignment map[string]any `json:"databricks_workspace_entity_tag_assignment,omitempty"` WorkspaceEntityTagAssignments map[string]any `json:"databricks_workspace_entity_tag_assignments,omitempty"` + WorkspaceIamDirectGroupMemberV2 map[string]any `json:"databricks_workspace_iam_direct_group_member_v2,omitempty"` + WorkspaceIamDirectGroupMembersV2 map[string]any `json:"databricks_workspace_iam_direct_group_members_v2,omitempty"` + WorkspaceIamGroupV2 map[string]any `json:"databricks_workspace_iam_group_v2,omitempty"` + WorkspaceIamGroupsV2 map[string]any `json:"databricks_workspace_iam_groups_v2,omitempty"` + WorkspaceIamServicePrincipalV2 map[string]any `json:"databricks_workspace_iam_service_principal_v2,omitempty"` + WorkspaceIamServicePrincipalsV2 map[string]any `json:"databricks_workspace_iam_service_principals_v2,omitempty"` + WorkspaceIamUserV2 map[string]any `json:"databricks_workspace_iam_user_v2,omitempty"` + WorkspaceIamUsersV2 map[string]any `json:"databricks_workspace_iam_users_v2,omitempty"` + WorkspaceIamWorkspaceAssignmentV2 map[string]any `json:"databricks_workspace_iam_workspace_assignment_v2,omitempty"` + WorkspaceIamWorkspaceAssignmentsV2 map[string]any `json:"databricks_workspace_iam_workspace_assignments_v2,omitempty"` + WorkspaceIamWorkspaceIdentityDetailV2 map[string]any `json:"databricks_workspace_iam_workspace_identity_detail_v2,omitempty"` WorkspaceNetworkOption map[string]any `json:"databricks_workspace_network_option,omitempty"` WorkspaceSettingV2 map[string]any `json:"databricks_workspace_setting_v2,omitempty"` Zones map[string]any `json:"databricks_zones,omitempty"` @@ -171,68 +192,78 @@ type DataSources struct { func NewDataSources() *DataSources { return &DataSources{ - AccountFederationPolicies: make(map[string]any), - AccountFederationPolicy: make(map[string]any), - AccountNetworkPolicies: make(map[string]any), - AccountNetworkPolicy: make(map[string]any), - AccountSettingUserPreferenceV2: make(map[string]any), - AccountSettingV2: make(map[string]any), - AiGatewayMcpService: make(map[string]any), - AiGatewayMcpServices: make(map[string]any), - AiGatewayModelProviderService: make(map[string]any), - AiGatewayModelProviderServices: make(map[string]any), - AiGatewayModelService: make(map[string]any), - AiGatewayModelServices: make(map[string]any), - AiSearchEndpoint: make(map[string]any), - AiSearchEndpoints: make(map[string]any), - AiSearchIndex: make(map[string]any), - AiSearchIndexes: make(map[string]any), - AlertV2: make(map[string]any), - AlertsV2: make(map[string]any), - App: make(map[string]any), - AppSpace: make(map[string]any), - AppSpaces: make(map[string]any), - Apps: make(map[string]any), - AppsSettingsCustomTemplate: make(map[string]any), - AppsSettingsCustomTemplates: make(map[string]any), - AwsAssumeRolePolicy: make(map[string]any), - AwsBucketPolicy: make(map[string]any), - AwsCrossaccountPolicy: make(map[string]any), - AwsUnityCatalogAssumeRolePolicy: make(map[string]any), - AwsUnityCatalogPolicy: make(map[string]any), - BudgetPolicies: make(map[string]any), - BudgetPolicy: make(map[string]any), - Catalog: make(map[string]any), - Catalogs: make(map[string]any), - Cluster: make(map[string]any), - ClusterPolicy: make(map[string]any), - Clusters: make(map[string]any), - CurrentConfig: make(map[string]any), - CurrentMetastore: make(map[string]any), - CurrentUser: make(map[string]any), - Dashboards: make(map[string]any), - DataClassificationCatalogConfig: make(map[string]any), - DataQualityMonitor: make(map[string]any), - DataQualityMonitors: make(map[string]any), - DataQualityRefresh: make(map[string]any), - DataQualityRefreshes: make(map[string]any), - DatabaseDatabaseCatalog: make(map[string]any), - DatabaseDatabaseCatalogs: make(map[string]any), - DatabaseInstance: make(map[string]any), - DatabaseInstances: make(map[string]any), - DatabaseSyncedDatabaseTable: make(map[string]any), - DatabaseSyncedDatabaseTables: make(map[string]any), - DbfsFile: make(map[string]any), - DbfsFilePaths: make(map[string]any), - Directory: make(map[string]any), - DisasterRecoveryFailoverGroup: make(map[string]any), - DisasterRecoveryFailoverGroups: make(map[string]any), - DisasterRecoveryStableUrl: make(map[string]any), - DisasterRecoveryStableUrls: make(map[string]any), - Endpoint: make(map[string]any), - Endpoints: make(map[string]any), - EntityTagAssignment: make(map[string]any), - EntityTagAssignments: make(map[string]any), + AccountFederationPolicies: make(map[string]any), + AccountFederationPolicy: make(map[string]any), + AccountIamDirectGroupMemberV2: make(map[string]any), + AccountIamDirectGroupMembersV2: make(map[string]any), + AccountIamGroupV2: make(map[string]any), + AccountIamGroupsV2: make(map[string]any), + AccountIamServicePrincipalV2: make(map[string]any), + AccountIamServicePrincipalsV2: make(map[string]any), + AccountIamUserV2: make(map[string]any), + AccountIamUsersV2: make(map[string]any), + AccountIamWorkspaceAssignmentV2: make(map[string]any), + AccountIamWorkspaceAssignmentsV2: make(map[string]any), + AccountNetworkPolicies: make(map[string]any), + AccountNetworkPolicy: make(map[string]any), + AccountSettingUserPreferenceV2: make(map[string]any), + AccountSettingV2: make(map[string]any), + AiGatewayMcpService: make(map[string]any), + AiGatewayMcpServices: make(map[string]any), + AiGatewayModelProviderService: make(map[string]any), + AiGatewayModelProviderServices: make(map[string]any), + AiGatewayModelService: make(map[string]any), + AiGatewayModelServices: make(map[string]any), + AiSearchEndpoint: make(map[string]any), + AiSearchEndpoints: make(map[string]any), + AiSearchIndex: make(map[string]any), + AiSearchIndexes: make(map[string]any), + AlertV2: make(map[string]any), + AlertsV2: make(map[string]any), + App: make(map[string]any), + AppSpace: make(map[string]any), + AppSpaces: make(map[string]any), + Apps: make(map[string]any), + AppsSettingsCustomTemplate: make(map[string]any), + AppsSettingsCustomTemplates: make(map[string]any), + AwsAssumeRolePolicy: make(map[string]any), + AwsBucketPolicy: make(map[string]any), + AwsCrossaccountPolicy: make(map[string]any), + AwsUnityCatalogAssumeRolePolicy: make(map[string]any), + AwsUnityCatalogPolicy: make(map[string]any), + BudgetPolicies: make(map[string]any), + BudgetPolicy: make(map[string]any), + Catalog: make(map[string]any), + Catalogs: make(map[string]any), + Cluster: make(map[string]any), + ClusterPolicy: make(map[string]any), + Clusters: make(map[string]any), + CurrentConfig: make(map[string]any), + CurrentMetastore: make(map[string]any), + CurrentUser: make(map[string]any), + Dashboards: make(map[string]any), + DataClassificationCatalogConfig: make(map[string]any), + DataQualityMonitor: make(map[string]any), + DataQualityMonitors: make(map[string]any), + DataQualityRefresh: make(map[string]any), + DataQualityRefreshes: make(map[string]any), + DatabaseDatabaseCatalog: make(map[string]any), + DatabaseDatabaseCatalogs: make(map[string]any), + DatabaseInstance: make(map[string]any), + DatabaseInstances: make(map[string]any), + DatabaseSyncedDatabaseTable: make(map[string]any), + DatabaseSyncedDatabaseTables: make(map[string]any), + DbfsFile: make(map[string]any), + DbfsFilePaths: make(map[string]any), + Directory: make(map[string]any), + DisasterRecoveryFailoverGroup: make(map[string]any), + DisasterRecoveryFailoverGroups: make(map[string]any), + DisasterRecoveryStableUrl: make(map[string]any), + DisasterRecoveryStableUrls: make(map[string]any), + Endpoint: make(map[string]any), + Endpoints: make(map[string]any), + EntityTagAssignment: make(map[string]any), + EntityTagAssignments: make(map[string]any), EnvironmentsDefaultWorkspaceBaseEnvironment: make(map[string]any), EnvironmentsWorkspaceBaseEnvironment: make(map[string]any), EnvironmentsWorkspaceBaseEnvironments: make(map[string]any), @@ -332,6 +363,17 @@ func NewDataSources() *DataSources { WarehousesDefaultWarehouseOverrides: make(map[string]any), WorkspaceEntityTagAssignment: make(map[string]any), WorkspaceEntityTagAssignments: make(map[string]any), + WorkspaceIamDirectGroupMemberV2: make(map[string]any), + WorkspaceIamDirectGroupMembersV2: make(map[string]any), + WorkspaceIamGroupV2: make(map[string]any), + WorkspaceIamGroupsV2: make(map[string]any), + WorkspaceIamServicePrincipalV2: make(map[string]any), + WorkspaceIamServicePrincipalsV2: make(map[string]any), + WorkspaceIamUserV2: make(map[string]any), + WorkspaceIamUsersV2: make(map[string]any), + WorkspaceIamWorkspaceAssignmentV2: make(map[string]any), + WorkspaceIamWorkspaceAssignmentsV2: make(map[string]any), + WorkspaceIamWorkspaceIdentityDetailV2: make(map[string]any), WorkspaceNetworkOption: make(map[string]any), WorkspaceSettingV2: make(map[string]any), Zones: make(map[string]any), diff --git a/bundle/internal/tf/schema/resource_account_iam_direct_group_member_v2.go b/bundle/internal/tf/schema/resource_account_iam_direct_group_member_v2.go new file mode 100644 index 00000000000..dba4474f1f8 --- /dev/null +++ b/bundle/internal/tf/schema/resource_account_iam_direct_group_member_v2.go @@ -0,0 +1,12 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAccountIamDirectGroupMemberV2 struct { + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId int `json:"group_id,omitempty"` + MembershipSource string `json:"membership_source,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_account_iam_group_v2.go b/bundle/internal/tf/schema/resource_account_iam_group_v2.go new file mode 100644 index 00000000000..1d27042fb55 --- /dev/null +++ b/bundle/internal/tf/schema/resource_account_iam_group_v2.go @@ -0,0 +1,10 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAccountIamGroupV2 struct { + AccountId string `json:"account_id,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId string `json:"group_id,omitempty"` + GroupName string `json:"group_name,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_account_iam_service_principal_v2.go b/bundle/internal/tf/schema/resource_account_iam_service_principal_v2.go new file mode 100644 index 00000000000..722a850962b --- /dev/null +++ b/bundle/internal/tf/schema/resource_account_iam_service_principal_v2.go @@ -0,0 +1,12 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAccountIamServicePrincipalV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountSpStatus string `json:"account_sp_status"` + ApplicationId string `json:"application_id,omitempty"` + DisplayName string `json:"display_name"` + ExternalId string `json:"external_id,omitempty"` + ServicePrincipalId string `json:"service_principal_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_account_iam_user_v2.go b/bundle/internal/tf/schema/resource_account_iam_user_v2.go new file mode 100644 index 00000000000..16ba6887adc --- /dev/null +++ b/bundle/internal/tf/schema/resource_account_iam_user_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAccountIamUserV2FullName struct { + FamilyName string `json:"family_name,omitempty"` + GivenName string `json:"given_name,omitempty"` +} + +type ResourceAccountIamUserV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountUserStatus string `json:"account_user_status"` + ExternalId string `json:"external_id,omitempty"` + FullName *ResourceAccountIamUserV2FullName `json:"full_name,omitempty"` + UserId string `json:"user_id,omitempty"` + Username string `json:"username"` +} diff --git a/bundle/internal/tf/schema/resource_account_iam_workspace_assignment_v2.go b/bundle/internal/tf/schema/resource_account_iam_workspace_assignment_v2.go new file mode 100644 index 00000000000..aafdad7e08a --- /dev/null +++ b/bundle/internal/tf/schema/resource_account_iam_workspace_assignment_v2.go @@ -0,0 +1,12 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAccountIamWorkspaceAssignmentV2 struct { + AccountId string `json:"account_id,omitempty"` + EffectiveEntitlements []string `json:"effective_entitlements,omitempty"` + Entitlements []string `json:"entitlements,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + WorkspaceId int `json:"workspace_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_ai_gateway_mcp_service.go b/bundle/internal/tf/schema/resource_ai_gateway_mcp_service.go index 253f4555385..a06d2e25e6b 100644 --- a/bundle/internal/tf/schema/resource_ai_gateway_mcp_service.go +++ b/bundle/internal/tf/schema/resource_ai_gateway_mcp_service.go @@ -28,7 +28,6 @@ type ResourceAiGatewayMcpServiceProviderConfig struct { } type ResourceAiGatewayMcpService struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *ResourceAiGatewayMcpServiceConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` diff --git a/bundle/internal/tf/schema/resource_ai_gateway_model_provider_service.go b/bundle/internal/tf/schema/resource_ai_gateway_model_provider_service.go index 4cea18ffeff..bc216d55434 100644 --- a/bundle/internal/tf/schema/resource_ai_gateway_model_provider_service.go +++ b/bundle/internal/tf/schema/resource_ai_gateway_model_provider_service.go @@ -187,7 +187,6 @@ type ResourceAiGatewayModelProviderServiceProviderConfig struct { } type ResourceAiGatewayModelProviderService struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *ResourceAiGatewayModelProviderServiceConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` diff --git a/bundle/internal/tf/schema/resource_ai_gateway_model_service.go b/bundle/internal/tf/schema/resource_ai_gateway_model_service.go index 6f192e5d64e..5d57f302962 100644 --- a/bundle/internal/tf/schema/resource_ai_gateway_model_service.go +++ b/bundle/internal/tf/schema/resource_ai_gateway_model_service.go @@ -102,7 +102,6 @@ type ResourceAiGatewayModelServiceProviderConfig struct { } type ResourceAiGatewayModelService struct { - BrowseOnly bool `json:"browse_only,omitempty"` Comment string `json:"comment,omitempty"` Config *ResourceAiGatewayModelServiceConfig `json:"config,omitempty"` CreateTime string `json:"create_time,omitempty"` diff --git a/bundle/internal/tf/schema/resource_all.go b/bundle/internal/tf/schema/resource_all.go index ac1952fc975..fc01766118d 100644 --- a/bundle/internal/tf/schema/resource_all.go +++ b/bundle/internal/tf/schema/resource_all.go @@ -9,6 +9,11 @@ package schema type AllResources struct { AccessControlRuleSet ResourceAccessControlRuleSet `json:"databricks_access_control_rule_set,omitempty"` AccountFederationPolicy ResourceAccountFederationPolicy `json:"databricks_account_federation_policy,omitempty"` + AccountIamDirectGroupMemberV2 ResourceAccountIamDirectGroupMemberV2 `json:"databricks_account_iam_direct_group_member_v2,omitempty"` + AccountIamGroupV2 ResourceAccountIamGroupV2 `json:"databricks_account_iam_group_v2,omitempty"` + AccountIamServicePrincipalV2 ResourceAccountIamServicePrincipalV2 `json:"databricks_account_iam_service_principal_v2,omitempty"` + AccountIamUserV2 ResourceAccountIamUserV2 `json:"databricks_account_iam_user_v2,omitempty"` + AccountIamWorkspaceAssignmentV2 ResourceAccountIamWorkspaceAssignmentV2 `json:"databricks_account_iam_workspace_assignment_v2,omitempty"` AccountNetworkPolicy ResourceAccountNetworkPolicy `json:"databricks_account_network_policy,omitempty"` AccountSettingUserPreferenceV2 ResourceAccountSettingUserPreferenceV2 `json:"databricks_account_setting_user_preference_v2,omitempty"` AccountSettingV2 ResourceAccountSettingV2 `json:"databricks_account_setting_v2,omitempty"` @@ -169,6 +174,12 @@ type AllResources struct { WorkspaceConf ResourceWorkspaceConf `json:"databricks_workspace_conf,omitempty"` WorkspaceEntityTagAssignment ResourceWorkspaceEntityTagAssignment `json:"databricks_workspace_entity_tag_assignment,omitempty"` WorkspaceFile ResourceWorkspaceFile `json:"databricks_workspace_file,omitempty"` + WorkspaceIamDirectGroupMemberV2 ResourceWorkspaceIamDirectGroupMemberV2 `json:"databricks_workspace_iam_direct_group_member_v2,omitempty"` + WorkspaceIamGroupV2 ResourceWorkspaceIamGroupV2 `json:"databricks_workspace_iam_group_v2,omitempty"` + WorkspaceIamServicePrincipalV2 ResourceWorkspaceIamServicePrincipalV2 `json:"databricks_workspace_iam_service_principal_v2,omitempty"` + WorkspaceIamUserV2 ResourceWorkspaceIamUserV2 `json:"databricks_workspace_iam_user_v2,omitempty"` + WorkspaceIamWorkspaceAssignmentV2 ResourceWorkspaceIamWorkspaceAssignmentV2 `json:"databricks_workspace_iam_workspace_assignment_v2,omitempty"` + WorkspaceIamWorkspaceIdentityDetailV2 ResourceWorkspaceIamWorkspaceIdentityDetailV2 `json:"databricks_workspace_iam_workspace_identity_detail_v2,omitempty"` WorkspaceNetworkOption ResourceWorkspaceNetworkOption `json:"databricks_workspace_network_option,omitempty"` WorkspaceSettingV2 ResourceWorkspaceSettingV2 `json:"databricks_workspace_setting_v2,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_app.go b/bundle/internal/tf/schema/resource_app.go index 22da7646c65..87d21f4c673 100644 --- a/bundle/internal/tf/schema/resource_app.go +++ b/bundle/internal/tf/schema/resource_app.go @@ -13,8 +13,10 @@ type ResourceAppActiveDeploymentEnvVars struct { } type ResourceAppActiveDeploymentGitSourceGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` } type ResourceAppActiveDeploymentGitSource struct { @@ -57,9 +59,43 @@ type ResourceAppComputeStatus struct { State string `json:"state,omitempty"` } +type ResourceAppDefaultGitSourceGitRepository struct { + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type ResourceAppDefaultGitSource struct { + Branch string `json:"branch,omitempty"` + Commit string `json:"commit,omitempty"` + GitRepository *ResourceAppDefaultGitSourceGitRepository `json:"git_repository,omitempty"` + ResolvedCommit string `json:"resolved_commit,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` + Tag string `json:"tag,omitempty"` +} + type ResourceAppGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type ResourceAppGitSourceGitRepository struct { + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` +} + +type ResourceAppGitSource struct { + Branch string `json:"branch,omitempty"` + Commit string `json:"commit,omitempty"` + GitRepository *ResourceAppGitSourceGitRepository `json:"git_repository,omitempty"` + ResolvedCommit string `json:"resolved_commit,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` + Tag string `json:"tag,omitempty"` } type ResourceAppPendingDeploymentDeploymentArtifacts struct { @@ -73,8 +109,10 @@ type ResourceAppPendingDeploymentEnvVars struct { } type ResourceAppPendingDeploymentGitSourceGitRepository struct { - Provider string `json:"provider"` - Url string `json:"url"` + AutoDeploy bool `json:"auto_deploy,omitempty"` + CallerCredentialId int `json:"caller_credential_id,omitempty"` + Provider string `json:"provider"` + Url string `json:"url"` } type ResourceAppPendingDeploymentGitSource struct { @@ -200,12 +238,15 @@ type ResourceApp struct { ComputeStatus *ResourceAppComputeStatus `json:"compute_status,omitempty"` CreateTime string `json:"create_time,omitempty"` Creator string `json:"creator,omitempty"` + DefaultGitSource *ResourceAppDefaultGitSource `json:"default_git_source,omitempty"` DefaultSourceCodePath string `json:"default_source_code_path,omitempty"` Description string `json:"description,omitempty"` EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` EffectiveUsagePolicyId string `json:"effective_usage_policy_id,omitempty"` EffectiveUserApiScopes []string `json:"effective_user_api_scopes,omitempty"` + ForwardUserAccessToken bool `json:"forward_user_access_token,omitempty"` GitRepository *ResourceAppGitRepository `json:"git_repository,omitempty"` + GitSource *ResourceAppGitSource `json:"git_source,omitempty"` Id string `json:"id,omitempty"` Name string `json:"name"` NoCompute bool `json:"no_compute,omitempty"` @@ -217,6 +258,7 @@ type ResourceApp struct { ServicePrincipalClientId string `json:"service_principal_client_id,omitempty"` ServicePrincipalId int `json:"service_principal_id,omitempty"` ServicePrincipalName string `json:"service_principal_name,omitempty"` + SourceCodePath string `json:"source_code_path,omitempty"` Space string `json:"space,omitempty"` TelemetryExportDestinations []ResourceAppTelemetryExportDestinations `json:"telemetry_export_destinations,omitempty"` ThumbnailUrl string `json:"thumbnail_url,omitempty"` diff --git a/bundle/internal/tf/schema/resource_feature_engineering_feature.go b/bundle/internal/tf/schema/resource_feature_engineering_feature.go index d4d7f63572f..f12a343c738 100644 --- a/bundle/internal/tf/schema/resource_feature_engineering_feature.go +++ b/bundle/internal/tf/schema/resource_feature_engineering_feature.go @@ -138,6 +138,16 @@ type ResourceFeatureEngineeringFeatureFunctionColumnSelection struct { Column string `json:"column"` } +type ResourceFeatureEngineeringFeatureFunctionCustomUdfInputBindings struct { + Column string `json:"column"` + Parameter string `json:"parameter"` +} + +type ResourceFeatureEngineeringFeatureFunctionCustomUdf struct { + FunctionPath string `json:"function_path"` + InputBindings []ResourceFeatureEngineeringFeatureFunctionCustomUdfInputBindings `json:"input_bindings,omitempty"` +} + type ResourceFeatureEngineeringFeatureFunctionExtraParameters struct { Key string `json:"key"` Value string `json:"value"` @@ -146,6 +156,7 @@ type ResourceFeatureEngineeringFeatureFunctionExtraParameters struct { type ResourceFeatureEngineeringFeatureFunction struct { AggregationFunction *ResourceFeatureEngineeringFeatureFunctionAggregationFunction `json:"aggregation_function,omitempty"` ColumnSelection *ResourceFeatureEngineeringFeatureFunctionColumnSelection `json:"column_selection,omitempty"` + CustomUdf *ResourceFeatureEngineeringFeatureFunctionCustomUdf `json:"custom_udf,omitempty"` ExtraParameters []ResourceFeatureEngineeringFeatureFunctionExtraParameters `json:"extra_parameters,omitempty"` FunctionType string `json:"function_type,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_job.go b/bundle/internal/tf/schema/resource_job.go index 3a84cf10987..f01bf4f0b0c 100644 --- a/bundle/internal/tf/schema/resource_job.go +++ b/bundle/internal/tf/schema/resource_job.go @@ -659,7 +659,9 @@ type ResourceJobTaskAiRuntimeTaskDeployments struct { type ResourceJobTaskAiRuntimeTask struct { CodeSourcePath string `json:"code_source_path,omitempty"` + DockerImageUrl string `json:"docker_image_url,omitempty"` Experiment string `json:"experiment"` + MlflowArtifactLocation string `json:"mlflow_artifact_location,omitempty"` MlflowExperimentDirectory string `json:"mlflow_experiment_directory,omitempty"` MlflowRun string `json:"mlflow_run,omitempty"` Deployments []ResourceJobTaskAiRuntimeTaskDeployments `json:"deployments,omitempty"` @@ -759,7 +761,9 @@ type ResourceJobTaskForEachTaskTaskAiRuntimeTaskDeployments struct { type ResourceJobTaskForEachTaskTaskAiRuntimeTask struct { CodeSourcePath string `json:"code_source_path,omitempty"` + DockerImageUrl string `json:"docker_image_url,omitempty"` Experiment string `json:"experiment"` + MlflowArtifactLocation string `json:"mlflow_artifact_location,omitempty"` MlflowExperimentDirectory string `json:"mlflow_experiment_directory,omitempty"` MlflowRun string `json:"mlflow_run,omitempty"` Deployments []ResourceJobTaskForEachTaskTaskAiRuntimeTaskDeployments `json:"deployments,omitempty"` @@ -1885,6 +1889,58 @@ type ResourceJobTrigger struct { TableUpdate *ResourceJobTriggerTableUpdate `json:"table_update,omitempty"` } +type ResourceJobTriggersContinuous struct { + TaskRetryMode string `json:"task_retry_mode,omitempty"` +} + +type ResourceJobTriggersFileArrival struct { + MinTimeBetweenTriggersSeconds int `json:"min_time_between_triggers_seconds,omitempty"` + Url string `json:"url"` + WaitAfterLastChangeSeconds int `json:"wait_after_last_change_seconds,omitempty"` +} + +type ResourceJobTriggersModel struct { + Aliases []string `json:"aliases,omitempty"` + Condition string `json:"condition"` + MinTimeBetweenTriggersSeconds int `json:"min_time_between_triggers_seconds,omitempty"` + SecurableName string `json:"securable_name,omitempty"` + WaitAfterLastChangeSeconds int `json:"wait_after_last_change_seconds,omitempty"` +} + +type ResourceJobTriggersPeriodic struct { + Interval int `json:"interval"` + Unit string `json:"unit"` +} + +type ResourceJobTriggersSchedule struct { + QuartzCronExpression string `json:"quartz_cron_expression"` + TimezoneId string `json:"timezone_id"` +} + +type ResourceJobTriggersSqlCondition struct { + SqlQueryId string `json:"sql_query_id"` + TriggerMode string `json:"trigger_mode,omitempty"` + WarehouseId string `json:"warehouse_id"` +} + +type ResourceJobTriggersTableUpdate struct { + Condition string `json:"condition,omitempty"` + MinTimeBetweenTriggersSeconds int `json:"min_time_between_triggers_seconds,omitempty"` + TableNames []string `json:"table_names"` + WaitAfterLastChangeSeconds int `json:"wait_after_last_change_seconds,omitempty"` +} + +type ResourceJobTriggers struct { + PauseStatus string `json:"pause_status,omitempty"` + Continuous *ResourceJobTriggersContinuous `json:"continuous,omitempty"` + FileArrival *ResourceJobTriggersFileArrival `json:"file_arrival,omitempty"` + Model *ResourceJobTriggersModel `json:"model,omitempty"` + Periodic *ResourceJobTriggersPeriodic `json:"periodic,omitempty"` + Schedule *ResourceJobTriggersSchedule `json:"schedule,omitempty"` + SqlCondition *ResourceJobTriggersSqlCondition `json:"sql_condition,omitempty"` + TableUpdate *ResourceJobTriggersTableUpdate `json:"table_update,omitempty"` +} + type ResourceJobWebhookNotificationsOnDurationWarningThresholdExceeded struct { Id string `json:"id"` } @@ -1958,5 +2014,6 @@ type ResourceJob struct { SparkSubmitTask *ResourceJobSparkSubmitTask `json:"spark_submit_task,omitempty"` Task []ResourceJobTask `json:"task,omitempty"` Trigger *ResourceJobTrigger `json:"trigger,omitempty"` + Triggers []ResourceJobTriggers `json:"triggers,omitempty"` WebhookNotifications *ResourceJobWebhookNotifications `json:"webhook_notifications,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_model_serving.go b/bundle/internal/tf/schema/resource_model_serving.go index 4e892225e6b..34655348388 100644 --- a/bundle/internal/tf/schema/resource_model_serving.go +++ b/bundle/internal/tf/schema/resource_model_serving.go @@ -242,9 +242,10 @@ type ResourceModelServingTelemetryConfigTableNames struct { } type ResourceModelServingTelemetryConfig struct { - TelemetryProfileId string `json:"telemetry_profile_id,omitempty"` - InferenceTableConfig *ResourceModelServingTelemetryConfigInferenceTableConfig `json:"inference_table_config,omitempty"` - TableNames *ResourceModelServingTelemetryConfigTableNames `json:"table_names,omitempty"` + EnabledTelemetryFeatures []string `json:"enabled_telemetry_features,omitempty"` + TelemetryProfileId string `json:"telemetry_profile_id,omitempty"` + InferenceTableConfig *ResourceModelServingTelemetryConfigInferenceTableConfig `json:"inference_table_config,omitempty"` + TableNames *ResourceModelServingTelemetryConfigTableNames `json:"table_names,omitempty"` } type ResourceModelServing struct { diff --git a/bundle/internal/tf/schema/resource_mws_ncc_private_endpoint_rule.go b/bundle/internal/tf/schema/resource_mws_ncc_private_endpoint_rule.go index dd35f714b8b..084ee4001e3 100644 --- a/bundle/internal/tf/schema/resource_mws_ncc_private_endpoint_rule.go +++ b/bundle/internal/tf/schema/resource_mws_ncc_private_endpoint_rule.go @@ -2,9 +2,15 @@ package schema +type ResourceMwsNccPrivateEndpointRuleGcpEndpointGoogleApiEndpoints struct { + Endpoints []string `json:"endpoints,omitempty"` +} + type ResourceMwsNccPrivateEndpointRuleGcpEndpoint struct { - PscEndpointUri string `json:"psc_endpoint_uri,omitempty"` - ServiceAttachment string `json:"service_attachment,omitempty"` + AllVpcScServices bool `json:"all_vpc_sc_services,omitempty"` + PscEndpointUri string `json:"psc_endpoint_uri,omitempty"` + ServiceAttachment string `json:"service_attachment,omitempty"` + GoogleApiEndpoints *ResourceMwsNccPrivateEndpointRuleGcpEndpointGoogleApiEndpoints `json:"google_api_endpoints,omitempty"` } type ResourceMwsNccPrivateEndpointRule struct { diff --git a/bundle/internal/tf/schema/resource_pipeline.go b/bundle/internal/tf/schema/resource_pipeline.go index ee4ff04fda0..9f6f50c6c60 100644 --- a/bundle/internal/tf/schema/resource_pipeline.go +++ b/bundle/internal/tf/schema/resource_pipeline.go @@ -228,6 +228,10 @@ type ResourcePipelineIngestionDefinitionObjectsReport struct { TableConfiguration *ResourcePipelineIngestionDefinitionObjectsReportTableConfiguration `json:"table_configuration,omitempty"` } +type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsApiSourceConnectorOptions struct { + Options map[string]string `json:"options,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsConfluenceOptions struct { IncludeConfluenceSpaces []string `json:"include_confluence_spaces,omitempty"` } @@ -285,8 +289,10 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOption } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsKeyTransformer struct { - Format string `json:"format,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + InputColumn string `json:"input_column,omitempty"` + OutputColumn string `json:"output_column,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformerJsonOptions struct { @@ -298,8 +304,10 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOption } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformer struct { - Format string `json:"format,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + InputColumn string `json:"input_column,omitempty"` + OutputColumn string `json:"output_column,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptions struct { @@ -312,6 +320,23 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOption ValueTransformer *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformer `json:"value_transformer,omitempty"` } +type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsLinkedinAdsOptionsCustomReportOptions struct { + EntityGranularity []string `json:"entity_granularity,omitempty"` + Finder string `json:"finder"` + Metrics []string `json:"metrics,omitempty"` + TimeGranularity string `json:"time_granularity,omitempty"` +} + +type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsLinkedinAdsOptions struct { + LookbackWindowDays int `json:"lookback_window_days,omitempty"` + SyncStartDate string `json:"sync_start_date,omitempty"` + CustomReportOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsLinkedinAdsOptionsCustomReportOptions `json:"custom_report_options,omitempty"` +} + +type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsMarketoOptions struct { + SyncStartDate string `json:"sync_start_date,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsMetaAdsOptionsCustomReportOptions struct { ActionAttributionWindows []string `json:"action_attribution_windows,omitempty"` ActionBreakdowns []string `json:"action_breakdowns,omitempty"` @@ -411,18 +436,21 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsZendeskSupp } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptions struct { - ConfluenceOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsConfluenceOptions `json:"confluence_options,omitempty"` - GdriveOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsGdriveOptions `json:"gdrive_options,omitempty"` - GoogleAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsGoogleAdsOptions `json:"google_ads_options,omitempty"` - JiraOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsJiraOptions `json:"jira_options,omitempty"` - KafkaOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptions `json:"kafka_options,omitempty"` - MetaAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsMetaAdsOptions `json:"meta_ads_options,omitempty"` - OutlookOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsOutlookOptions `json:"outlook_options,omitempty"` - RedditAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsRedditAdsOptions `json:"reddit_ads_options,omitempty"` - SharepointOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsSharepointOptions `json:"sharepoint_options,omitempty"` - SmartsheetOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsSmartsheetOptions `json:"smartsheet_options,omitempty"` - TiktokAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsTiktokAdsOptions `json:"tiktok_ads_options,omitempty"` - ZendeskSupportOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsZendeskSupportOptions `json:"zendesk_support_options,omitempty"` + ApiSourceConnectorOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsApiSourceConnectorOptions `json:"api_source_connector_options,omitempty"` + ConfluenceOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsConfluenceOptions `json:"confluence_options,omitempty"` + GdriveOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsGdriveOptions `json:"gdrive_options,omitempty"` + GoogleAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsGoogleAdsOptions `json:"google_ads_options,omitempty"` + JiraOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsJiraOptions `json:"jira_options,omitempty"` + KafkaOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptions `json:"kafka_options,omitempty"` + LinkedinAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsLinkedinAdsOptions `json:"linkedin_ads_options,omitempty"` + MarketoOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsMarketoOptions `json:"marketo_options,omitempty"` + MetaAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsMetaAdsOptions `json:"meta_ads_options,omitempty"` + OutlookOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsOutlookOptions `json:"outlook_options,omitempty"` + RedditAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsRedditAdsOptions `json:"reddit_ads_options,omitempty"` + SharepointOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsSharepointOptions `json:"sharepoint_options,omitempty"` + SmartsheetOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsSmartsheetOptions `json:"smartsheet_options,omitempty"` + TiktokAdsOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsTiktokAdsOptions `json:"tiktok_ads_options,omitempty"` + ZendeskSupportOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsZendeskSupportOptions `json:"zendesk_support_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJsonOptions struct { @@ -434,8 +462,10 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJson } type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransforms struct { - Format string `json:"format,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + InputColumn string `json:"input_column,omitempty"` + OutputColumn string `json:"output_column,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptions struct { @@ -492,6 +522,10 @@ type ResourcePipelineIngestionDefinitionObjectsSchema struct { TableConfiguration *ResourcePipelineIngestionDefinitionObjectsSchemaTableConfiguration `json:"table_configuration,omitempty"` } +type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsApiSourceConnectorOptions struct { + Options map[string]string `json:"options,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsConfluenceOptions struct { IncludeConfluenceSpaces []string `json:"include_confluence_spaces,omitempty"` } @@ -549,8 +583,10 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsKeyTransformer struct { - Format string `json:"format,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + InputColumn string `json:"input_column,omitempty"` + OutputColumn string `json:"output_column,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformerJsonOptions struct { @@ -562,8 +598,10 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformer struct { - Format string `json:"format,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + InputColumn string `json:"input_column,omitempty"` + OutputColumn string `json:"output_column,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions struct { @@ -576,6 +614,23 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions ValueTransformer *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformer `json:"value_transformer,omitempty"` } +type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsLinkedinAdsOptionsCustomReportOptions struct { + EntityGranularity []string `json:"entity_granularity,omitempty"` + Finder string `json:"finder"` + Metrics []string `json:"metrics,omitempty"` + TimeGranularity string `json:"time_granularity,omitempty"` +} + +type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsLinkedinAdsOptions struct { + LookbackWindowDays int `json:"lookback_window_days,omitempty"` + SyncStartDate string `json:"sync_start_date,omitempty"` + CustomReportOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsLinkedinAdsOptionsCustomReportOptions `json:"custom_report_options,omitempty"` +} + +type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsMarketoOptions struct { + SyncStartDate string `json:"sync_start_date,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsMetaAdsOptionsCustomReportOptions struct { ActionAttributionWindows []string `json:"action_attribution_windows,omitempty"` ActionBreakdowns []string `json:"action_breakdowns,omitempty"` @@ -675,18 +730,21 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsZendeskSuppo } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptions struct { - ConfluenceOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsConfluenceOptions `json:"confluence_options,omitempty"` - GdriveOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsGdriveOptions `json:"gdrive_options,omitempty"` - GoogleAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsGoogleAdsOptions `json:"google_ads_options,omitempty"` - JiraOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsJiraOptions `json:"jira_options,omitempty"` - KafkaOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions `json:"kafka_options,omitempty"` - MetaAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsMetaAdsOptions `json:"meta_ads_options,omitempty"` - OutlookOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsOutlookOptions `json:"outlook_options,omitempty"` - RedditAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsRedditAdsOptions `json:"reddit_ads_options,omitempty"` - SharepointOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsSharepointOptions `json:"sharepoint_options,omitempty"` - SmartsheetOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsSmartsheetOptions `json:"smartsheet_options,omitempty"` - TiktokAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsTiktokAdsOptions `json:"tiktok_ads_options,omitempty"` - ZendeskSupportOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsZendeskSupportOptions `json:"zendesk_support_options,omitempty"` + ApiSourceConnectorOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsApiSourceConnectorOptions `json:"api_source_connector_options,omitempty"` + ConfluenceOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsConfluenceOptions `json:"confluence_options,omitempty"` + GdriveOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsGdriveOptions `json:"gdrive_options,omitempty"` + GoogleAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsGoogleAdsOptions `json:"google_ads_options,omitempty"` + JiraOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsJiraOptions `json:"jira_options,omitempty"` + KafkaOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions `json:"kafka_options,omitempty"` + LinkedinAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsLinkedinAdsOptions `json:"linkedin_ads_options,omitempty"` + MarketoOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsMarketoOptions `json:"marketo_options,omitempty"` + MetaAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsMetaAdsOptions `json:"meta_ads_options,omitempty"` + OutlookOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsOutlookOptions `json:"outlook_options,omitempty"` + RedditAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsRedditAdsOptions `json:"reddit_ads_options,omitempty"` + SharepointOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsSharepointOptions `json:"sharepoint_options,omitempty"` + SmartsheetOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsSmartsheetOptions `json:"smartsheet_options,omitempty"` + TiktokAdsOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsTiktokAdsOptions `json:"tiktok_ads_options,omitempty"` + ZendeskSupportOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsZendeskSupportOptions `json:"zendesk_support_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationAutoFullRefreshPolicy struct { @@ -745,6 +803,10 @@ type ResourcePipelineIngestionDefinitionObjects struct { Table *ResourcePipelineIngestionDefinitionObjectsTable `json:"table,omitempty"` } +type ResourcePipelineIngestionDefinitionSourceConfigurationsApiSourceConnectorConfig struct { + Configs map[string]string `json:"configs,omitempty"` +} + type ResourcePipelineIngestionDefinitionSourceConfigurationsCatalogPostgresSlotConfig struct { PublicationName string `json:"publication_name,omitempty"` SlotName string `json:"slot_name,omitempty"` @@ -764,8 +826,9 @@ type ResourcePipelineIngestionDefinitionSourceConfigurationsGoogleAdsConfig stru } type ResourcePipelineIngestionDefinitionSourceConfigurations struct { - Catalog *ResourcePipelineIngestionDefinitionSourceConfigurationsCatalog `json:"catalog,omitempty"` - GoogleAdsConfig *ResourcePipelineIngestionDefinitionSourceConfigurationsGoogleAdsConfig `json:"google_ads_config,omitempty"` + ApiSourceConnectorConfig *ResourcePipelineIngestionDefinitionSourceConfigurationsApiSourceConnectorConfig `json:"api_source_connector_config,omitempty"` + Catalog *ResourcePipelineIngestionDefinitionSourceConfigurationsCatalog `json:"catalog,omitempty"` + GoogleAdsConfig *ResourcePipelineIngestionDefinitionSourceConfigurationsGoogleAdsConfig `json:"google_ads_config,omitempty"` } type ResourcePipelineIngestionDefinitionTableConfigurationAutoFullRefreshPolicy struct { diff --git a/bundle/internal/tf/schema/resource_postgres_synced_table.go b/bundle/internal/tf/schema/resource_postgres_synced_table.go index 958684a9129..86c59868222 100644 --- a/bundle/internal/tf/schema/resource_postgres_synced_table.go +++ b/bundle/internal/tf/schema/resource_postgres_synced_table.go @@ -14,9 +14,10 @@ type ResourcePostgresSyncedTableSpecExtraColumns struct { } type ResourcePostgresSyncedTableSpecNewPipelineSpec struct { - BudgetPolicyId string `json:"budget_policy_id,omitempty"` - StorageCatalog string `json:"storage_catalog,omitempty"` - StorageSchema string `json:"storage_schema,omitempty"` + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + PipelineChannel string `json:"pipeline_channel,omitempty"` + StorageCatalog string `json:"storage_catalog,omitempty"` + StorageSchema string `json:"storage_schema,omitempty"` } type ResourcePostgresSyncedTableSpecTypeOverrides struct { diff --git a/bundle/internal/tf/schema/resource_workspace_iam_direct_group_member_v2.go b/bundle/internal/tf/schema/resource_workspace_iam_direct_group_member_v2.go new file mode 100644 index 00000000000..15b70b82e78 --- /dev/null +++ b/bundle/internal/tf/schema/resource_workspace_iam_direct_group_member_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceWorkspaceIamDirectGroupMemberV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceWorkspaceIamDirectGroupMemberV2 struct { + DisplayName string `json:"display_name,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId int `json:"group_id,omitempty"` + MembershipSource string `json:"membership_source,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *ResourceWorkspaceIamDirectGroupMemberV2ProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_workspace_iam_group_v2.go b/bundle/internal/tf/schema/resource_workspace_iam_group_v2.go new file mode 100644 index 00000000000..2070a669691 --- /dev/null +++ b/bundle/internal/tf/schema/resource_workspace_iam_group_v2.go @@ -0,0 +1,15 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceWorkspaceIamGroupV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceWorkspaceIamGroupV2 struct { + AccountId string `json:"account_id,omitempty"` + ExternalId string `json:"external_id,omitempty"` + GroupId string `json:"group_id,omitempty"` + GroupName string `json:"group_name,omitempty"` + ProviderConfig *ResourceWorkspaceIamGroupV2ProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_workspace_iam_service_principal_v2.go b/bundle/internal/tf/schema/resource_workspace_iam_service_principal_v2.go new file mode 100644 index 00000000000..69019a96ea1 --- /dev/null +++ b/bundle/internal/tf/schema/resource_workspace_iam_service_principal_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceWorkspaceIamServicePrincipalV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceWorkspaceIamServicePrincipalV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountSpStatus string `json:"account_sp_status"` + ApplicationId string `json:"application_id,omitempty"` + DisplayName string `json:"display_name"` + ExternalId string `json:"external_id,omitempty"` + ProviderConfig *ResourceWorkspaceIamServicePrincipalV2ProviderConfig `json:"provider_config,omitempty"` + ServicePrincipalId string `json:"service_principal_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_workspace_iam_user_v2.go b/bundle/internal/tf/schema/resource_workspace_iam_user_v2.go new file mode 100644 index 00000000000..1aa861ee32e --- /dev/null +++ b/bundle/internal/tf/schema/resource_workspace_iam_user_v2.go @@ -0,0 +1,22 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceWorkspaceIamUserV2FullName struct { + FamilyName string `json:"family_name,omitempty"` + GivenName string `json:"given_name,omitempty"` +} + +type ResourceWorkspaceIamUserV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceWorkspaceIamUserV2 struct { + AccountId string `json:"account_id,omitempty"` + AccountUserStatus string `json:"account_user_status"` + ExternalId string `json:"external_id,omitempty"` + FullName *ResourceWorkspaceIamUserV2FullName `json:"full_name,omitempty"` + ProviderConfig *ResourceWorkspaceIamUserV2ProviderConfig `json:"provider_config,omitempty"` + UserId string `json:"user_id,omitempty"` + Username string `json:"username"` +} diff --git a/bundle/internal/tf/schema/resource_workspace_iam_workspace_assignment_v2.go b/bundle/internal/tf/schema/resource_workspace_iam_workspace_assignment_v2.go new file mode 100644 index 00000000000..a666d61d631 --- /dev/null +++ b/bundle/internal/tf/schema/resource_workspace_iam_workspace_assignment_v2.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceWorkspaceIamWorkspaceAssignmentV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceWorkspaceIamWorkspaceAssignmentV2 struct { + AccountId string `json:"account_id,omitempty"` + EffectiveEntitlements []string `json:"effective_entitlements,omitempty"` + Entitlements []string `json:"entitlements,omitempty"` + PrincipalId int `json:"principal_id"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *ResourceWorkspaceIamWorkspaceAssignmentV2ProviderConfig `json:"provider_config,omitempty"` + WorkspaceId int `json:"workspace_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_workspace_iam_workspace_identity_detail_v2.go b/bundle/internal/tf/schema/resource_workspace_iam_workspace_identity_detail_v2.go new file mode 100644 index 00000000000..3f8e7f22fe3 --- /dev/null +++ b/bundle/internal/tf/schema/resource_workspace_iam_workspace_identity_detail_v2.go @@ -0,0 +1,15 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceWorkspaceIamWorkspaceIdentityDetailV2ProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceWorkspaceIamWorkspaceIdentityDetailV2 struct { + AssignmentType string `json:"assignment_type,omitempty"` + PrincipalId int `json:"principal_id,omitempty"` + PrincipalType string `json:"principal_type,omitempty"` + ProviderConfig *ResourceWorkspaceIamWorkspaceIdentityDetailV2ProviderConfig `json:"provider_config,omitempty"` + WorkspaceIdentityStatus string `json:"workspace_identity_status,omitempty"` +} diff --git a/bundle/internal/tf/schema/resources.go b/bundle/internal/tf/schema/resources.go index 4588598b0f9..c3fc34f582e 100644 --- a/bundle/internal/tf/schema/resources.go +++ b/bundle/internal/tf/schema/resources.go @@ -5,6 +5,11 @@ package schema type Resources struct { AccessControlRuleSet map[string]any `json:"databricks_access_control_rule_set,omitempty"` AccountFederationPolicy map[string]any `json:"databricks_account_federation_policy,omitempty"` + AccountIamDirectGroupMemberV2 map[string]any `json:"databricks_account_iam_direct_group_member_v2,omitempty"` + AccountIamGroupV2 map[string]any `json:"databricks_account_iam_group_v2,omitempty"` + AccountIamServicePrincipalV2 map[string]any `json:"databricks_account_iam_service_principal_v2,omitempty"` + AccountIamUserV2 map[string]any `json:"databricks_account_iam_user_v2,omitempty"` + AccountIamWorkspaceAssignmentV2 map[string]any `json:"databricks_account_iam_workspace_assignment_v2,omitempty"` AccountNetworkPolicy map[string]any `json:"databricks_account_network_policy,omitempty"` AccountSettingUserPreferenceV2 map[string]any `json:"databricks_account_setting_user_preference_v2,omitempty"` AccountSettingV2 map[string]any `json:"databricks_account_setting_v2,omitempty"` @@ -165,6 +170,12 @@ type Resources struct { WorkspaceConf map[string]any `json:"databricks_workspace_conf,omitempty"` WorkspaceEntityTagAssignment map[string]any `json:"databricks_workspace_entity_tag_assignment,omitempty"` WorkspaceFile map[string]any `json:"databricks_workspace_file,omitempty"` + WorkspaceIamDirectGroupMemberV2 map[string]any `json:"databricks_workspace_iam_direct_group_member_v2,omitempty"` + WorkspaceIamGroupV2 map[string]any `json:"databricks_workspace_iam_group_v2,omitempty"` + WorkspaceIamServicePrincipalV2 map[string]any `json:"databricks_workspace_iam_service_principal_v2,omitempty"` + WorkspaceIamUserV2 map[string]any `json:"databricks_workspace_iam_user_v2,omitempty"` + WorkspaceIamWorkspaceAssignmentV2 map[string]any `json:"databricks_workspace_iam_workspace_assignment_v2,omitempty"` + WorkspaceIamWorkspaceIdentityDetailV2 map[string]any `json:"databricks_workspace_iam_workspace_identity_detail_v2,omitempty"` WorkspaceNetworkOption map[string]any `json:"databricks_workspace_network_option,omitempty"` WorkspaceSettingV2 map[string]any `json:"databricks_workspace_setting_v2,omitempty"` } @@ -173,6 +184,11 @@ func NewResources() *Resources { return &Resources{ AccessControlRuleSet: make(map[string]any), AccountFederationPolicy: make(map[string]any), + AccountIamDirectGroupMemberV2: make(map[string]any), + AccountIamGroupV2: make(map[string]any), + AccountIamServicePrincipalV2: make(map[string]any), + AccountIamUserV2: make(map[string]any), + AccountIamWorkspaceAssignmentV2: make(map[string]any), AccountNetworkPolicy: make(map[string]any), AccountSettingUserPreferenceV2: make(map[string]any), AccountSettingV2: make(map[string]any), @@ -333,6 +349,12 @@ func NewResources() *Resources { WorkspaceConf: make(map[string]any), WorkspaceEntityTagAssignment: make(map[string]any), WorkspaceFile: make(map[string]any), + WorkspaceIamDirectGroupMemberV2: make(map[string]any), + WorkspaceIamGroupV2: make(map[string]any), + WorkspaceIamServicePrincipalV2: make(map[string]any), + WorkspaceIamUserV2: make(map[string]any), + WorkspaceIamWorkspaceAssignmentV2: make(map[string]any), + WorkspaceIamWorkspaceIdentityDetailV2: make(map[string]any), WorkspaceNetworkOption: make(map[string]any), WorkspaceSettingV2: make(map[string]any), } diff --git a/bundle/internal/tf/schema/root.go b/bundle/internal/tf/schema/root.go index f57dff2f3c1..3c951116358 100644 --- a/bundle/internal/tf/schema/root.go +++ b/bundle/internal/tf/schema/root.go @@ -22,9 +22,9 @@ type Root struct { const ( ProviderHost = "registry.terraform.io" ProviderSource = "databricks/databricks" - ProviderVersion = "1.127.0" - ProviderChecksumLinuxAmd64 = "b60c02a8415398f299eed9df1797f00a5e62c571ebbce03897ac64db8c06820f" - ProviderChecksumLinuxArm64 = "069f302757ba376e14e8e2c492a3cc146bc6552702baab48c639a766bcf97dd2" + ProviderVersion = "1.128.0" + ProviderChecksumLinuxAmd64 = "cfafda248f4e5a7251dcd1085e5d9cde036bc2b65f14afe6c9b9077baf7a855e" + ProviderChecksumLinuxArm64 = "0e71e4d3f601898088d86d794aafc7b2f7d6f926ec84a1ba94afe4791fe54536" ) func NewRoot() *Root { diff --git a/bundle/terraform_dabs_map/generated.go b/bundle/terraform_dabs_map/generated.go index 93cc67227b2..d0a783f35ac 100644 --- a/bundle/terraform_dabs_map/generated.go +++ b/bundle/terraform_dabs_map/generated.go @@ -4,20 +4,19 @@ package terraform_dabs_map // alerts / databricks_alert_v2: 1 dabs-only // alerts / databricks_alert_v2: 3 tf-only -// apps / databricks_app: 36 dabs-only +// apps / databricks_app: 6 dabs-only // apps / databricks_app: 1 tf-only // clusters / databricks_cluster: 26 tf-only // dashboards / databricks_dashboard: 2 tf-only // database_instances / databricks_database_instance: 1 tf-only // experiments / databricks_mlflow_experiment: 1 tf-only // jobs / databricks_job: 11 renames -// jobs / databricks_job: 40 dabs-only +// jobs / databricks_job: 7 dabs-only // jobs / databricks_job: 259 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: 45 dabs-only +// pipelines / databricks_pipeline: 6 dabs-only // pipelines / databricks_pipeline: 2 tf-only // postgres_branches / databricks_postgres_branch: 1 unwraps // postgres_catalogs / databricks_postgres_catalog: 1 unwraps @@ -26,7 +25,6 @@ package terraform_dabs_map // postgres_projects / databricks_postgres_project: 2 tf-only // postgres_projects / databricks_postgres_project: 1 unwraps // postgres_roles / databricks_postgres_role: 1 unwraps -// postgres_synced_tables / databricks_postgres_synced_table: 1 dabs-only // postgres_synced_tables / databricks_postgres_synced_table: 1 unwraps // schemas / databricks_schema: 1 dabs-only // schemas / databricks_schema: 1 tf-only @@ -93,14 +91,6 @@ var DABsOnlyFields = map[string]FieldSet{ "file_path": {}, }, "apps": { - "active_deployment": { - "git_source": { - "git_repository": { - "auto_deploy": {}, // apps.*.active_deployment.git_source.git_repository.auto_deploy - "caller_credential_id": {}, // apps.*.active_deployment.git_source.git_repository.caller_credential_id - }, - }, - }, "config": { "command": {}, // apps.*.config.command "env": { @@ -109,46 +99,6 @@ var DABsOnlyFields = map[string]FieldSet{ "value_from": {}, // apps.*.config.env.value_from }, }, - "default_git_source": { - "branch": {}, // apps.*.default_git_source.branch - "commit": {}, // apps.*.default_git_source.commit - "git_repository": { - "auto_deploy": {}, // apps.*.default_git_source.git_repository.auto_deploy - "caller_credential_id": {}, // apps.*.default_git_source.git_repository.caller_credential_id - "provider": {}, // apps.*.default_git_source.git_repository.provider - "url": {}, // apps.*.default_git_source.git_repository.url - }, - "resolved_commit": {}, // apps.*.default_git_source.resolved_commit - "source_code_path": {}, // apps.*.default_git_source.source_code_path - "tag": {}, // apps.*.default_git_source.tag - }, - "forward_user_access_token": {}, - "git_repository": { - "auto_deploy": {}, // apps.*.git_repository.auto_deploy - "caller_credential_id": {}, // apps.*.git_repository.caller_credential_id - }, - "git_source": { - "branch": {}, // apps.*.git_source.branch - "commit": {}, // apps.*.git_source.commit - "git_repository": { - "auto_deploy": {}, // apps.*.git_source.git_repository.auto_deploy - "caller_credential_id": {}, // apps.*.git_source.git_repository.caller_credential_id - "provider": {}, // apps.*.git_source.git_repository.provider - "url": {}, // apps.*.git_source.git_repository.url - }, - "resolved_commit": {}, // apps.*.git_source.resolved_commit - "source_code_path": {}, // apps.*.git_source.source_code_path - "tag": {}, // apps.*.git_source.tag - }, - "pending_deployment": { - "git_source": { - "git_repository": { - "auto_deploy": {}, // apps.*.pending_deployment.git_source.git_repository.auto_deploy - "caller_credential_id": {}, // apps.*.pending_deployment.git_source.git_repository.caller_credential_id - }, - }, - }, - "source_code_path": {}, }, "jobs": { "job_clusters": { @@ -157,16 +107,8 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, "tasks": { - "ai_runtime_task": { - "docker_image_url": {}, // jobs.*.tasks.ai_runtime_task.docker_image_url - "mlflow_artifact_location": {}, // jobs.*.tasks.ai_runtime_task.mlflow_artifact_location - }, "for_each_task": { "task": { - "ai_runtime_task": { - "docker_image_url": {}, // jobs.*.tasks.for_each_task.task.ai_runtime_task.docker_image_url - "mlflow_artifact_location": {}, // jobs.*.tasks.for_each_task.task.ai_runtime_task.mlflow_artifact_location - }, "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 @@ -181,48 +123,6 @@ var DABsOnlyFields = map[string]FieldSet{ "autotermination_minutes": {}, // jobs.*.tasks.new_cluster.autotermination_minutes }, }, - "triggers": { - "continuous": { - "task_retry_mode": {}, // jobs.*.triggers.continuous.task_retry_mode - }, - "file_arrival": { - "min_time_between_triggers_seconds": {}, // jobs.*.triggers.file_arrival.min_time_between_triggers_seconds - "url": {}, // jobs.*.triggers.file_arrival.url - "wait_after_last_change_seconds": {}, // jobs.*.triggers.file_arrival.wait_after_last_change_seconds - }, - "model": { - "aliases": {}, // jobs.*.triggers.model.aliases - "condition": {}, // jobs.*.triggers.model.condition - "min_time_between_triggers_seconds": {}, // jobs.*.triggers.model.min_time_between_triggers_seconds - "securable_name": {}, // jobs.*.triggers.model.securable_name - "wait_after_last_change_seconds": {}, // jobs.*.triggers.model.wait_after_last_change_seconds - }, - "pause_status": {}, // jobs.*.triggers.pause_status - "periodic": { - "interval": {}, // jobs.*.triggers.periodic.interval - "unit": {}, // jobs.*.triggers.periodic.unit - }, - "schedule": { - "quartz_cron_expression": {}, // jobs.*.triggers.schedule.quartz_cron_expression - "timezone_id": {}, // jobs.*.triggers.schedule.timezone_id - }, - "sql_condition": { - "sql_query_id": {}, // jobs.*.triggers.sql_condition.sql_query_id - "trigger_mode": {}, // jobs.*.triggers.sql_condition.trigger_mode - "warehouse_id": {}, // jobs.*.triggers.sql_condition.warehouse_id - }, - "table_update": { - "condition": {}, // jobs.*.triggers.table_update.condition - "min_time_between_triggers_seconds": {}, // jobs.*.triggers.table_update.min_time_between_triggers_seconds - "table_names": {}, // jobs.*.triggers.table_update.table_names - "wait_after_last_change_seconds": {}, // jobs.*.triggers.table_update.wait_after_last_change_seconds - }, - }, - }, - "model_serving_endpoints": { - "telemetry_config": { - "enabled_telemetry_features": {}, // model_serving_endpoints.*.telemetry_config.enabled_telemetry_features - }, }, "pipelines": { "cascade_on_destroy": {}, @@ -233,96 +133,10 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, "dry_run": {}, - "ingestion_definition": { - "objects": { - "schema": { - "connector_options": { - "api_source_connector_options": { - "options": { - "*": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.api_source_connector_options.options.* - }, - }, - "kafka_options": { - "key_transformer": { - "input_column": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.input_column - "output_column": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.key_transformer.output_column - }, - "value_transformer": { - "input_column": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.input_column - "output_column": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.kafka_options.value_transformer.output_column - }, - }, - "linkedin_ads_options": { - "custom_report_options": { - "entity_granularity": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.entity_granularity - "finder": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.finder - "metrics": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.metrics - "time_granularity": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.custom_report_options.time_granularity - }, - "lookback_window_days": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.lookback_window_days - "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.linkedin_ads_options.sync_start_date - }, - "marketo_options": { - "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.schema.connector_options.marketo_options.sync_start_date - }, - }, - "fanout_options": { - "transforms": { - "input_column": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.input_column - "output_column": {}, // pipelines.*.ingestion_definition.objects.schema.fanout_options.transforms.output_column - }, - }, - }, - "table": { - "connector_options": { - "api_source_connector_options": { - "options": { - "*": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.api_source_connector_options.options.* - }, - }, - "kafka_options": { - "key_transformer": { - "input_column": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.input_column - "output_column": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.key_transformer.output_column - }, - "value_transformer": { - "input_column": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.input_column - "output_column": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.kafka_options.value_transformer.output_column - }, - }, - "linkedin_ads_options": { - "custom_report_options": { - "entity_granularity": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.entity_granularity - "finder": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.finder - "metrics": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.metrics - "time_granularity": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.custom_report_options.time_granularity - }, - "lookback_window_days": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.lookback_window_days - "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.linkedin_ads_options.sync_start_date - }, - "marketo_options": { - "sync_start_date": {}, // pipelines.*.ingestion_definition.objects.table.connector_options.marketo_options.sync_start_date - }, - }, - }, - }, - "source_configurations": { - "api_source_connector_config": { - "configs": { - "*": {}, // pipelines.*.ingestion_definition.source_configurations.api_source_connector_config.configs.* - }, - }, - }, - }, "parameters": { "*": {}, // pipelines.*.parameters.* }, }, - "postgres_synced_tables": { - "new_pipeline_spec": { - "pipeline_channel": {}, // postgres_synced_tables.*.new_pipeline_spec.pipeline_channel - }, - }, "schemas": { "custom_max_retention_hours": {}, },