diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index e1ef04f4fce..a2586cb81f6 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -b73946692eb938a39aa3c6a863873f99eadde611 \ No newline at end of file +0f2c9a3d507d46e8726ac09e0348d52d3f9c9bc8 \ No newline at end of file diff --git a/.codegen/cli.json b/.codegen/cli.json index b17b9a95064..b659b2606d2 100644 --- a/.codegen/cli.json +++ b/.codegen/cli.json @@ -2885,6 +2885,13 @@ }, "apps.Space": { "fields": { + "assume_group_id": { + "description": "The group whose permissions users assume via Role Authorization for apps in this space. When\nset, user tokens assume the role of this group instead of doing regular obo token downscoping.\nSet only at space creation.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "create_time": { "description": "The creation time of the app space. Formatted timestamp in ISO 6801.", "launch_stage": "PRIVATE_PREVIEW", @@ -4092,7 +4099,7 @@ "bundledeployments.CreateDeploymentRequest": { "fields": { "deployment": { - "description": "The deployment to create. The caller must set `initial_parent_path`. Other fields are ignored\non input and populated by the service.", + "description": "The deployment to create. `initial_parent_path` is required. `display_name`, `target_name`,\n`deployment_mode`, and `workspace_info` may be set; every other field is assigned by the\nservice and ignored on input.", "ref": "bundledeployments.Deployment", "launch_stage": "PRIVATE_PREVIEW" } @@ -4115,7 +4122,7 @@ "description": "Dashboard-specific per-resource metadata. Set only for dashboard resources.", "fields": { "definition_path": { - "description": "Path of the file that declares this dashboard, relative to the bundle's\nworkspace.file_path (Version.workspace_info.file_path) — join the two to\nget the file's absolute workspace path.\n\nFor now this lives only on the dashboard metadata, and is a single string\nbecause it was a single string (`relative_path`) in the legacy bundle\nmetadata.json. We may generalize it in the future: lifting it to a\ntop-level field on Resource/Operation (every resource type has a definition\nlocation) and converting it to a repeated field, since a resource can be\ndeclared across multiple files/locations.", + "description": "Path of the file that declares this dashboard, relative to the bundle's\nworkspace.file_path (Deployment.workspace_info.file_path) — join the two to\nget the file's absolute workspace path.\n\nFor now this lives only on the dashboard metadata, and is a single string\nbecause it was a single string (`relative_path`) in the legacy bundle\nmetadata.json. We may generalize it in the future: lifting it to a\ntop-level field on Resource/Operation (every resource type has a definition\nlocation) and converting it to a repeated field, since a resource can be\ndeclared across multiple files/locations.", "launch_stage": "PRIVATE_PREVIEW" }, "source_path": { @@ -4143,12 +4150,9 @@ ] }, "deployment_mode": { - "description": "Bundle target deployment mode (development or production), derived from the\nmost recent version's mode.", + "description": "Bundle target deployment mode (development or production).", "ref": "bundledeployments.DeploymentMode", - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OUTPUT_ONLY" - ] + "launch_stage": "PRIVATE_PREVIEW" }, "destroy_time": { "description": "When deletion was recorded. Unset if deletion has not been recorded.\nThis response metadata does not determine the deployment's lifecycle status.", @@ -4165,11 +4169,8 @@ ] }, "display_name": { - "description": "Human-readable name for the deployment, up to 256 characters. Output only: clients update it\nby setting `display_name` when creating a version.", - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OUTPUT_ONLY" - ] + "description": "Human-readable name for the deployment, up to 256 characters.", + "launch_stage": "PRIVATE_PREVIEW" }, "git_info": { "description": "Git provenance of the deployment's source, derived from the latest version.", @@ -4216,11 +4217,8 @@ ] }, "target_name": { - "description": "The bundle target name associated with this deployment. Output only: it is\ndenormalized from the latest version, not set directly on the deployment.", - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OUTPUT_ONLY" - ] + "description": "The bundle target name associated with this deployment.", + "launch_stage": "PRIVATE_PREVIEW" }, "update_time": { "description": "When the deployment was last updated.", @@ -4237,12 +4235,9 @@ ] }, "workspace_info": { - "description": "Workspace location of the deployment, derived from the latest version.", + "description": "Workspace location of the deployment.", "ref": "bundledeployments.WorkspaceInfo", - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OUTPUT_ONLY" - ] + "launch_stage": "PRIVATE_PREVIEW" } } }, @@ -4282,7 +4277,16 @@ "DEPLOYMENT_RESOURCE_TYPE_SYNCED_DATABASE_TABLE", "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_PROJECT", "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_BRANCH", - "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT" + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT", + "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_ENDPOINT", + "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_INDEX", + "DEPLOYMENT_RESOURCE_TYPE_JOB_RUN", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_CATALOG", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_SYNCED_TABLE", + "DEPLOYMENT_RESOURCE_TYPE_GENIE_SPACE", + "DEPLOYMENT_RESOURCE_TYPE_INSTANCE_POOL", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_DATABASE", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ROLE" ], "enum_launch_stages": { "DEPLOYMENT_RESOURCE_TYPE_ALERT": "PRIVATE_PREVIEW", @@ -4294,19 +4298,28 @@ "DEPLOYMENT_RESOURCE_TYPE_DATABASE_INSTANCE": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_EXPERIMENT": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_EXTERNAL_LOCATION": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_GENIE_SPACE": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_INSTANCE_POOL": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_JOB": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_JOB_RUN": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_MODEL": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_MODEL_SERVING_ENDPOINT": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_PIPELINE": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_BRANCH": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_CATALOG": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_DATABASE": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_PROJECT": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ROLE": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_SYNCED_TABLE": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_QUALITY_MONITOR": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_REGISTERED_MODEL": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_SCHEMA": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_SECRET_SCOPE": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_SQL_WAREHOUSE": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_SYNCED_DATABASE_TABLE": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_ENDPOINT": "PRIVATE_PREVIEW", + "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_INDEX": "PRIVATE_PREVIEW", "DEPLOYMENT_RESOURCE_TYPE_VOLUME": "PRIVATE_PREVIEW" } }, @@ -4619,10 +4632,12 @@ "description": "Status of a resource operation.", "enum": [ "OPERATION_STATUS_SUCCEEDED", - "OPERATION_STATUS_FAILED" + "OPERATION_STATUS_FAILED", + "OPERATION_STATUS_PENDING" ], "enum_launch_stages": { "OPERATION_STATUS_FAILED": "PRIVATE_PREVIEW", + "OPERATION_STATUS_PENDING": "PRIVATE_PREVIEW", "OPERATION_STATUS_SUCCEEDED": "PRIVATE_PREVIEW" } }, @@ -4697,6 +4712,33 @@ } } }, + "bundledeployments.StagedOperation": { + "description": "A resource operation to record when a version is created. Each staged\noperation identifies the resource it applies to and the action planned for\nit; the server records the operation in `OPERATION_STATUS_PENDING`, and its\noutcome is filled in later via UpdateOperation.", + "fields": { + "action_type": { + "description": "The type of operation planned for this resource.", + "ref": "bundledeployments.OperationActionType", + "launch_stage": "PRIVATE_PREVIEW" + }, + "resource_key": { + "description": "The key identifying the resource this operation applies to (e.g.\n\"jobs.foo\", \"pipelines.bar\"). Becomes the final component of the\noperation's name and must be unique among the operations in the version.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "bundledeployments.UpdateDeploymentRequest": { + "fields": { + "deployment": { + "description": "The deployment to update. Its `name` selects the deployment; the fields\nnamed in `update_mask` carry the new values. All other fields are ignored.", + "ref": "bundledeployments.Deployment", + "launch_stage": "PRIVATE_PREVIEW" + }, + "update_mask": { + "description": "The fields to update; supported paths are `display_name`, `deployment_mode`, `target_name`,\nand `workspace_info`. An empty mask or any other path returns INVALID_PARAMETER_VALUE.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "bundledeployments.UpdateOperationRequest": { "fields": { "operation": { @@ -4786,6 +4828,14 @@ "OUTPUT_ONLY" ] }, + "operations": { + "description": "The full operation plan for this version: one PENDING operation per entry,\nrecorded in the same transaction. Input only -- supplied on create and never\nreturned by create/get/list; read the recorded operations via ListOperations.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "INPUT_ONLY", + "OPTIONAL" + ] + }, "previous_version_id": { "description": "The version_id this version was created on top of — the deployment's\nmost recent version at creation time. Leave unset when creating the\nfirst version (the deployment has no prior versions). Set by the\nclient on creation and immutable thereafter.\n\nActs as an optimistic-concurrency precondition: the server requires\nit to equal the deployment's current most-recent version (and to be\nunset when the deployment has no versions) and returns\n`INVALID_PARAMETER_VALUE` on mismatch, so a deploy racing against a\nconcurrent deploy is rejected rather than silently overwriting it.", "launch_stage": "PRIVATE_PREVIEW", @@ -5593,12 +5643,12 @@ "launch_stage": "GA" }, "using_arguments": { - "description": "The list of additional table columns or literals to be passed as additional arguments to\na column mask function. This is the replacement of the deprecated using_column_names field and\ncarries information about the types (alias or constant) of the arguments to the mask function.", + "description": "The list of table columns or literals to be passed as additional arguments to a column mask\nfunction, carrying the type (column reference vs constant literal) of each argument.\nDeprecated: use using_column_names instead.", + "deprecated": true, "launch_stage": "GA" }, "using_column_names": { "description": "The list of additional table columns to be passed as input to the column mask function. The\nfirst arg of the mask function should be of the type of the column being masked and the\ntypes of the rest of the args should match the types of columns in 'using_column_names'.", - "deprecated": true, "launch_stage": "GA" } } @@ -5632,6 +5682,19 @@ } } }, + "catalog.ColumnTagValueExtraction": { + "description": "Extracts the value of a column-level tag: get_column_tag_value(col, \"tagKey\").", + "fields": { + "column_alias": { + "description": "The alias from MATCH COLUMNS that identifies the column.", + "launch_stage": "GA" + }, + "tag_key": { + "description": "1024 matches the max_length on FunctionArgument.constant above.", + "launch_stage": "GA" + } + } + }, "catalog.ColumnTypeName": { "enum": [ "BOOLEAN", @@ -7918,6 +7981,19 @@ } } }, + "catalog.FunctionArgExpression": { + "description": "An expression that is evaluated at query time against per-request context.\nNew variants (e.g., identity attributes) are added as additional oneof cases.", + "fields": { + "tag_introspection": { + "description": "An expression that introspects tags at query time.", + "ref": "catalog.TagIntrospectionExpression", + "launch_stage": "GA", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "catalog.FunctionArgument": { "fields": { "alias": { @@ -7927,6 +8003,14 @@ "constant": { "description": "A constant literal.", "launch_stage": "GA" + }, + "function_arg_expression": { + "description": "An expression evaluated at query time. Wraps per-request expression variants\n(e.g., tag introspection) so new variants can be added without extending the\nFunctionArgument oneof.", + "ref": "catalog.FunctionArgExpression", + "launch_stage": "GA", + "behaviors": [ + "OPTIONAL" + ] } } }, @@ -12539,7 +12623,11 @@ "CONNECTION", "CREDENTIAL", "EXTERNAL_METADATA", - "STAGING_TABLE" + "STAGING_TABLE", + "MODEL", + "MODEL_SERVICE", + "MCP_SERVICE", + "MODEL_PROVIDER_SERVICE" ], "enum_launch_stages": { "CATALOG": "GA", @@ -12549,7 +12637,11 @@ "EXTERNAL_LOCATION": "GA", "EXTERNAL_METADATA": "GA", "FUNCTION": "GA", + "MCP_SERVICE": "PUBLIC_BETA", "METASTORE": "GA", + "MODEL": "PUBLIC_BETA", + "MODEL_PROVIDER_SERVICE": "PUBLIC_BETA", + "MODEL_SERVICE": "PUBLIC_BETA", "PIPELINE": "GA", "PROVIDER": "GA", "RECIPIENT": "GA", @@ -12986,12 +13078,12 @@ "launch_stage": "GA" }, "input_arguments": { - "description": "The list of additional table columns or literals to be passed as additional arguments to\na row filter function. This is the replacement of the deprecated input_column_names field and\ncarries information about the types (alias or constant) of the arguments to the filter function.", + "description": "The list of table columns or literals to be passed as additional arguments to a row filter\nfunction, carrying the type (column reference vs constant literal) of each argument.\nDeprecated: use input_column_names instead.", + "deprecated": true, "launch_stage": "GA" }, "input_column_names": { "description": "The list of table columns to be passed as input to the row filter function. The column types\nshould match the types of the filter function arguments.", - "deprecated": true, "launch_stage": "GA" } } @@ -13046,6 +13138,27 @@ "TAG_ASSIGNMENT_SOURCE_TYPE_SYSTEM_DATA_CLASSIFICATION": "GA" } }, + "catalog.TagIntrospectionExpression": { + "description": "An expression that introspects tags at query time.", + "fields": { + "column_tag_value": { + "description": "Extracts the value of a column-level tag.", + "ref": "catalog.ColumnTagValueExtraction", + "launch_stage": "GA", + "behaviors": [ + "OPTIONAL" + ] + }, + "tag_value": { + "description": "Extracts the value of a securable-level tag.", + "ref": "catalog.TagValueExtraction", + "launch_stage": "GA", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "catalog.TagKeyValue": { "fields": { "key": { @@ -13058,6 +13171,15 @@ } } }, + "catalog.TagValueExtraction": { + "description": "Extracts the value of a securable-level tag: get_tag_value(\"tagKey\").", + "fields": { + "tag_key": { + "description": "1024 matches the max_length on FunctionArgument.constant above.", + "launch_stage": "GA" + } + } + }, "catalog.TemporaryCredentials": { "fields": { "aws_temp_credentials": { @@ -15883,7 +16005,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -16137,7 +16259,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -16546,7 +16668,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -16823,7 +16945,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -17375,7 +17497,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -17649,7 +17771,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -18354,10 +18476,12 @@ "description": "HardwareAcceleratorType: The type of hardware accelerator to use for compute workloads.\nNOTE: This enum is referenced and is intended to be used by other Databricks services\nthat need to specify hardware accelerator requirements for AI compute workloads.", "enum": [ "GPU_1xA10", - "GPU_8xH100" + "GPU_8xH100", + "GPU_1xH100" ], "enum_launch_stages": { "GPU_1xA10": "PUBLIC_BETA", + "GPU_1xH100": "PUBLIC_BETA", "GPU_8xH100": "PUBLIC_BETA" } }, @@ -19351,6 +19475,10 @@ "alternate_node_type_ids": { "description": "A list of node type IDs to use as fallbacks when the primary node type is unavailable.", "launch_stage": "GA" + }, + "aws_context_id": { + "description": "The AWS Context ID for EC2 Fleet.\nWhen set (non-empty), the value is passed to AWS CreateFleet API to create the EC2 Fleet.", + "launch_stage": "GA" } } }, @@ -20327,7 +20455,7 @@ "launch_stage": "GA" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "launch_stage": "GA" }, "use_ml_runtime": { @@ -20540,7 +20668,7 @@ "dashboards.DownloadMessageAttachmentVisualizationResponse": { "fields": { "contents": { - "launch_stage": "PUBLIC_BETA" + "launch_stage": "GA" } } }, @@ -20599,13 +20727,16 @@ "viz": { "description": "Visualization generated by Genie, if requested via `enable_visualization`", "ref": "dashboards.GenieVizAttachment", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] } } }, + "dashboards.GenieCancelResponseRequest": { + "description": "Request to cancel an in-flight agent-mode response." + }, "dashboards.GenieConversation": { "fields": { "conversation_id": { @@ -20656,7 +20787,7 @@ "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", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -20685,8 +20816,8 @@ "GENIE_CONVERSATION_TYPE_AGENT" ], "enum_launch_stages": { - "GENIE_CONVERSATION_TYPE_AGENT": "PUBLIC_BETA", - "GENIE_CONVERSATION_TYPE_CHAT": "PUBLIC_BETA" + "GENIE_CONVERSATION_TYPE_AGENT": "GA", + "GENIE_CONVERSATION_TYPE_CHAT": "GA" } }, "dashboards.GenieCreateConversationMessageRequest": { @@ -20697,7 +20828,7 @@ }, "enable_visualization": { "description": "Enable visualization generation.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -21560,7 +21691,7 @@ }, "enable_visualization": { "description": "Enable visualization generation.", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -21651,14 +21782,14 @@ "fields": { "query_attachment_id": { "description": "The ID of the query attachment the visualization was generated from", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] }, "title": { "description": "Name of the visualization", - "launch_stage": "PUBLIC_BETA", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -22307,7 +22438,7 @@ ], "enum_launch_stages": { "FOLLOW_UP_QUESTION": "GA", - "TEXT_ATTACHMENT_PURPOSE_ANSWER": "PUBLIC_BETA" + "TEXT_ATTACHMENT_PURPOSE_ANSWER": "GA" } }, "dashboards.Thought": { @@ -27242,7 +27373,7 @@ "direct_group_member": { "description": "Required. The group membership to create.", "ref": "iamv2.DirectGroupMember", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27251,7 +27382,7 @@ "direct_group_member": { "description": "Required. The direct group member to be added to the group.", "ref": "iamv2.DirectGroupMember", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27260,7 +27391,7 @@ "group": { "description": "Required. Group to be created in \u003cDatabricks\u003e", "ref": "iamv2.Group", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27269,7 +27400,7 @@ "group": { "description": "Required. Group to be created in \u003cDatabricks\u003e", "ref": "iamv2.Group", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27278,7 +27409,7 @@ "service_principal": { "description": "Required. Service principal to be created in \u003cDatabricks\u003e", "ref": "iamv2.ServicePrincipal", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27287,7 +27418,7 @@ "service_principal": { "description": "Required. Service principal to be created in \u003cDatabricks\u003e", "ref": "iamv2.ServicePrincipal", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27296,7 +27427,7 @@ "user": { "description": "Required. User to be created in \u003cDatabricks\u003e", "ref": "iamv2.User", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27305,7 +27436,7 @@ "user": { "description": "Required. User to be created in \u003cDatabricks\u003e", "ref": "iamv2.User", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27332,7 +27463,7 @@ "workspace_assignment": { "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "ref": "iamv2.WorkspaceAssignment", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27341,7 +27472,7 @@ "workspace_assignment": { "description": "Required. Workspace assignment to be created in \u003cDatabricks\u003e.", "ref": "iamv2.WorkspaceAssignment", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27362,21 +27493,21 @@ "fields": { "display_name": { "description": "Display name of the principal.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "external_id": { "description": "The external ID of the principal in Databricks.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "group_id": { "description": "The internal ID of the group this member belongs to.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL", "OUTPUT_ONLY" @@ -27385,14 +27516,14 @@ "membership_source": { "description": "The source of group membership (internal or from identity provider).", "ref": "iamv2.GroupMembershipSource", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "principal_id": { "description": "Internal ID of the principal in Databricks.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "IMMUTABLE" ] @@ -27400,7 +27531,7 @@ "principal_type": { "description": "The type of the principal (user/service principal/group).", "ref": "iamv2.PrincipalType", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -27417,16 +27548,199 @@ "ALLOW_INSTANCE_POOL_CREATE" ], "enum_launch_stages": { - "ALLOW_CLUSTER_CREATE": "PRIVATE_PREVIEW", - "ALLOW_INSTANCE_POOL_CREATE": "PRIVATE_PREVIEW", - "DATABRICKS_SQL_ACCESS": "PRIVATE_PREVIEW", - "WORKSPACE_ACCESS": "PRIVATE_PREVIEW", - "WORKSPACE_ADMIN": "PRIVATE_PREVIEW", - "WORKSPACE_CONSUME": "PRIVATE_PREVIEW" + "ALLOW_CLUSTER_CREATE": "PUBLIC_BETA", + "ALLOW_INSTANCE_POOL_CREATE": "PUBLIC_BETA", + "DATABRICKS_SQL_ACCESS": "PUBLIC_BETA", + "WORKSPACE_ACCESS": "PUBLIC_BETA", + "WORKSPACE_ADMIN": "PUBLIC_BETA", + "WORKSPACE_CONSUME": "PUBLIC_BETA" + } + }, + "iamv2.ExternalGroup": { + "description": "An external group from the customer's Identity Provider, resolved into\nDatabricks. This is a read-only resource keyed by the IdP external ID.\nThe Get method may trigger an idempotent sync from the customer's IdP to\nprovision or refresh the group's data in Databricks.", + "fields": { + "account_id": { + "description": "The parent account ID, from Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "display_name": { + "description": "Display name of the group from the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "external_group_id": { + "description": "The external ID of the group in the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "internal_id": { + "description": "Internal groupId of the group in Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "name": { + "description": "The resource name of the external group. The format depends on the API that\nreturned it:\n- Account-scoped: accounts/{account_id}/external-groups/{external_group_id}\n- Workspace-scoped: external-groups/{external_group_id}", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "iamv2.ExternalServicePrincipal": { + "description": "An external service principal from the customer's Identity Provider, resolved\ninto Databricks. This is a read-only resource keyed by the IdP external ID.\nThe Get method may trigger an idempotent sync from the customer's IdP to\nprovision or refresh the service principal's data in Databricks.", + "fields": { + "account_id": { + "description": "The parent account ID, from Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "account_sp_status": { + "description": "The activity status of the service principal in the Databricks account.", + "ref": "iamv2.State", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "application_id": { + "description": "Application ID of the service principal, from the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "display_name": { + "description": "Display name of the service principal, from the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "external_service_principal_id": { + "description": "The external ID of the service principal in the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "internal_id": { + "description": "Internal servicePrincipalId of the service principal in Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "name": { + "description": "The resource name of the external service principal. The format depends on\nthe API that returned it:\n- Account-scoped: accounts/{account_id}/external-service-principals/{external_service_principal_id}\n- Workspace-scoped: external-service-principals/{external_service_principal_id}", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "iamv2.ExternalUser": { + "description": "An external user from the customer's Identity Provider, resolved into\nDatabricks. This is a read-only resource that allows customers to look up\nexternal user identities by their IdP external ID and retrieve the\ncorresponding Databricks internal ID and metadata. The Get method may\ntrigger an idempotent sync from the customer's IdP to provision or refresh\nthe user's data in Databricks.", + "fields": { + "account_id": { + "description": "The parent account ID, from Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "account_user_status": { + "description": "The activity status of the user in the Databricks account.", + "ref": "iamv2.State", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "display_name": { + "description": "Display name of the user from the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "external_user_id": { + "description": "The external ID of the user in the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "full_name": { + "description": "The full name of the user, from the customer's IdP.", + "ref": "iamv2.FullName", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "internal_id": { + "description": "Internal userId of the user in Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "name": { + "description": "The resource name of the external user. The format depends on the API that\nreturned it:\n- Account-scoped: accounts/{account_id}/external-users/{external_user_id}\n- Workspace-scoped: external-users/{external_user_id}", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "username": { + "description": "Username/email of the user, from Databricks.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "iamv2.FullName": { + "description": "The full name of a user.", + "fields": { + "family_name": { + "description": "The family (last) name of the user, from the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "given_name": { + "description": "The given (first) name of the user, from the customer's IdP.", + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OUTPUT_ONLY" + ] + } } }, "iamv2.GetDirectGroupMemberProxyRequest": {}, "iamv2.GetDirectGroupMemberRequest": {}, + "iamv2.GetExternalGroupProxyRequest": {}, + "iamv2.GetExternalGroupRequest": {}, + "iamv2.GetExternalServicePrincipalProxyRequest": {}, + "iamv2.GetExternalServicePrincipalRequest": {}, + "iamv2.GetExternalUserProxyRequest": {}, + "iamv2.GetExternalUserRequest": {}, "iamv2.GetGroupProxyRequest": {}, "iamv2.GetGroupRequest": {}, "iamv2.GetServicePrincipalProxyRequest": {}, @@ -27502,22 +27816,22 @@ "IDENTITY_PROVIDER" ], "enum_launch_stages": { - "IDENTITY_PROVIDER": "PRIVATE_PREVIEW", - "INTERNAL": "PRIVATE_PREVIEW" + "IDENTITY_PROVIDER": "PUBLIC_BETA", + "INTERNAL": "PUBLIC_BETA" } }, "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", + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27527,15 +27841,15 @@ "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", + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27547,11 +27861,11 @@ "fields": { "direct_group_members": { "description": "The list of direct group members with their membership source type.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "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" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27559,21 +27873,21 @@ "fields": { "filter": { "description": "Optional. Allows filtering groups by group name or external id.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_size": { - "description": "The maximum number of groups to return. The service may return fewer than this value.", - "launch_stage": "PRIVATE_PREVIEW", + "description": "The maximum number of groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27584,21 +27898,21 @@ "fields": { "filter": { "description": "Optional. Allows filtering groups by group name or external id.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_size": { - "description": "The maximum number of groups to return. The service may return fewer than this value.", - "launch_stage": "PRIVATE_PREVIEW", + "description": "The maximum number of groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27609,11 +27923,11 @@ "description": "Response message containing a page of groups in the account.", "fields": { "groups": { - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "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" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27621,21 +27935,21 @@ "fields": { "filter": { "description": "Optional. Allows filtering service principals by application id or external id.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_size": { - "description": "The maximum number of SPs to return. The service may return fewer than this value.", - "launch_stage": "PRIVATE_PREVIEW", + "description": "The maximum number of SPs to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27646,21 +27960,21 @@ "fields": { "filter": { "description": "Optional. Allows filtering service principals by application id or external id.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "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", + "description": "The maximum number of service principals to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27672,25 +27986,25 @@ "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" + "launch_stage": "PUBLIC_BETA" }, "service_principals": { - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, "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", + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27700,15 +28014,15 @@ "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", + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27720,11 +28034,11 @@ "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" + "launch_stage": "PUBLIC_BETA" }, "transitive_parent_groups": { "description": "The list of transitive parent groups.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -27732,21 +28046,21 @@ "fields": { "filter": { "description": "Optional. Allows filtering users by username or external id.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_size": { - "description": "The maximum number of users to return. The service may return fewer than this value.", - "launch_stage": "PRIVATE_PREVIEW", + "description": "The maximum number of users to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27757,21 +28071,21 @@ "fields": { "filter": { "description": "Optional. Allows filtering users by username or external id.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_size": { - "description": "The maximum number of users to return. The service may return fewer than this value.", - "launch_stage": "PRIVATE_PREVIEW", + "description": "The maximum number of users to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27782,17 +28096,17 @@ "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" + "launch_stage": "PUBLIC_BETA" }, "users": { - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, "iamv2.ListWorkspaceAssignmentDetailsProxyRequest": { "fields": { "page_size": { - "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", + "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -27810,7 +28124,7 @@ "iamv2.ListWorkspaceAssignmentDetailsRequest": { "fields": { "page_size": { - "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", + "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -27840,15 +28154,15 @@ "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", + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] }, "page_token": { "description": "A page token from a previous list call. Provide this to retrieve the subsequent page.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27858,15 +28172,15 @@ "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", + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -27878,10 +28192,10 @@ "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" + "launch_stage": "PUBLIC_BETA" }, "workspace_assignments": { - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28038,21 +28352,21 @@ "fields": { "account_id": { "description": "The parent account ID for group in Databricks.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "external_id": { "description": "ExternalId of the group in the customer's IdP.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "group_id": { "description": "Internal group ID of the group in Databricks.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -28064,11 +28378,11 @@ "group": { "description": "Required. Group to be updated in \u003cDatabricks\u003e", "ref": "iamv2.Group", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "update_mask": { "description": "Optional. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28077,11 +28391,11 @@ "group": { "description": "Required. Group to be updated in \u003cDatabricks\u003e", "ref": "iamv2.Group", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "update_mask": { "description": "Optional. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28090,11 +28404,11 @@ "service_principal": { "description": "Required. Service principal to be updated in \u003cDatabricks\u003e", "ref": "iamv2.ServicePrincipal", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "update_mask": { "description": "Optional. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28103,11 +28417,11 @@ "service_principal": { "description": "Required. Service Principal to be updated in \u003cDatabricks\u003e", "ref": "iamv2.ServicePrincipal", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "update_mask": { "description": "Optional. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28115,12 +28429,12 @@ "fields": { "update_mask": { "description": "Optional. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "user": { "description": "Required. User to be updated in \u003cDatabricks\u003e", "ref": "iamv2.User", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28128,12 +28442,12 @@ "fields": { "update_mask": { "description": "Optional. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "user": { "description": "Required. User to be updated in \u003cDatabricks\u003e", "ref": "iamv2.User", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28167,12 +28481,12 @@ "fields": { "update_mask": { "description": "Required. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "workspace_assignment": { "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "ref": "iamv2.WorkspaceAssignment", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28180,12 +28494,12 @@ "fields": { "update_mask": { "description": "Required. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "workspace_assignment": { "description": "Required. Workspace assignment to be updated in \u003cDatabricks\u003e.", "ref": "iamv2.WorkspaceAssignment", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28193,12 +28507,12 @@ "fields": { "update_mask": { "description": "Required. The list of fields to update.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "workspace_identity_detail": { "description": "Required. Workspace identity detail to be updated in \u003cDatabricks\u003e.", "ref": "iamv2.WorkspaceIdentityDetail", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" } } }, @@ -28342,14 +28656,14 @@ "fields": { "account_id": { "description": "The account ID parent of the workspace where the principal is assigned", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY", "UNORDERED_LIST" @@ -28357,7 +28671,7 @@ }, "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", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL", "UNORDERED_LIST" @@ -28365,19 +28679,19 @@ }, "principal_id": { "description": "The internal ID of the principal (user/sp/group) in Databricks.", - "launch_stage": "PRIVATE_PREVIEW" + "launch_stage": "PUBLIC_BETA" }, "principal_type": { "description": "The type of the principal (user/service principal/group) that is assigned.", "ref": "iamv2.PrincipalType", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "workspace_id": { "description": "The workspace ID where the principal is assigned.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL", "OUTPUT_ONLY" @@ -28438,14 +28752,14 @@ "assignment_type": { "description": "The type of assignment the principal has to the workspace (direct or indirect).", "ref": "iamv2.WorkspaceIdentityDetailAssignmentType", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] }, "principal_id": { "description": "The internal ID of the principal (user/sp/group) in Databricks.", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -28453,7 +28767,7 @@ "principal_type": { "description": "The type of the principal (user/service principal/group).", "ref": "iamv2.PrincipalType", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OUTPUT_ONLY" ] @@ -28461,7 +28775,7 @@ "workspace_identity_status": { "description": "The activity status of an identity in a Databricks workspace.", "ref": "iamv2.State", - "launch_stage": "PRIVATE_PREVIEW", + "launch_stage": "PUBLIC_BETA", "behaviors": [ "OPTIONAL" ] @@ -28475,8 +28789,8 @@ "INDIRECT" ], "enum_launch_stages": { - "DIRECT": "PRIVATE_PREVIEW", - "INDIRECT": "PRIVATE_PREVIEW" + "DIRECT": "PUBLIC_BETA", + "INDIRECT": "PUBLIC_BETA" } }, "iamv2.WorkspacePermission": { @@ -28585,6 +28899,10 @@ "description": "The alert_id is the canonical identifier of the alert.", "launch_stage": "PUBLIC_PREVIEW" }, + "parameters": { + "description": "Per-run parameter overrides, keyed by parameter name, applied onto the alert's stored\nquery parameters before the query is executed. Only scalar values are supported. Values\nmay reference job parameters with `{{job.parameters.*}}`, which are resolved before the\ntask runs. An override whose key does not match a stored parameter fails the task run.\nLimited to 10000 characters when serialized as JSON; keys must be 1-100 characters and\ncontain only letters, digits, underscores, dashes, and periods.", + "launch_stage": "PRIVATE_PREVIEW" + }, "subscribers": { "description": "The subscribers receive alert evaluation result notifications after the alert task is completed.\nThe number of subscriptions is limited to 100.", "launch_stage": "PUBLIC_PREVIEW" @@ -29111,6 +29429,11 @@ }, "jobs.Continuous": { "fields": { + "maintenance_window": { + "description": "Defines when platform-initiated maintenance may run for this job. If unspecified, maintenance may run at any time.", + "ref": "jobs.MaintenanceWindow", + "launch_stage": "PRIVATE_PREVIEW" + }, "pause_status": { "description": "Indicate whether the continuous execution of the job is paused or not. Defaults to UNPAUSED.", "ref": "jobs.PauseStatus", @@ -29126,6 +29449,11 @@ "jobs.ContinuousTriggerConfiguration": { "description": "Continuous trigger. Stripped-down counterpart to `ContinuousSettings`: `pause_status` is owned by the enclosing\n`TriggerConfiguration` and intentionally omitted here.", "fields": { + "maintenance_window": { + "description": "Defines when platform-initiated maintenance may run for this trigger. If unspecified,\nmaintenance may run at any time.", + "ref": "jobs.MaintenanceWindow", + "launch_stage": "PRIVATE_PREVIEW" + }, "task_retry_mode": { "description": "Whether the continuous job applies task-level retries. Defaults to NEVER.", "ref": "jobs.TaskRetryMode", @@ -29157,7 +29485,7 @@ "launch_stage": "PUBLIC_PREVIEW" }, "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.", + "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.\n\nPipelines started by a continuous job also run continuously, regardless of their own pipeline mode setting.", "ref": "jobs.Continuous", "launch_stage": "GA" }, @@ -29363,6 +29691,27 @@ } } }, + "jobs.DayOfWeek": { + "description": "Days of week that can be referenced by Jobs scheduling settings.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enum_launch_stages": { + "FRIDAY": "PRIVATE_PREVIEW", + "MONDAY": "PRIVATE_PREVIEW", + "SATURDAY": "PRIVATE_PREVIEW", + "SUNDAY": "PRIVATE_PREVIEW", + "THURSDAY": "PRIVATE_PREVIEW", + "TUESDAY": "PRIVATE_PREVIEW", + "WEDNESDAY": "PRIVATE_PREVIEW" + } + }, "jobs.DbtCloudJobRunStep": { "description": "Format of response retrieved from dbt Cloud, for inclusion in output\nDeprecated in favor of DbtPlatformJobRunStep", "fields": { @@ -30287,7 +30636,7 @@ "launch_stage": "PUBLIC_PREVIEW" }, "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.", + "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.\n\nPipelines started by a continuous job also run continuously, regardless of their own pipeline mode setting.", "ref": "jobs.Continuous", "launch_stage": "GA" }, @@ -30646,6 +30995,24 @@ } } }, + "jobs.MaintenanceWindow": { + "description": "A recurring weekly time window during which platform-initiated maintenance is\nallowed to run for a continuous job.", + "fields": { + "day_of_week": { + "description": "The day of week on which maintenance is allowed to happen. This field is required.", + "ref": "jobs.DayOfWeek", + "launch_stage": "PRIVATE_PREVIEW" + }, + "start_hour": { + "description": "An integer between 0 and 23 denoting the start hour for the maintenance window in the 24-hour day.\nPlatform-initiated maintenance is triggered only within a one-hour window starting at this hour.\nThis field is required.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "timezone_id": { + "description": "A Java timezone ID. The maintenance window is resolved with respect to this timezone. See [Java TimeZone](https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html) for details. This field is required.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "jobs.ModelTriggerConfiguration": { "fields": { "aliases": { @@ -33387,7 +33754,7 @@ } }, "jobs.TriggerConfiguration": { - "description": "A single trigger attached to a job via `JobSettings.triggers`. Exactly one of the trigger-type fields\n(`periodic`, `schedule`, `continuous`, `file_arrival`, `table_update`, `model`) must be set; mutual exclusivity\nis enforced in the API handler rather than via `oneof` so that codegen, validation, and JSON serialization\nacross SDKs and Terraform behave consistently.", + "description": "A single trigger attached to a job via `JobSettings.triggers`. Exactly one of the trigger-type fields\n(`periodic`, `schedule`, `continuous`, `file_arrival`, `table_update`, `model`, `job_completion`) must be set;\nmutual exclusivity is enforced in the API handler rather than via `oneof` so that codegen, validation, and JSON\nserialization across SDKs and Terraform behave consistently.", "fields": { "continuous": { "description": "Continuous trigger configuration.", @@ -33765,7 +34132,10 @@ }, "guidelines": { "description": "Guidelines for answering the question. Optional — examples may be created\nwith just a question; the front-end form does not require guidelines.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_BETA", + "behaviors": [ + "OPTIONAL" + ] }, "name": { "description": "Full resource name:\nknowledge-assistants/{knowledge_assistant_id}/examples/{example_id}", @@ -36246,16 +36616,8 @@ } } }, - "ml.ColumnIdentifier": { - "fields": { - "variant_expr_path": { - "description": "String representation of the column name using dot-prefixed path notation. For nested fields, the leaf value is what will be present in materialized tables\nand expected to match at query time. For example, the leaf node of value.trip_details.location_details.pickup_zip is pickup_zip.", - "launch_stage": "PRIVATE_PREVIEW" - } - } - }, "ml.ColumnSelection": { - "description": "A ColumnSelection function, equivalent to the LAST() record of an entity over a lifetime ContinuousWindow", + "description": "A ColumnSelection function, equivalent to the LAST() record of an entity over a lifetime window", "fields": { "column": { "description": "Column name from source to select as the feature value.", @@ -36316,22 +36678,6 @@ } } }, - "ml.ContinuousWindow": { - "description": "Deprecated: use RollingWindow with `delay` instead.", - "fields": { - "offset": { - "description": "The offset of the continuous window (must be non-positive).", - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, - "window_duration": { - "description": "The duration of the continuous window (must be positive).", - "launch_stage": "PRIVATE_PREVIEW" - } - } - }, "ml.CountFunction": { "description": "Computes the count of values.", "fields": { @@ -36780,6 +37126,14 @@ "OPTIONAL" ] }, + "lateness": { + "description": "Completeness timing for this Feature's use of the source. This configuration is part of the\nFeature definition; it does not modify the underlying table or stream.", + "ref": "ml.SourceLateness", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "request_source": { "description": "A request-time data source.", "ref": "ml.RequestSource", @@ -37019,14 +37373,6 @@ "OPTIONAL" ] }, - "entity_columns": { - "description": "Deprecated: Use Feature.entity instead. Kept for backwards compatibility.\nThe entity columns of the Delta table.", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, "filter_condition": { "description": "Single WHERE clause to filter delta table before applying transformations. Will be row-wise evaluated, so should only include conditionals and projections.", "launch_stage": "PRIVATE_PREVIEW", @@ -37038,14 +37384,6 @@ "description": "The full three-part (catalog, schema, table) name of the Delta table.", "launch_stage": "PRIVATE_PREVIEW" }, - "timeseries_column": { - "description": "Deprecated: Use Feature.timeseries_column instead. Kept for backwards compatibility.\nThe timeseries column of the Delta table.", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, "transformation_sql": { "description": "A single SQL SELECT expression applied after filter_condition.\nShould contains all the columns needed (eg. \"SELECT *, col_a + col_b AS col_c FROM x.y.z WHERE col_a \u003e 0\" would have `transformation_sql` \"*, col_a + col_b AS col_c\")\nIf transformation_sql is not provided, all columns of the delta table are present in the DataSource dataframe.", "launch_stage": "PRIVATE_PREVIEW", @@ -37296,14 +37634,6 @@ "OPTIONAL" ] }, - "filter_condition": { - "description": "Deprecated: Use DeltaTableSource.filter_condition or KafkaSource.filter_condition instead. Kept for backwards compatibility.\nThe filter condition applied to the source data before aggregation.", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, "full_name": { "description": "The full three-part name (catalog, schema, name) of the feature. This is the\nfeature's resource identifier; the catalog_name, schema_name, and name fields\nbelow are OUTPUT_ONLY decomposed views of this value.", "launch_stage": "PRIVATE_PREVIEW", @@ -37319,15 +37649,6 @@ "IMMUTABLE" ] }, - "inputs": { - "description": "Deprecated: Use AggregationFunction.inputs instead. Kept for backwards compatibility.\nThe input columns from which the feature is computed.", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "IMMUTABLE", - "OPTIONAL" - ] - }, "lineage_context": { "description": "Lineage context information for this feature.\nWARNING: This field is primarily intended for internal use by Databricks systems and\nis automatically populated when features are created through Databricks notebooks or jobs.\nUsers should not manually set this field as incorrect values may lead to inaccurate lineage tracking or unexpected behavior.\nThis field will be set by feature-engineering client and should be left unset by SDK and terraform users.", "ref": "ml.LineageContext", @@ -37358,16 +37679,6 @@ "IMMUTABLE" ] }, - "time_window": { - "description": "Deprecated: Use Function.aggregation_function.time_window instead. Kept for backwards compatibility.\nThe time window in which the feature is computed.", - "ref": "ml.TimeWindow", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "IMMUTABLE", - "OPTIONAL" - ] - }, "timeseries_column": { "description": "Column recording time, used for point-in-time joins, backfills, and aggregations.", "ref": "ml.TimeseriesColumn", @@ -37600,72 +37911,9 @@ "behaviors": [ "OPTIONAL" ] - }, - "extra_parameters": { - "description": "Deprecated: Use the function oneof with AggregationFunction instead. Kept for backwards compatibility.\nExtra parameters for parameterized functions.", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, - "function_type": { - "description": "Deprecated: Use the function oneof with AggregationFunction instead. Kept for backwards compatibility.\nThe type of the function.", - "ref": "ml.FunctionFunctionType", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - } - } - }, - "ml.FunctionExtraParameter": { - "description": "Deprecated: Use typed fields on function-specific messages (e.g. ApproxPercentileFunction.percentile)\nor AggregationFunction.ExtraParameter instead. Kept for backwards compatibility.", - "fields": { - "key": { - "description": "The name of the parameter.", - "launch_stage": "PRIVATE_PREVIEW" - }, - "value": { - "description": "The value of the parameter.", - "launch_stage": "PRIVATE_PREVIEW" } } }, - "ml.FunctionFunctionType": { - "description": "Deprecated: Use the function-specific messages in AggregationFunction.function_type oneof instead. Kept for backwards compatibility.", - "enum": [ - "AVG", - "COUNT", - "SUM", - "MIN", - "MAX", - "FIRST", - "LAST", - "APPROX_COUNT_DISTINCT", - "APPROX_PERCENTILE", - "STDDEV_POP", - "STDDEV_SAMP", - "VAR_POP", - "VAR_SAMP" - ], - "enum_launch_stages": { - "APPROX_COUNT_DISTINCT": "PRIVATE_PREVIEW", - "APPROX_PERCENTILE": "PRIVATE_PREVIEW", - "AVG": "PRIVATE_PREVIEW", - "COUNT": "PRIVATE_PREVIEW", - "FIRST": "PRIVATE_PREVIEW", - "LAST": "PRIVATE_PREVIEW", - "MAX": "PRIVATE_PREVIEW", - "MIN": "PRIVATE_PREVIEW", - "STDDEV_POP": "PRIVATE_PREVIEW", - "STDDEV_SAMP": "PRIVATE_PREVIEW", - "SUM": "PRIVATE_PREVIEW", - "VAR_POP": "PRIVATE_PREVIEW", - "VAR_SAMP": "PRIVATE_PREVIEW" - } - }, "ml.GetByNameRequest": { "fields": { "experiment_name": { @@ -38098,14 +38346,6 @@ }, "ml.KafkaSource": { "fields": { - "entity_column_identifiers": { - "description": "Deprecated: Use Feature.entity instead. Kept for backwards compatibility.\nThe entity column identifiers of the Kafka source.", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, "filter_condition": { "description": "The filter condition applied to the source data before aggregation.", "launch_stage": "PRIVATE_PREVIEW", @@ -38116,15 +38356,6 @@ "name": { "description": "Name of the Kafka source, used to identify it. This is used to look up the corresponding KafkaConfig object. Can be distinct from topic name.", "launch_stage": "PRIVATE_PREVIEW" - }, - "timeseries_column_identifier": { - "description": "Deprecated: Use Feature.timeseries_column instead. Kept for backwards compatibility.\nThe timeseries column identifier of the Kafka source.", - "ref": "ml.ColumnIdentifier", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] } } }, @@ -38875,13 +39106,6 @@ "ml.MaterializedFeature": { "description": "A materialized feature represents a feature that is continuously computed and stored.", "fields": { - "cron_schedule": { - "description": "The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone.\nHidden from GraphQL: superseded by the `trigger` oneof (cron_schedule_trigger), so not exposed to Catalog Explorer.", - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, "cron_schedule_trigger": { "description": "A cron-based schedule trigger for the materialization pipeline.", "ref": "ml.CronSchedule", @@ -38920,6 +39144,7 @@ "ref": "ml.OfflineStoreConfig", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ + "IMMUTABLE", "OPTIONAL" ] }, @@ -38928,6 +39153,7 @@ "ref": "ml.OnlineStoreConfig", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ + "IMMUTABLE", "OPTIONAL" ] }, @@ -39848,7 +40074,7 @@ } }, "ml.RollingWindow": { - "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`.", + "description": "A rolling time window with an optional non-negative delay.", "fields": { "delay": { "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.", @@ -40456,6 +40682,20 @@ "ml.SetTagResponse": {}, "ml.SlidingWindow": { "fields": { + "delay": { + "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" + ] + }, + "offset": { + "description": "Non-negative phase shift from the default midnight UTC alignment. For example, offset=22h on\na 24h slide produces boundaries at 22:00 UTC (17:00 New York in standard time) instead of\nmidnight UTC. If unset, the offset is zero. Must be shorter than slide_duration (and therefore\nwindow_duration).", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "slide_duration": { "description": "The slide duration (interval by which windows advance, must be positive and less than duration).", "launch_stage": "PRIVATE_PREVIEW" @@ -40469,6 +40709,18 @@ } } }, + "ml.SourceLateness": { + "description": "Configures when event-time data from this source is considered complete for a Feature.", + "fields": { + "settling_delay": { + "description": "Non-negative time to wait after a window ends before treating its source data as complete.\nTraining shifts the eligible evaluation time backwards by this duration so it does not join\ndata that would still have been settling online. Materialization waits for the duration to\nelapse before publishing the window. If unset, source data is considered settled immediately.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "ml.Status": { "description": "The status of the model version. Valid values are:\n* `PENDING_REGISTRATION`: Request to register a new model version is pending as server performs background tasks.\n\n* `FAILED_REGISTRATION`: Request to register a new model version has failed.\n\n* `READY`: Model version is ready for use.", "enum": [ @@ -40788,14 +41040,6 @@ }, "ml.TimeWindow": { "fields": { - "continuous": { - "ref": "ml.ContinuousWindow", - "deprecated": true, - "launch_stage": "PRIVATE_PREVIEW", - "behaviors": [ - "OPTIONAL" - ] - }, "rolling": { "ref": "ml.RollingWindow", "launch_stage": "PRIVATE_PREVIEW", @@ -40818,6 +41062,13 @@ "OPTIONAL" ] }, + "start_time": { + "description": "Earliest event-time boundary at which the Feature may emit an output. This gates outputs, not\nthe historical inputs read by a window. For example, a 365-day window with\nstart_time=2026-01-01 begins emitting partial-window values on that date instead of waiting\nfor 365 days of data; a lifetime window produces no output before start_time. If unset,\ntumbling and fixed-duration sliding windows first emit at an offset-aligned boundary after a\nfull window can be formed. If unset, lifetime sliding windows and rolling windows emit as soon as\neligible source data exists.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "tumbling": { "ref": "ml.TumblingWindow", "launch_stage": "PRIVATE_PREVIEW", @@ -40896,6 +41147,20 @@ }, "ml.TumblingWindow": { "fields": { + "delay": { + "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" + ] + }, + "offset": { + "description": "Non-negative phase shift from the default midnight UTC alignment. For example, offset=22h on\na 24h window produces boundaries at 22:00 UTC (17:00 New York in standard time) instead of\nmidnight UTC. If unset, the offset is zero. Must be shorter than window_duration.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, "window_duration": { "description": "The duration of each tumbling window (non-overlapping, fixed-duration windows).", "launch_stage": "PRIVATE_PREVIEW" @@ -42145,7 +42410,8 @@ "launch_stage": "GA" }, "continuous": { - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", + "deprecated": true, "launch_stage": "GA" }, "deployment": { @@ -42325,6 +42591,10 @@ "ref": "pipelines.OutlookOptions", "launch_stage": "PRIVATE_PREVIEW" }, + "rabbitmq_options": { + "ref": "pipelines.RabbitmqOptions", + "launch_stage": "PUBLIC_BETA" + }, "reddit_ads_options": { "ref": "pipelines.RedditAdsOptions", "launch_stage": "PRIVATE_PREVIEW" @@ -42385,7 +42655,8 @@ "launch_stage": "GA" }, "continuous": { - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", + "deprecated": true, "launch_stage": "GA" }, "deployment": { @@ -42625,7 +42896,8 @@ "launch_stage": "GA" }, "continuous": { - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", + "deprecated": true, "launch_stage": "GA" }, "deployment": { @@ -43278,6 +43550,7 @@ "CONFLUENCE", "META_MARKETING", "ZENDESK", + "RABBITMQ", "FOREIGN_CATALOG" ], "enum_launch_stages": { @@ -43294,6 +43567,7 @@ "NETSUITE": "PUBLIC_PREVIEW", "ORACLE": "PUBLIC_PREVIEW", "POSTGRESQL": "PUBLIC_PREVIEW", + "RABBITMQ": "PUBLIC_BETA", "SALESFORCE": "PUBLIC_PREVIEW", "SERVICENOW": "PUBLIC_PREVIEW", "SHAREPOINT": "PUBLIC_PREVIEW", @@ -43965,7 +44239,7 @@ "launch_stage": "GA" }, "label": { - "description": "A label for the cluster specification, either `default` to configure the default cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`.", + "description": "A label for the cluster specification, either `default` to configure the default cluster settings applied to both the update and maintenance clusters, `updates` to configure the update cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`.", "launch_stage": "GA" }, "node_type_id": { @@ -44203,7 +44477,8 @@ "launch_stage": "GA" }, "continuous": { - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", + "deprecated": true, "launch_stage": "GA" }, "deployment": { @@ -44405,7 +44680,7 @@ }, "environment_version": { "description": "The environment version of the serverless Python environment used to execute\ncustomer Python code. Each environment version includes a specific Python\nversion and a curated set of pre-installed libraries with defined versions,\nproviding a stable and reproducible execution environment.\n\nDatabricks supports a three-year lifecycle for each environment version.\nFor available versions and their included packages, see\nhttps://docs.databricks.com/aws/en/release-notes/serverless/environment-version/\n\nThe value should be a string representing the environment version number, for example: `\"4\"`.", - "launch_stage": "PUBLIC_BETA" + "launch_stage": "PUBLIC_PREVIEW" } } }, @@ -44443,6 +44718,15 @@ "LEGACY_PUBLISHING_MODE": "GA" } }, + "pipelines.RabbitmqOptions": { + "description": "RabbitMQ specific options for ingestion.\nPerformance tuning options (consumers_per_task, max_messages_per_fetch, etc.)\nare intentionally not exposed in the public API. The managed connector uses\nsensible defaults internally. These can be added later if user demand arises.", + "fields": { + "queue": { + "description": "(Required) RabbitMQ queue name to consume from.", + "launch_stage": "PUBLIC_BETA" + } + } + }, "pipelines.RedditAdsOptions": { "description": "Reddit Ads specific options for ingestion", "fields": { @@ -44600,7 +44884,7 @@ "launch_stage": "PUBLIC_PREVIEW" }, "source_schema": { - "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.", + "description": "Schema name in the source database. Optional: some source types (for example streaming or\nmessage-bus connectors) do not use it, so it may be absent from a pipeline's definition.\nClients that assume it is always present should handle its absence.", "launch_stage": "PUBLIC_PREVIEW" }, "table_configuration": { @@ -44831,7 +45115,7 @@ "launch_stage": "PUBLIC_PREVIEW" }, "source_table": { - "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.", + "description": "Table name in the source database. Optional: some source types (for example streaming or\nmessage-bus connectors) do not use it, so it may be absent from a pipeline's definition.\nClients that assume it is always present should handle its absence.", "launch_stage": "PUBLIC_PREVIEW" }, "table_configuration": { @@ -45352,6 +45636,14 @@ "OPTIONAL" ] }, + "source_snapshot": { + "description": "The snapshot this branch was created from. When set, the branch's data\ncomes from the snapshot rather than a source branch, so source_branch,\nsource_branch_lsn, and source_branch_time must be empty. The snapshot must\nbe AVAILABLE and belong to this branch's project.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE", + "OPTIONAL" + ] + }, "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": "GA", @@ -45449,6 +45741,13 @@ "OUTPUT_ONLY" ] }, + "source_snapshot": { + "description": "The snapshot this branch was restored from. Set only for branches created by\nrestoring a snapshot; unset for all other branches.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, "state_change_time": { "description": "A timestamp indicating when the `current_state` began.", "launch_stage": "GA", @@ -45844,6 +46143,19 @@ } } }, + "postgres.CreateSnapshotRequest": { + "fields": { + "snapshot": { + "description": "The snapshot to create.", + "ref": "postgres.Snapshot", + "launch_stage": "PRIVATE_PREVIEW" + }, + "snapshot_id": { + "description": "Client-chosen ID for the snapshot. It becomes the final segment of the\nsnapshot resource name and cannot be changed after creation.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, "postgres.CreateSyncedTableRequest": { "fields": { "synced_table": { @@ -45856,6 +46168,18 @@ } } }, + "postgres.DailySchedule": { + "description": "Take a snapshot once per day, at the configured hour.", + "fields": { + "hour": { + "description": "The hour of the day, in UTC, at which to take the snapshot, in [0, 23].", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "postgres.DataApi": { "description": "DataApi represents the Data API (PostgREST) configuration for a Database.\nAt most one DataApi per database. Create enables Data API, Delete disables it.", "fields": { @@ -46181,6 +46505,27 @@ } } }, + "postgres.DayOfWeek": { + "description": "The day of the week on which a weekly snapshot is taken.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enum_launch_stages": { + "FRIDAY": "PRIVATE_PREVIEW", + "MONDAY": "PRIVATE_PREVIEW", + "SATURDAY": "PRIVATE_PREVIEW", + "SUNDAY": "PRIVATE_PREVIEW", + "THURSDAY": "PRIVATE_PREVIEW", + "TUESDAY": "PRIVATE_PREVIEW", + "WEDNESDAY": "PRIVATE_PREVIEW" + } + }, "postgres.DeleteBranchRequest": { "fields": { "purge": { @@ -46229,6 +46574,7 @@ } } }, + "postgres.DeleteSnapshotRequest": {}, "postgres.DeleteSyncedTableRequest": {}, "postgres.DeltaTableSyncInfo": { "fields": { @@ -46776,6 +47122,8 @@ "postgres.GetOperationRequest": {}, "postgres.GetProjectRequest": {}, "postgres.GetRoleRequest": {}, + "postgres.GetSnapshotRequest": {}, + "postgres.GetSnapshotScheduleRequest": {}, "postgres.GetSyncedTableRequest": {}, "postgres.InitialBranchSpec": { "description": "Configuration for the initial default branch created during project creation.", @@ -47062,6 +47410,52 @@ } } }, + "postgres.ListSnapshotsRequest": { + "fields": { + "page_size": { + "description": "Maximum number of snapshots to return per page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "page_token": { + "description": "Page token from a previous response; omit for the first page.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, + "postgres.ListSnapshotsResponse": { + "fields": { + "next_page_token": { + "description": "Token to retrieve the next page; empty if there are no more pages.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "snapshots": { + "description": "The snapshots in the project.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "postgres.MonthlySchedule": { + "description": "Take a snapshot once per month, on the configured day at the configured hour.", + "fields": { + "day": { + "description": "The day of the month on which to take the snapshot, in [1, 31]. In shorter\nmonths the snapshot is taken on the last day instead (day 31 runs on Feb 28\nor 29, and on Apr 30), so every month gets exactly one snapshot.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "hour": { + "description": "The hour of the day, in UTC, at which to take the snapshot, in [0, 23].", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "postgres.NewPipelineSpec": { "fields": { "budget_policy_id": { @@ -47697,6 +48091,192 @@ } } }, + "postgres.ScheduleCadence": { + "description": "One cadence at which automatic snapshots are taken.", + "fields": { + "daily_schedule": { + "description": "Take a snapshot once per day.", + "ref": "postgres.DailySchedule", + "launch_stage": "PRIVATE_PREVIEW" + }, + "monthly_schedule": { + "description": "Take a snapshot once per month.", + "ref": "postgres.MonthlySchedule", + "launch_stage": "PRIVATE_PREVIEW" + }, + "retention": { + "description": "How long snapshots from this cadence are kept before automatic deletion.\nMust be at least 1 hour. Applied when a snapshot is taken; not retroactive,\nso changing it affects only later snapshots.", + "launch_stage": "PRIVATE_PREVIEW" + }, + "weekly_schedule": { + "description": "Take a snapshot once per week.", + "ref": "postgres.WeeklySchedule", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "postgres.Snapshot": { + "description": "An immutable, point-in-time copy of a branch's data within a project. It\nremains available after the source branch is deleted.", + "fields": { + "create_time": { + "description": "When the snapshot was created.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "name": { + "description": "The resource name of the snapshot.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "launch_stage": "PRIVATE_PREVIEW" + }, + "snapshot_id": { + "description": "The user-chosen ID; the final segment of `name`.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "spec": { + "description": "Client-provided configuration of the snapshot.", + "ref": "postgres.SnapshotSpec", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + }, + "status": { + "description": "Server-observed state of the snapshot.", + "ref": "postgres.SnapshotStatus", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "uid": { + "description": "Unique system-generated ID for the snapshot.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, + "postgres.SnapshotOperationMetadata": { + "description": "Metadata for the long-running snapshot Create and Delete operations." + }, + "postgres.SnapshotSchedule": { + "description": "The automatic snapshot cadences for a branch. There is exactly one schedule\nper branch (singleton); it is configured in place, not created or deleted.\n\nName: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "fields": { + "name": { + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "launch_stage": "PRIVATE_PREVIEW" + }, + "schedule": { + "description": "The cadences at which automatic snapshots are taken. Update replaces the\nwhole set; an empty set disables automatic snapshots. Order is not\nsignificant. When several cadences fire together, one snapshot is taken,\nretained for the longest of their retentions.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL", + "UNORDERED_LIST" + ] + } + } + }, + "postgres.SnapshotScheduleOperationMetadata": { + "description": "Metadata for the long-running snapshot schedule Update operation." + }, + "postgres.SnapshotSpec": { + "description": "Client-provided configuration of the snapshot.", + "fields": { + "expire_time": { + "description": "Absolute time at which the snapshot is deleted.\nMutually exclusive with `ttl` and `no_expiry`.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE", + "OPTIONAL" + ] + }, + "no_expiry": { + "description": "If true, the snapshot never expires.\nMutually exclusive with `ttl` and `expire_time`.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE", + "OPTIONAL" + ] + }, + "source_branch": { + "description": "The source branch to snapshot.\nFormat: projects/{project_id}/branches/{branch_id}", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE" + ] + }, + "source_branch_lsn": { + "description": "LSN to snapshot from, e.g. `16/B374D848`.\nMutually exclusive with `source_branch_time`.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE", + "OPTIONAL" + ] + }, + "source_branch_time": { + "description": "Timestamp to snapshot from.\nMutually exclusive with `source_branch_lsn`.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE", + "OPTIONAL" + ] + }, + "ttl": { + "description": "Time-to-live. The snapshot expires this long after it is created.\nMutually exclusive with `expire_time` and `no_expiry`. Reads report the\nresolved absolute `expire_time` instead.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "IMMUTABLE", + "INPUT_ONLY", + "OPTIONAL" + ] + } + } + }, + "postgres.SnapshotStatus": { + "description": "Server-observed state of a snapshot.", + "fields": { + "diff_size_bytes": { + "description": "Incremental storage size in bytes since the previous snapshot. Unset when\nthe snapshot is not billed on incremental usage.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "expire_time": { + "description": "Absolute time at which the snapshot is deleted.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "full_size_bytes": { + "description": "Full logical size of the snapshot, in bytes.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "no_expiry": { + "description": "True if the snapshot never expires.", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + }, + "source_branch": { + "description": "The source branch the snapshot was taken from.\nFormat: projects/{project_id}/branches/{branch_id}", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OUTPUT_ONLY" + ] + } + } + }, "postgres.SyncedTable": { "fields": { "create_time": { @@ -48172,6 +48752,36 @@ } } }, + "postgres.UpdateSnapshotScheduleRequest": { + "fields": { + "snapshot_schedule": { + "description": "The snapshot schedule to set. Its `name` identifies the branch.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "ref": "postgres.SnapshotSchedule", + "launch_stage": "PRIVATE_PREVIEW" + }, + "update_mask": { + "description": "Fields to update. The only updatable path is `schedule`, which replaces the\nentire set of cadences.", + "launch_stage": "PRIVATE_PREVIEW" + } + } + }, + "postgres.WeeklySchedule": { + "description": "Take a snapshot once per week, on the configured day at the configured hour.", + "fields": { + "day_of_week": { + "description": "The day of the week on which to take the snapshot.", + "ref": "postgres.DayOfWeek", + "launch_stage": "PRIVATE_PREVIEW" + }, + "hour": { + "description": "The hour of the day, in UTC, at which to take the snapshot, in [0, 23].", + "launch_stage": "PRIVATE_PREVIEW", + "behaviors": [ + "OPTIONAL" + ] + } + } + }, "provisioning.AwsCredentials": { "fields": { "sts_role": { @@ -55340,7 +55950,7 @@ "fields": { "access_policy_type": { "ref": "settingsv2.AibiDashboardEmbeddingAccessPolicyAccessPolicyType", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55354,15 +55964,15 @@ "DENY_ALL_DOMAINS" ], "enum_launch_stages": { - "ALLOW_ALL_DOMAINS": "PUBLIC_PREVIEW", - "ALLOW_APPROVED_DOMAINS": "PUBLIC_PREVIEW", - "DENY_ALL_DOMAINS": "PUBLIC_PREVIEW" + "ALLOW_ALL_DOMAINS": "GA", + "ALLOW_APPROVED_DOMAINS": "GA", + "DENY_ALL_DOMAINS": "GA" } }, "settingsv2.AibiDashboardEmbeddingApprovedDomains": { "fields": { "approved_domains": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55382,7 +55992,7 @@ "settingsv2.BooleanMessage": { "fields": { "value": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55392,33 +56002,33 @@ "settingsv2.ClusterAutoRestartMessage": { "fields": { "can_toggle": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "enabled": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "enablement_details": { "ref": "settingsv2.ClusterAutoRestartMessageEnablementDetails", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "maintenance_window": { "ref": "settingsv2.ClusterAutoRestartMessageMaintenanceWindow", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "restart_even_if_no_updates_available": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55430,21 +56040,21 @@ "fields": { "forced_for_compliance_mode": { "description": "The feature is force enabled if compliance mode is active", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "unavailable_for_disabled_entitlement": { "description": "The feature is unavailable if the corresponding entitlement disabled (see getShieldEntitlementEnable)", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "unavailable_for_non_enterprise_tier": { "description": "The feature is unavailable if the customer doesn't have enterprise tier", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55455,7 +56065,7 @@ "fields": { "week_day_based_schedule": { "ref": "settingsv2.ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55473,34 +56083,34 @@ "SUNDAY" ], "enum_launch_stages": { - "FRIDAY": "PUBLIC_PREVIEW", - "MONDAY": "PUBLIC_PREVIEW", - "SATURDAY": "PUBLIC_PREVIEW", - "SUNDAY": "PUBLIC_PREVIEW", - "THURSDAY": "PUBLIC_PREVIEW", - "TUESDAY": "PUBLIC_PREVIEW", - "WEDNESDAY": "PUBLIC_PREVIEW" + "FRIDAY": "GA", + "MONDAY": "GA", + "SATURDAY": "GA", + "SUNDAY": "GA", + "THURSDAY": "GA", + "TUESDAY": "GA", + "WEDNESDAY": "GA" } }, "settingsv2.ClusterAutoRestartMessageMaintenanceWindowWeekDayBasedSchedule": { "fields": { "day_of_week": { "ref": "settingsv2.ClusterAutoRestartMessageMaintenanceWindowDayOfWeek", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "frequency": { "ref": "settingsv2.ClusterAutoRestartMessageMaintenanceWindowWeekDayFrequency", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "window_start_time": { "ref": "settingsv2.ClusterAutoRestartMessageMaintenanceWindowWindowStartTime", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55518,25 +56128,25 @@ "EVERY_WEEK" ], "enum_launch_stages": { - "EVERY_WEEK": "PUBLIC_PREVIEW", - "FIRST_AND_THIRD_OF_MONTH": "PUBLIC_PREVIEW", - "FIRST_OF_MONTH": "PUBLIC_PREVIEW", - "FOURTH_OF_MONTH": "PUBLIC_PREVIEW", - "SECOND_AND_FOURTH_OF_MONTH": "PUBLIC_PREVIEW", - "SECOND_OF_MONTH": "PUBLIC_PREVIEW", - "THIRD_OF_MONTH": "PUBLIC_PREVIEW" + "EVERY_WEEK": "GA", + "FIRST_AND_THIRD_OF_MONTH": "GA", + "FIRST_OF_MONTH": "GA", + "FOURTH_OF_MONTH": "GA", + "SECOND_AND_FOURTH_OF_MONTH": "GA", + "SECOND_OF_MONTH": "GA", + "THIRD_OF_MONTH": "GA" } }, "settingsv2.ClusterAutoRestartMessageMaintenanceWindowWindowStartTime": { "fields": { "hours": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "minutes": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55575,7 +56185,7 @@ "settingsv2.IntegerMessage": { "fields": { "value": { - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55586,11 +56196,11 @@ "fields": { "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.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "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.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55598,11 +56208,11 @@ "fields": { "next_page_token": { "description": "A token that can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "settings_metadata": { "description": "List of all settings available via public APIs and their metadata", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55640,11 +56250,11 @@ "fields": { "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.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "page_token": { "description": "A page token, received from a previous `ListWorkspaceSettingsMetadataRequest` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListWorkspaceSettingsMetadataRequest` must match\nthe call that provided the page token.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55652,11 +56262,11 @@ "fields": { "next_page_token": { "description": "A token that can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "settings_metadata": { "description": "List of all settings available via public APIs and their metadata", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55674,7 +56284,7 @@ "fields": { "setting": { "ref": "settingsv2.Setting", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55690,7 +56300,7 @@ "fields": { "setting": { "ref": "settingsv2.Setting", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55698,7 +56308,7 @@ "fields": { "value": { "ref": "settingsv2.PersonalComputeMessagePersonalComputeMessageEnum", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55712,8 +56322,8 @@ "DELEGATE" ], "enum_launch_stages": { - "DELEGATE": "PUBLIC_PREVIEW", - "ON": "PUBLIC_PREVIEW" + "DELEGATE": "GA", + "ON": "GA" } }, "settingsv2.PreviewPhase": { @@ -55744,7 +56354,7 @@ }, "status": { "ref": "settingsv2.RestrictWorkspaceAdminsMessageStatus", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55757,8 +56367,8 @@ "RESTRICT_TOKENS_AND_JOB_RUN_AS" ], "enum_launch_stages": { - "ALLOW_ALL": "PUBLIC_PREVIEW", - "RESTRICT_TOKENS_AND_JOB_RUN_AS": "PUBLIC_PREVIEW" + "ALLOW_ALL": "GA", + "RESTRICT_TOKENS_AND_JOB_RUN_AS": "GA" } }, "settingsv2.Setting": { @@ -55766,7 +56376,7 @@ "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.", "ref": "settingsv2.AibiDashboardEmbeddingAccessPolicy", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55774,7 +56384,7 @@ "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.", "ref": "settingsv2.AibiDashboardEmbeddingApprovedDomains", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55790,7 +56400,7 @@ "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.", "ref": "settingsv2.ClusterAutoRestartMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55798,7 +56408,7 @@ "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.", "ref": "settingsv2.BooleanMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55814,7 +56424,7 @@ "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.", "ref": "settingsv2.AibiDashboardEmbeddingAccessPolicy", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55822,7 +56432,7 @@ "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.", "ref": "settingsv2.AibiDashboardEmbeddingApprovedDomains", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55838,7 +56448,7 @@ "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.", "ref": "settingsv2.ClusterAutoRestartMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55846,7 +56456,7 @@ "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.", "ref": "settingsv2.BooleanMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -55862,7 +56472,7 @@ "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.", "ref": "settingsv2.IntegerMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -55878,7 +56488,7 @@ "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.", "ref": "settingsv2.PersonalComputeMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55886,7 +56496,7 @@ "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.", "ref": "settingsv2.RestrictWorkspaceAdminsMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55894,7 +56504,7 @@ "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.", "ref": "settingsv2.StringMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" ] @@ -55902,14 +56512,14 @@ "integer_val": { "description": "Setting value for integer type setting. This is the setting value set by consumers, check effective_integer_val for final setting value.", "ref": "settingsv2.IntegerMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] }, "name": { "description": "Name of the setting.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "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.", @@ -55922,7 +56532,7 @@ "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.", "ref": "settingsv2.PersonalComputeMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55930,7 +56540,7 @@ "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.", "ref": "settingsv2.RestrictWorkspaceAdminsMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55938,7 +56548,7 @@ "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.", "ref": "settingsv2.StringMessage", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -55949,7 +56559,7 @@ "fields": { "description": { "description": "Setting description for what this setting controls", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "display_name": { "description": "Human-readable display name for the setting or feature preview.\nThis field may be unset if no display name is available.", @@ -55957,11 +56567,11 @@ }, "docs_link": { "description": "Link to databricks documentation for the setting", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "name": { "description": "Name of the setting.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" }, "preview_phase": { "description": "Preview phase for feature preview settings. This field is not set for non-preview settings.", @@ -55970,7 +56580,7 @@ }, "type": { "description": "Sample message depicting the type of the setting. To set this setting, the value sent must match this type.", - "launch_stage": "PUBLIC_PREVIEW" + "launch_stage": "GA" } } }, @@ -55978,7 +56588,7 @@ "fields": { "value": { "description": "Represents a generic string value.", - "launch_stage": "PUBLIC_PREVIEW", + "launch_stage": "GA", "behaviors": [ "OPTIONAL" ] @@ -57961,21 +58571,21 @@ } }, "sql.AlertStatementParameter": { - "description": "Redash-owned copy of the internal StatementParameter for the external AlertV2 API.\nThe internal `ordinal` and `args` fields are intentionally omitted: the public API\nsupports only flat, named scalar parameters; complex types (ARRAY, MAP, STRUCT) are\nnot supported. This mirrors SEA's public StatementParameter schema, see:\ncmdexec/sql-exec-api/proto/sql_exec_api_service.proto:763-779", + "description": "A named parameter bound to the alert query. Only flat, named scalar parameters are\nsupported; complex types such as ARRAY, MAP, and STRUCT are not.", "fields": { "name": { - "description": "The name of the parameter, referenced in the query as `:name`.", + "description": "The name of the parameter. Reference it in the query text as `:name`. Required, must be\nnon-empty, and must be unique across the alert's parameters.", "launch_stage": "PRIVATE_PREVIEW" }, "type": { - "description": "The SQL data type of the parameter, e.g. STRING, INT, or DATE. Defaults to STRING. This is a\nstring rather than an enum because scalar subtypes such as DECIMAL(10, 4) cannot be enumerated.\nComplex types such as ARRAY, MAP, and STRUCT are not supported.", + "description": "The SQL data type of the parameter, for example `STRING`, `INT`, or `DECIMAL(10, 2)`. If no type is given\nthe type is assumed to be `STRING`. Complex types such as `ARRAY`, `MAP`, and `STRUCT` are not supported.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" ] }, "value": { - "description": "The bound value for the parameter, given as a string. If omitted, the value is interpreted as NULL.", + "description": "The value bound to the parameter, represented as a string. If omitted, the value is interpreted as NULL.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL" @@ -58023,7 +58633,7 @@ "launch_stage": "GA" }, "id": { - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "launch_stage": "GA", "behaviors": [ "OUTPUT_ONLY" @@ -58045,7 +58655,7 @@ ] }, "parameters": { - "description": "Query parameters bound when executing the alert query, referenced in the\nquery text with `:name` syntax. Static values only.", + "description": "A list of parameters to pass into the alert SQL query statement containing parameter markers. Static values only.\n\nReference a parameter in the query text as `:name`. Each parameter must have a unique, non-empty name.\nEach parameter 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.", "launch_stage": "PRIVATE_PREVIEW", "behaviors": [ "OPTIONAL", @@ -73151,7 +73761,7 @@ }, { "name": "id", - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -73186,7 +73796,7 @@ }, { "name": "parameters", - "description": "Query parameters bound when executing the alert query, referenced in the\nquery text with `:name` syntax. Static values only.", + "description": "A list of parameters to pass into the alert SQL query statement containing parameter markers. Static values only.\n\nReference a parameter in the query text as `:name`. Each parameter must have a unique, non-empty name.\nEach parameter 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.", "is_request_body_field": true, "entity": { "pascal_name": "AlertStatementParameterList", @@ -73586,7 +74196,7 @@ "required_fields": [ { "name": "id", - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "required": true, "is_path": true, "is_output_only": true, @@ -73616,7 +74226,7 @@ "required_in_url_fields": [ { "name": "id", - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "required": true, "is_path": true, "is_output_only": true, @@ -73956,7 +74566,7 @@ }, { "name": "id", - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "required": true, "is_path": true, "is_output_only": true, @@ -74029,7 +74639,7 @@ }, { "name": "id", - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "is_output_only": true, "is_request_body_field": true, "entity": { @@ -74064,7 +74674,7 @@ }, { "name": "parameters", - "description": "Query parameters bound when executing the alert query, referenced in the\nquery text with `:name` syntax. Static values only.", + "description": "A list of parameters to pass into the alert SQL query statement containing parameter markers. Static values only.\n\nReference a parameter in the query text as `:name`. Each parameter must have a unique, non-empty name.\nEach parameter 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.", "is_request_body_field": true, "entity": { "pascal_name": "AlertStatementParameterList", @@ -74140,7 +74750,7 @@ "required_positional_arguments": [ { "name": "id", - "description": "UUID identifying the alert.", + "description": "The canonical identifier of the alert to retrieve information about.", "required": true, "is_path": true, "is_output_only": true, @@ -74865,6 +75475,14 @@ ] } }, + { + "name": "assume_group_id", + "description": "The group whose permissions users assume via Role Authorization for apps in this space. When\nset, user tokens assume the role of this group instead of doing regular obo token downscoping.\nSet only at space creation.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "create_time", "description": "The creation time of the app space. Formatted timestamp in ISO 6801.", @@ -77503,6 +78121,14 @@ "is_field_mask": true } }, + { + "name": "assume_group_id", + "description": "The group whose permissions users assume via Role Authorization for apps in this space. When\nset, user tokens assume the role of this group instead of doing regular obo token downscoping.\nSet only at space creation.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, { "name": "create_time", "description": "The creation time of the app space. Formatted timestamp in ISO 6801.", @@ -80665,7 +81291,7 @@ "required_fields": [ { "name": "deployment", - "description": "The deployment to create. The caller must set `initial_parent_path`. Other fields are ignored\non input and populated by the service.", + "description": "The deployment to create. `initial_parent_path` is required. `display_name`, `target_name`,\n`deployment_mode`, and `workspace_info` may be set; every other field is assigned by the\nservice and ignored on input.", "required": true, "is_request_body_field": true, "entity": { @@ -80677,7 +81303,7 @@ "required_request_body_fields": [ { "name": "deployment", - "description": "The deployment to create. The caller must set `initial_parent_path`. Other fields are ignored\non input and populated by the service.", + "description": "The deployment to create. `initial_parent_path` is required. `display_name`, `target_name`,\n`deployment_mode`, and `workspace_info` may be set; every other field is assigned by the\nservice and ignored on input.", "required": true, "is_request_body_field": true, "entity": { @@ -80689,7 +81315,7 @@ }, "request_body_field": { "name": "deployment", - "description": "The deployment to create. The caller must set `initial_parent_path`. Other fields are ignored\non input and populated by the service.", + "description": "The deployment to create. `initial_parent_path` is required. `display_name`, `target_name`,\n`deployment_mode`, and `workspace_info` may be set; every other field is assigned by the\nservice and ignored on input.", "required": true, "is_request_body_field": true, "entity": { @@ -80704,7 +81330,7 @@ "all_fields": [ { "name": "deployment", - "description": "The deployment to create. The caller must set `initial_parent_path`. Other fields are ignored\non input and populated by the service.", + "description": "The deployment to create. `initial_parent_path` is required. `display_name`, `target_name`,\n`deployment_mode`, and `workspace_info` may be set; every other field is assigned by the\nservice and ignored on input.", "required": true, "is_request_body_field": true, "entity": { @@ -80733,8 +81359,7 @@ }, { "name": "deployment_mode", - "description": "Bundle target deployment mode (development or production), derived from the\nmost recent version's mode.", - "is_output_only": true, + "description": "Bundle target deployment mode (development or production).", "is_request_body_field": true, "entity": { "pascal_name": "DeploymentMode", @@ -80769,8 +81394,7 @@ }, { "name": "display_name", - "description": "Human-readable name for the deployment, up to 256 characters. Output only: clients update it\nby setting `display_name` when creating a version.", - "is_output_only": true, + "description": "Human-readable name for the deployment, up to 256 characters.", "is_request_body_field": true, "entity": { "is_string": true @@ -80847,8 +81471,7 @@ }, { "name": "target_name", - "description": "The bundle target name associated with this deployment. Output only: it is\ndenormalized from the latest version, not set directly on the deployment.", - "is_output_only": true, + "description": "The bundle target name associated with this deployment.", "is_request_body_field": true, "entity": { "is_string": true @@ -80875,8 +81498,7 @@ }, { "name": "workspace_info", - "description": "Workspace location of the deployment, derived from the latest version.", - "is_output_only": true, + "description": "Workspace location of the deployment.", "is_request_body_field": true, "is_optional_object": true, "entity": { @@ -81291,6 +81913,18 @@ "is_string": true } }, + { + "name": "operations", + "description": "The full operation plan for this version: one PENDING operation per entry,\nrecorded in the same transaction. Input only -- supplied on create and never\nreturned by create/get/list; read the recorded operations via ListOperations.", + "is_request_body_field": true, + "entity": { + "pascal_name": "StagedOperationList", + "array_value": { + "pascal_name": "StagedOperation", + "is_object": true + } + } + }, { "name": "previous_version_id", "description": "The version_id this version was created on top of — the deployment's\nmost recent version at creation time. Leave unset when creating the\nfirst version (the deployment has no prior versions). Set by the\nclient on creation and immutable thereafter.\n\nActs as an optimistic-concurrency precondition: the server requires\nit to equal the deployment's current most-recent version (and to be\nunset when the deployment has no versions) and returns\n`INVALID_PARAMETER_VALUE` on mismatch, so a deploy racing against a\nconcurrent deploy is rejected rather than silently overwriting it.", @@ -81671,9 +82305,18 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_EXTERNAL_LOCATION" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_GENIE_SPACE" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_INSTANCE_POOL" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_JOB" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_JOB_RUN" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_MODEL" }, @@ -81686,12 +82329,24 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_BRANCH" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_CATALOG" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_DATABASE" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT" }, { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_PROJECT" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ROLE" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_SYNCED_TABLE" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_QUALITY_MONITOR" }, @@ -81710,6 +82365,12 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_SYNCED_DATABASE_TABLE" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_ENDPOINT" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_INDEX" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_VOLUME" } @@ -81753,9 +82414,18 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_EXTERNAL_LOCATION" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_GENIE_SPACE" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_INSTANCE_POOL" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_JOB" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_JOB_RUN" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_MODEL" }, @@ -81768,12 +82438,24 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_BRANCH" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_CATALOG" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_DATABASE" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT" }, { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_PROJECT" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ROLE" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_SYNCED_TABLE" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_QUALITY_MONITOR" }, @@ -81792,6 +82474,12 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_SYNCED_DATABASE_TABLE" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_ENDPOINT" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_INDEX" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_VOLUME" } @@ -82323,6 +83011,314 @@ } } }, + { + "name": "UpdateDeployment", + "description": "Updates a deployment.", + "summary": "Update a deployment.", + "path": "/api/2.0/bundle/{name=deployments/*}", + "can_use_json": true, + "must_use_json": true, + "is_json_only": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "UpdateDeploymentRequest", + "is_object": true, + "has_field_mask": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "name", + "description": "Resource name of the deployment.\nFormat: deployments/{deployment_id}", + "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true + } + }, + { + "name": "deployment", + "description": "The deployment to update. Its `name` selects the deployment; the fields\nnamed in `update_mask` carry the new values. All other fields are ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Deployment", + "is_object": true + } + }, + { + "name": "update_mask", + "description": "The fields to update; supported paths are `display_name`, `deployment_mode`, `target_name`,\nand `workspace_info`. An empty mask or any other path returns INVALID_PARAMETER_VALUE.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Resource name of the deployment.\nFormat: deployments/{deployment_id}", + "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The fields to update; supported paths are `display_name`, `deployment_mode`, `target_name`,\nand `workspace_info`. An empty mask or any other path returns INVALID_PARAMETER_VALUE.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + } + ], + "required_request_body_fields": [ + { + "name": "deployment", + "description": "The deployment to update. Its `name` selects the deployment; the fields\nnamed in `update_mask` carry the new values. All other fields are ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Deployment", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "deployment", + "description": "The deployment to update. Its `name` selects the deployment; the fields\nnamed in `update_mask` carry the new values. All other fields are ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Deployment", + "is_object": true + } + }, + "response": { + "pascal_name": "Deployment", + "is_object": true + }, + "all_fields": [ + { + "name": "deployment", + "description": "The deployment to update. Its `name` selects the deployment; the fields\nnamed in `update_mask` carry the new values. All other fields are ignored.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Deployment", + "is_object": true + } + }, + { + "name": "name", + "description": "Resource name of the deployment.\nFormat: deployments/{deployment_id}", + "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_mask", + "description": "The fields to update; supported paths are `display_name`, `deployment_mode`, `target_name`,\nand `workspace_info`. An empty mask or any other path returns INVALID_PARAMETER_VALUE.", + "required": true, + "is_query": true, + "entity": { + "is_field_mask": true + } + }, + { + "name": "create_time", + "description": "When the deployment was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "created_by", + "description": "The user who created the deployment (email or principal name). Empty if authoritative\ndeployment metadata does not identify a creator or the principal cannot be resolved.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "deployment_mode", + "description": "Bundle target deployment mode (development or production).", + "is_request_body_field": true, + "entity": { + "pascal_name": "DeploymentMode", + "enum": [ + { + "content": "DEPLOYMENT_MODE_DEVELOPMENT" + }, + { + "content": "DEPLOYMENT_MODE_PRODUCTION" + } + ] + } + }, + { + "name": "destroy_time", + "description": "When deletion was recorded. Unset if deletion has not been recorded.\nThis response metadata does not determine the deployment's lifecycle status.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "destroyed_by", + "description": "The user who destroyed the deployment (email or principal name).\nUnset if the deployment has not been destroyed.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "display_name", + "description": "Human-readable name for the deployment, up to 256 characters.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "git_info", + "description": "Git provenance of the deployment's source, derived from the latest version.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "GitInfo", + "is_object": true + } + }, + { + "name": "initial_parent_path", + "description": "The workspace path of the existing folder where the deployment is initially created. Must be\nabsolute and canonical, with single separators, no `.` or `..` segments, and no trailing slash\nunless the path is `/`. It may contain at most 24 path segments, excluding an optional leading\n`/Workspace` segment. The complete path may contain up to 1,024 characters, and each segment\nmay contain up to 511 characters. This field is input only and is not returned in create, get,\nor list responses.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "last_successful_version_id", + "description": "The version_id of the most recent version that completed successfully.\nUnset until a version has completed successfully. Unlike last_version_id,\nit is not advanced when a version fails, so it always points at the last\nknown-good deployment state (or is unset if there has never been one).", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "last_version_id", + "description": "The version_id of the most recent deployment version.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "name", + "description": "Resource name of the deployment.\nFormat: deployments/{deployment_id}", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "status", + "description": "Current status of the deployment.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "DeploymentStatus", + "enum": [ + { + "content": "DEPLOYMENT_STATUS_ACTIVE" + }, + { + "content": "DEPLOYMENT_STATUS_DELETED" + }, + { + "content": "DEPLOYMENT_STATUS_FAILED" + }, + { + "content": "DEPLOYMENT_STATUS_IN_PROGRESS" + } + ] + } + }, + { + "name": "target_name", + "description": "The bundle target name associated with this deployment.", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "update_time", + "description": "When the deployment was last updated.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "updated_by", + "description": "The user who most recently updated the deployment (email or principal name). Empty if\nauthoritative deployment metadata does not identify a modifier or the principal cannot be\nresolved.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "workspace_info", + "description": "Workspace location of the deployment.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "WorkspaceInfo", + "is_object": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Resource name of the deployment.\nFormat: deployments/{deployment_id}", + "required": true, + "is_path": true, + "is_output_only": true, + "entity": { + "is_string": true + } + } + ] + }, { "name": "UpdateOperation", "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.", @@ -82574,9 +83570,18 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_EXTERNAL_LOCATION" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_GENIE_SPACE" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_INSTANCE_POOL" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_JOB" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_JOB_RUN" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_MODEL" }, @@ -82589,12 +83594,24 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_BRANCH" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_CATALOG" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_DATABASE" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ENDPOINT" }, { "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_PROJECT" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_ROLE" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_POSTGRES_SYNCED_TABLE" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_QUALITY_MONITOR" }, @@ -82613,6 +83630,12 @@ { "content": "DEPLOYMENT_RESOURCE_TYPE_SYNCED_DATABASE_TABLE" }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_ENDPOINT" + }, + { + "content": "DEPLOYMENT_RESOURCE_TYPE_VECTOR_SEARCH_INDEX" + }, { "content": "DEPLOYMENT_RESOURCE_TYPE_VOLUME" } @@ -82645,6 +83668,9 @@ { "content": "OPERATION_STATUS_FAILED" }, + { + "content": "OPERATION_STATUS_PENDING" + }, { "content": "OPERATION_STATUS_SUCCEEDED" } @@ -88479,7 +89505,7 @@ }, { "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "is_request_body_field": true, "entity": { "is_int": true @@ -89045,7 +90071,7 @@ }, { "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "is_request_body_field": true, "entity": { "is_int": true @@ -119502,14 +120528,6 @@ } } }, - { - "name": "filter_condition", - "description": "Deprecated: Use DeltaTableSource.filter_condition or KafkaSource.filter_condition instead. Kept for backwards compatibility.\nThe filter condition applied to the source data before aggregation.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "full_name", "description": "The full three-part name (catalog, schema, name) of the feature. This is the\nfeature's resource identifier; the catalog_name, schema_name, and name fields\nbelow are OUTPUT_ONLY decomposed views of this value.", @@ -119529,17 +120547,6 @@ "is_object": true } }, - { - "name": "inputs", - "description": "Deprecated: Use AggregationFunction.inputs instead. Kept for backwards compatibility.\nThe input columns from which the feature is computed.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, { "name": "lineage_context", "description": "Lineage context information for this feature.\nWARNING: This field is primarily intended for internal use by Databricks systems and\nis automatically populated when features are created through Databricks notebooks or jobs.\nUsers should not manually set this field as incorrect values may lead to inaccurate lineage tracking or unexpected behavior.\nThis field will be set by feature-engineering client and should be left unset by SDK and terraform users.", @@ -119578,16 +120585,6 @@ "is_object": true } }, - { - "name": "time_window", - "description": "Deprecated: Use Function.aggregation_function.time_window instead. Kept for backwards compatibility.\nThe time window in which the feature is computed.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "TimeWindow", - "is_object": true - } - }, { "name": "timeseries_column", "description": "Column recording time, used for point-in-time joins, backfills, and aggregations.", @@ -120199,14 +121196,6 @@ ] } }, - { - "name": "cron_schedule", - "description": "The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone.\nHidden from GraphQL: superseded by the `trigger` oneof (cron_schedule_trigger), so not exposed to Catalog Explorer.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "cron_schedule_trigger", "description": "A cron-based schedule trigger for the materialization pipeline.", @@ -122304,14 +123293,6 @@ } } }, - { - "name": "filter_condition", - "description": "Deprecated: Use DeltaTableSource.filter_condition or KafkaSource.filter_condition instead. Kept for backwards compatibility.\nThe filter condition applied to the source data before aggregation.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "full_name", "description": "The full three-part name (catalog, schema, name) of the feature. This is the\nfeature's resource identifier; the catalog_name, schema_name, and name fields\nbelow are OUTPUT_ONLY decomposed views of this value.", @@ -122331,17 +123312,6 @@ "is_object": true } }, - { - "name": "inputs", - "description": "Deprecated: Use AggregationFunction.inputs instead. Kept for backwards compatibility.\nThe input columns from which the feature is computed.", - "is_request_body_field": true, - "entity": { - "pascal_name": "List", - "array_value": { - "is_string": true - } - } - }, { "name": "lineage_context", "description": "Lineage context information for this feature.\nWARNING: This field is primarily intended for internal use by Databricks systems and\nis automatically populated when features are created through Databricks notebooks or jobs.\nUsers should not manually set this field as incorrect values may lead to inaccurate lineage tracking or unexpected behavior.\nThis field will be set by feature-engineering client and should be left unset by SDK and terraform users.", @@ -122380,16 +123350,6 @@ "is_object": true } }, - { - "name": "time_window", - "description": "Deprecated: Use Function.aggregation_function.time_window instead. Kept for backwards compatibility.\nThe time window in which the feature is computed.", - "is_request_body_field": true, - "is_optional_object": true, - "entity": { - "pascal_name": "TimeWindow", - "is_object": true - } - }, { "name": "timeseries_column", "description": "Column recording time, used for point-in-time joins, backfills, and aggregations.", @@ -123134,14 +124094,6 @@ "is_string": true } }, - { - "name": "cron_schedule", - "description": "The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone.\nHidden from GraphQL: superseded by the `trigger` oneof (cron_schedule_trigger), so not exposed to Catalog Explorer.", - "is_request_body_field": true, - "entity": { - "is_string": true - } - }, { "name": "cron_schedule_trigger", "description": "A cron-based schedule trigger for the materialization pipeline.", @@ -127768,10 +128720,8 @@ "is_crud_read": true, "is_response_byte_stream": 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": "DownloadMessageAttachmentVisualizationRequest", "is_object": true, @@ -127985,29 +128935,162 @@ "entity": { "is_string": true } - }, - { - "name": "attachment_id", - "description": "Attachment ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } + }, + { + "name": "attachment_id", + "description": "Attachment ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "ExecuteMessageQuery", + "description": "DEPRECATED: Use [Execute Message Attachment Query](:method:genie/executemessageattachmentquery) instead.", + "summary": "[Deprecated] Execute SQL query in a conversation message.", + "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/execute-query", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GenieExecuteMessageQueryRequest", + "is_object": true, + "required_fields": [ + { + "name": "space_id", + "description": "Genie space ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "conversation_id", + "description": "Conversation ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "message_id", + "description": "Message ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "space_id", + "description": "Genie space ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "conversation_id", + "description": "Conversation ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "message_id", + "description": "Message ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "GenieGetMessageQueryResultResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "conversation_id", + "description": "Conversation ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "message_id", + "description": "Message ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "space_id", + "description": "Genie space ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "space_id", + "description": "Genie space ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "conversation_id", + "description": "Conversation ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "message_id", + "description": "Message ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, { - "name": "ExecuteMessageQuery", - "description": "DEPRECATED: Use [Execute Message Attachment Query](:method:genie/executemessageattachmentquery) instead.", - "summary": "[Deprecated] Execute SQL query in a conversation message.", - "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/execute-query", - "is_hidden_cli": true, + "name": "GenerateDownloadFullQueryResult", + "description": "Initiates a new SQL execution and returns a `download_id` and `download_id_signature` that you can use to track the progress of the download.\nThe query result is stored in an external link and can be retrieved using the [Get Download Full Query Result](:method:genie/getdownloadfullqueryresult) API.\nBoth `download_id` and `download_id_signature` must be provided when calling the Get endpoint.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a\nshort-lived, URL is generated, which can be\nused to download the results directly\nfrom . As a\nshort-lived is\nembedded in this URL, you should protect\nthe URL.\n\nBecause URLs are already generated with\nembedded temporary s,\nyou must not set an `Authorization` header in the download requests.\n\nSee [Execute Statement](:method:statementexecution/executestatement) for more details.\n\n----", + "summary": "Generate full query result download.", + "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/downloads", "has_required_positional_arguments": true, - "launch_stage": "PRIVATE_PREVIEW", - "cli_launch_stage_display": "Private Preview", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GenieExecuteMessageQueryRequest", + "pascal_name": "GenieGenerateDownloadFullQueryResultRequest", "is_object": true, "required_fields": [ { @@ -128036,6 +129119,15 @@ "entity": { "is_string": true } + }, + { + "name": "attachment_id", + "description": "Attachment ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ], "required_in_url_fields": [ @@ -128065,14 +129157,32 @@ "entity": { "is_string": true } + }, + { + "name": "attachment_id", + "description": "Attachment ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, "response": { - "pascal_name": "GenieGetMessageQueryResultResponse", + "pascal_name": "GenieGenerateDownloadFullQueryResultResponse", "is_object": true }, "all_fields": [ + { + "name": "attachment_id", + "description": "Attachment ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, { "name": "conversation_id", "description": "Conversation ID", @@ -128128,24 +129238,33 @@ "entity": { "is_string": true } + }, + { + "name": "attachment_id", + "description": "Attachment ID", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } } ] }, { - "name": "GenerateDownloadFullQueryResult", - "description": "Initiates a new SQL execution and returns a `download_id` and `download_id_signature` that you can use to track the progress of the download.\nThe query result is stored in an external link and can be retrieved using the [Get Download Full Query Result](:method:genie/getdownloadfullqueryresult) API.\nBoth `download_id` and `download_id_signature` must be provided when calling the Get endpoint.\n\n----\n\n### **Warning: Databricks strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.**\n\nWhen you use the `EXTERNAL_LINKS` disposition, a\nshort-lived, URL is generated, which can be\nused to download the results directly\nfrom . As a\nshort-lived is\nembedded in this URL, you should protect\nthe URL.\n\nBecause URLs are already generated with\nembedded temporary s,\nyou must not set an `Authorization` header in the download requests.\n\nSee [Execute Statement](:method:statementexecution/executestatement) for more details.\n\n----", - "summary": "Generate full query result download.", - "path": "/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/downloads", + "name": "GenieCancelResponse", + "description": "Cancels an in-flight agent-mode response. `response_id` is the id returned in the\n`response.created` event from the agent-mode responses endpoint. The response stops at\nthe next agent boundary and its terminal state is returned.", + "summary": "Cancel Genie agent response.", + "path": "/api/2.0/genie/agents/{agent_id}/conversations/{conversation_id}/responses/{response_id}/cancel", "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "GenieGenerateDownloadFullQueryResultRequest", + "pascal_name": "GenieCancelResponseRequest", "is_object": true, "required_fields": [ { - "name": "space_id", - "description": "Genie space ID", + "name": "agent_id", + "description": "The ID of the Genie agent (synonymous with the Genie space ID).", "required": true, "is_path": true, "entity": { @@ -128154,7 +129273,7 @@ }, { "name": "conversation_id", - "description": "Conversation ID", + "description": "The ID of the conversation containing the response.", "required": true, "is_path": true, "entity": { @@ -128162,8 +129281,19 @@ } }, { - "name": "message_id", - "description": "Message ID", + "name": "response_id", + "description": "The ID of the response to cancel (the id from the `response.created` event).", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "agent_id", + "description": "The ID of the Genie agent (synonymous with the Genie space ID).", "required": true, "is_path": true, "entity": { @@ -128171,21 +129301,35 @@ } }, { - "name": "attachment_id", - "description": "Attachment ID", + "name": "conversation_id", + "description": "The ID of the conversation containing the response.", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "response_id", + "description": "The ID of the response to cancel (the id from the `response.created` event).", "required": true, "is_path": true, "entity": { "is_string": true } } - ], - "required_in_url_fields": [ + ] + }, + "response": { + "pascal_name": "GenieMessage", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ { "name": "space_id", "description": "Genie space ID", "required": true, - "is_path": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -128194,7 +129338,16 @@ "name": "conversation_id", "description": "Conversation ID", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "content", + "description": "User message content", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } @@ -128203,30 +129356,55 @@ "name": "message_id", "description": "Message ID", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "space_id", + "description": "Genie space ID", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } }, { - "name": "attachment_id", - "description": "Attachment ID", + "name": "conversation_id", + "description": "Conversation ID", "required": true, - "is_path": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "content", + "description": "User message content", + "required": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "message_id", + "description": "Message ID", + "required": true, + "is_request_body_field": true, "entity": { "is_string": true } } ] }, - "response": { - "pascal_name": "GenieGenerateDownloadFullQueryResultResponse", - "is_object": true - }, "all_fields": [ { - "name": "attachment_id", - "description": "Attachment ID", + "name": "agent_id", + "description": "The ID of the Genie agent (synonymous with the Genie space ID).", "required": true, "is_path": true, "entity": { @@ -128235,7 +129413,7 @@ }, { "name": "conversation_id", - "description": "Conversation ID", + "description": "The ID of the conversation containing the response.", "required": true, "is_path": true, "entity": { @@ -128243,17 +129421,8 @@ } }, { - "name": "message_id", - "description": "Message ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "space_id", - "description": "Genie space ID", + "name": "response_id", + "description": "The ID of the response to cancel (the id from the `response.created` event).", "required": true, "is_path": true, "entity": { @@ -128263,8 +129432,8 @@ ], "required_positional_arguments": [ { - "name": "space_id", - "description": "Genie space ID", + "name": "agent_id", + "description": "The ID of the Genie agent (synonymous with the Genie space ID).", "required": true, "is_path": true, "entity": { @@ -128273,16 +129442,7 @@ }, { "name": "conversation_id", - "description": "Conversation ID", - "required": true, - "is_path": true, - "entity": { - "is_string": true - } - }, - { - "name": "message_id", - "description": "Message ID", + "description": "The ID of the conversation containing the response.", "required": true, "is_path": true, "entity": { @@ -128290,8 +129450,8 @@ } }, { - "name": "attachment_id", - "description": "Attachment ID", + "name": "response_id", + "description": "The ID of the response to cancel (the id from the `response.created` event).", "required": true, "is_path": true, "entity": { @@ -133795,10 +134955,11 @@ "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", + "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": "CreateDirectGroupMemberRequest", "is_object": true, @@ -134052,10 +135213,11 @@ "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", + "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": "CreateGroupRequest", "is_object": true, @@ -134152,10 +135314,11 @@ "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", + "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": "CreateServicePrincipalRequest", "is_object": true, @@ -134478,10 +135641,11 @@ "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": "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": "CreateUserRequest", "is_object": true, @@ -134867,10 +136031,11 @@ "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", + "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": "CreateWorkspaceAssignmentRequest", "is_object": true, @@ -135157,7 +136322,7 @@ }, { "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.", + "description": "Creates a workspace assignment detail for a principal.", "summary": "Create a workspace assignment detail.", "path": "/api/2.0/identity/accounts/{account_id}/workspaces/{workspace_id}/workspace-assignment-details", "can_use_json": true, @@ -135453,10 +136618,11 @@ "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": "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": "DeleteDirectGroupMemberRequest", "is_object": true, @@ -135550,10 +136716,11 @@ "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": "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": "DeleteGroupRequest", "is_object": true, @@ -135611,10 +136778,11 @@ "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": "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": "DeleteServicePrincipalRequest", "is_object": true, @@ -135672,10 +136840,11 @@ "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": "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": "DeleteUserRequest", "is_object": true, @@ -135733,10 +136902,11 @@ "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": "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": "DeleteWorkspaceAssignmentRequest", "is_object": true, @@ -135927,10 +137097,11 @@ "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": "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": "GetDirectGroupMemberRequest", "is_object": true, @@ -136043,15 +137214,205 @@ } ] }, + { + "name": "GetExternalGroup", + "description": "Retrieves an external group with the given external ID from the customer's\nIdP. If the group does not exist, it will be created in the account. If the\ncustomer is not onboarded onto Automatic Identity Management (AIM), this will\nreturn an error.", + "summary": "Get an external group in the account.", + "path": "/api/2.0/identity/{name=accounts/*/external-groups/*}", + "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": "GetExternalGroupRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: accounts/{account_id}/external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: accounts/{account_id}/external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ExternalGroup", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: accounts/{account_id}/external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: accounts/{account_id}/external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetExternalServicePrincipal", + "description": "Retrieves an external service principal with the given external ID from the\ncustomer's IdP. If the service principal does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM),\nthis will return an error.", + "summary": "Get an external service principal in the account.", + "path": "/api/2.0/identity/{name=accounts/*/external-service-principals/*}", + "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": "GetExternalServicePrincipalRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: accounts/{account_id}/external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: accounts/{account_id}/external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ExternalServicePrincipal", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: accounts/{account_id}/external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: accounts/{account_id}/external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetExternalUser", + "description": "Retrieves an external user with the given external ID from the customer's\nIdP. If the user does not exist, it will be created. If the customer is not\nonboarded onto Automatic Identity Management (AIM), this will return an error.", + "summary": "Get an external user in the account.", + "path": "/api/2.0/identity/{name=accounts/*/external-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", + "request": { + "pascal_name": "GetExternalUserRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: accounts/{account_id}/external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: accounts/{account_id}/external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ExternalUser", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: accounts/{account_id}/external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: accounts/{account_id}/external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": 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": "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": "GetGroupRequest", "is_object": true, @@ -136110,10 +137471,11 @@ "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": "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": "GetServicePrincipalRequest", "is_object": true, @@ -136229,10 +137591,11 @@ "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": "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": "GetUserRequest", "is_object": true, @@ -136481,10 +137844,11 @@ "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": "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": "GetWorkspaceAssignmentRequest", "is_object": true, @@ -136723,10 +138087,11 @@ "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": "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": "ListDirectGroupMembersRequest", "is_object": true, @@ -136769,7 +138134,7 @@ }, { "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).", + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -136813,10 +138178,11 @@ "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", + "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": "ListGroupsRequest", "is_object": true @@ -136836,7 +138202,7 @@ }, { "name": "page_size", - "description": "The maximum number of groups to return. The service may return fewer than this value.", + "description": "The maximum number of groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -136869,10 +138235,11 @@ "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", + "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": "ListServicePrincipalsRequest", "is_object": true @@ -136892,7 +138259,7 @@ }, { "name": "page_size", - "description": "The maximum number of service principals to return. The service may return fewer than this value.", + "description": "The maximum number of service principals to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -136925,10 +138292,11 @@ "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": "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": "ListTransitiveParentGroupsRequest", "is_object": true, @@ -136962,7 +138330,7 @@ "all_fields": [ { "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).", + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -137003,10 +138371,11 @@ "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": "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": "ListUsersRequest", "is_object": true @@ -137026,7 +138395,7 @@ }, { "name": "page_size", - "description": "The maximum number of users to return. The service may return fewer than this value.", + "description": "The maximum number of users to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -137096,7 +138465,7 @@ "all_fields": [ { "name": "page_size", - "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", + "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -137149,10 +138518,11 @@ "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": "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": "ListWorkspaceAssignmentsRequest", "is_object": true, @@ -137186,7 +138556,7 @@ "all_fields": [ { "name": "page_size", - "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.", + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -137435,10 +138805,11 @@ "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", + "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": "UpdateGroupRequest", "is_object": true, @@ -137611,10 +138982,11 @@ "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", + "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": "UpdateServicePrincipalRequest", "is_object": true, @@ -138011,10 +139383,11 @@ "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": "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": "UpdateUserRequest", "is_object": true, @@ -138474,10 +139847,11 @@ "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": "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": "UpdateWorkspaceAssignmentRequest", "is_object": true, @@ -141766,7 +143140,7 @@ }, { "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.", + "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.\n\nPipelines started by a continuous job also run continuously, regardless of their own pipeline mode setting.", "is_request_body_field": true, "is_optional_object": true, "entity": { @@ -147004,7 +148378,7 @@ "methods": [ { "name": "Create", - "description": "Create a draft dashboard.", + "description": "Create a draft dashboard.\n\nRequires the Databricks SQL access entitlement.", "summary": "Create dashboard.", "path": "/api/2.0/lakeview/dashboards", "can_use_json": true, @@ -148034,7 +149408,7 @@ }, { "name": "Get", - "description": "Get a draft dashboard.", + "description": "Get a draft dashboard.\n\nRequires the Databricks SQL access entitlement.", "summary": "Get dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "is_crud_read": true, @@ -148096,7 +149470,7 @@ }, { "name": "GetPublished", - "description": "Get the current published dashboard.", + "description": "Get the current published dashboard.\n\nRequires one of the following entitlements: Workspace access,\nDatabricks SQL access, or Consumer access.", "summary": "Get published dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "is_crud_read": true, @@ -148440,7 +149814,7 @@ }, { "name": "List", - "description": "List dashboards.", + "description": "List dashboards.\n\nRequires the Databricks SQL access entitlement.", "summary": "List dashboards.", "path": "/api/2.0/lakeview/dashboards", "has_required_positional_arguments": true, @@ -148810,7 +150184,7 @@ }, { "name": "Publish", - "description": "Publish the current draft dashboard.", + "description": "Publish the current draft dashboard.\n\nRequires the Databricks SQL access entitlement.", "summary": "Publish dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "can_use_json": true, @@ -148889,7 +150263,7 @@ }, { "name": "Revert", - "description": "Revert a dashboard's definition in draft mode to the last published version.", + "description": "Revert a dashboard's definition in draft mode to the last published version.\n\nRequires the Databricks SQL access entitlement.", "summary": "Revert dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/revert", "can_use_json": true, @@ -148960,7 +150334,7 @@ }, { "name": "Trash", - "description": "Trash a dashboard.", + "description": "Trash a dashboard.\n\nRequires the Databricks SQL access entitlement.", "summary": "Trash dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "has_required_positional_arguments": true, @@ -149022,7 +150396,7 @@ }, { "name": "Unpublish", - "description": "Unpublish the dashboard.", + "description": "Unpublish the dashboard.\n\nRequires the Databricks SQL access entitlement.", "summary": "Unpublish dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}/published", "has_required_positional_arguments": true, @@ -149084,7 +150458,7 @@ }, { "name": "Update", - "description": "Update a draft dashboard.", + "description": "Update a draft dashboard.\n\nRequires the Databricks SQL access entitlement.", "summary": "Update dashboard.", "path": "/api/2.0/lakeview/dashboards/{dashboard_id}", "can_use_json": true, @@ -149643,7 +151017,7 @@ "methods": [ { "name": "GetPublishedDashboardTokenInfo", - "description": "Get a required authorization details and scopes of a published dashboard to mint an OAuth token.", + "description": "Get a required authorization details and scopes of a published dashboard to mint an OAuth token.\n\nRequires one of the following entitlements: Workspace access,\nDatabricks SQL access, or Consumer access.", "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, @@ -161410,7 +162784,7 @@ }, { "name": "continuous", - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", "is_request_body_field": true, "entity": { "is_bool": true @@ -161732,7 +163106,7 @@ }, { "name": "continuous", - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", "is_request_body_field": true, "entity": { "is_bool": true @@ -163010,7 +164384,7 @@ }, { "name": "continuous", - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", "is_request_body_field": true, "entity": { "is_bool": true @@ -163456,9 +164830,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -163552,9 +164938,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -163654,9 +165052,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -163750,9 +165160,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -163857,9 +165279,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -163953,9 +165387,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -164088,262 +165534,298 @@ "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": "MCP_SERVICE" + }, + { + "content": "METASTORE" + }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, + { + "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": "MCP_SERVICE" + }, + { + "content": "METASTORE" + }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, + { + "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": "MCP_SERVICE" }, { "content": "METASTORE" }, { - "content": "PIPELINE" - }, - { - "content": "PROVIDER" - }, - { - "content": "RECIPIENT" - }, - { - "content": "SCHEMA" - }, - { - "content": "SHARE" - }, - { - "content": "STAGING_TABLE" - }, - { - "content": "STORAGE_CREDENTIAL" + "content": "MODEL" }, { - "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": "MODEL_PROVIDER_SERVICE" }, { - "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": "MODEL_SERVICE" }, { "content": "PIPELINE" @@ -164647,9 +166129,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -164743,9 +166237,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165135,9 +166641,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165231,9 +166749,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165333,9 +166863,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165429,9 +166971,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165563,9 +167117,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165659,9 +167225,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165801,9 +167379,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -165910,9 +167500,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -166083,9 +167685,21 @@ { "content": "FUNCTION" }, + { + "content": "MCP_SERVICE" + }, { "content": "METASTORE" }, + { + "content": "MODEL" + }, + { + "content": "MODEL_PROVIDER_SERVICE" + }, + { + "content": "MODEL_SERVICE" + }, { "content": "PIPELINE" }, @@ -168616,6 +170230,216 @@ "response_type": {} } }, + { + "name": "CreateSnapshot", + "description": "Creates a snapshot, an immutable point-in-time copy of a branch's data, within the project.", + "summary": "Create a Snapshot.", + "path": "/api/2.0/postgres/{parent=projects/*}/snapshots", + "can_use_json": true, + "is_crud_create": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "CreateSnapshotRequest", + "is_object": true, + "has_required_request_body_fields": true, + "required_fields": [ + { + "name": "parent", + "description": "The project in which to create the snapshot.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "snapshot", + "description": "The snapshot to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Snapshot", + "is_object": true + } + }, + { + "name": "snapshot_id", + "description": "Client-chosen ID for the snapshot. It becomes the final segment of the\nsnapshot resource name and cannot be changed after creation.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The project in which to create the snapshot.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "snapshot_id", + "description": "Client-chosen ID for the snapshot. It becomes the final segment of the\nsnapshot resource name and cannot be changed after creation.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + } + ], + "required_request_body_fields": [ + { + "name": "snapshot", + "description": "The snapshot to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Snapshot", + "is_object": true + } + } + ] + }, + "request_body_field": { + "name": "snapshot", + "description": "The snapshot to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Snapshot", + "is_object": true + } + }, + "response": { + "pascal_name": "Operation", + "is_object": true + }, + "all_fields": [ + { + "name": "parent", + "description": "The project in which to create the snapshot.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "snapshot", + "description": "The snapshot to create.", + "required": true, + "is_request_body_field": true, + "entity": { + "pascal_name": "Snapshot", + "is_object": true + } + }, + { + "name": "snapshot_id", + "description": "Client-chosen ID for the snapshot. It becomes the final segment of the\nsnapshot resource name and cannot be changed after creation.", + "required": true, + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "create_time", + "description": "When the snapshot was created.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "is_timestamp": true + } + }, + { + "name": "name", + "description": "The resource name of the snapshot.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "snapshot_id", + "description": "The user-chosen ID; the final segment of `name`.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + }, + { + "name": "spec", + "description": "Client-provided configuration of the snapshot.", + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "SnapshotSpec", + "is_object": true + } + }, + { + "name": "status", + "description": "Server-observed state of the snapshot.", + "is_output_only": true, + "is_request_body_field": true, + "is_optional_object": true, + "entity": { + "pascal_name": "SnapshotStatus", + "is_object": true + } + }, + { + "name": "uid", + "description": "Unique system-generated ID for the snapshot.", + "is_output_only": true, + "is_request_body_field": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The project in which to create the snapshot.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "name": "snapshot_id", + "description": "Client-chosen ID for the snapshot. It becomes the final segment of the\nsnapshot resource name and cannot be changed after creation.", + "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": "CreateSyncedTable", "description": "Create a Synced Table.", @@ -169096,20 +170920,93 @@ } }, { - "name": "DeleteDatabase", - "description": "Delete a Database.", - "summary": "Delete a Database.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/databases/*}", + "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": "DeleteDatabaseRequest", + "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}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_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 + } + } + ] + }, + "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": "DeleteDatabaseRequest", + "pascal_name": "DeleteEndpointRequest", "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}", + "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": { @@ -169120,7 +171017,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}", + "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": { @@ -169136,7 +171033,7 @@ "all_fields": [ { "name": "name", - "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "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": { @@ -169147,7 +171044,7 @@ "required_positional_arguments": [ { "name": "name", - "description": "The resource name of the postgres database.\nFormat: projects/{project_id}/branches/{branch_id}/databases/{database_id}", + "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": { @@ -169169,20 +171066,20 @@ } }, { - "name": "DeleteEndpoint", - "description": "Deletes the specified compute endpoint.", - "summary": "Delete an Endpoint.", - "path": "/api/2.0/postgres/{name=projects/*/branches/*/endpoints/*}", + "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": "DeleteEndpointRequest", + "pascal_name": "DeleteProjectRequest", "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}", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { @@ -169193,7 +171090,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}", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { @@ -169209,18 +171106,26 @@ "all_fields": [ { "name": "name", - "description": "The full resource path of the endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "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 endpoint to delete.\nFormat: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}", + "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", "required": true, "is_path": true, "entity": { @@ -169242,20 +171147,20 @@ } }, { - "name": "DeleteProject", - "description": "Deletes the specified database project.", - "summary": "Delete a Project.", - "path": "/api/2.0/postgres/{name=projects/*}", + "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": "DeleteProjectRequest", + "pascal_name": "DeleteRoleRequest", "is_object": true, "required_fields": [ { "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "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": { @@ -169266,7 +171171,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "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": { @@ -169282,7 +171187,7 @@ "all_fields": [ { "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "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": { @@ -169290,18 +171195,18 @@ } }, { - "name": "purge", - "description": "If true, permanently deletes the project (hard delete).\nIf false or unset, performs a soft delete.", + "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_bool": true + "is_string": true } } ], "required_positional_arguments": [ { "name": "name", - "description": "The full resource path of the project to delete.\nFormat: projects/{project_id}", + "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": { @@ -169323,20 +171228,21 @@ } }, { - "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/*}", + "name": "DeleteSnapshot", + "description": "Deletes the specified snapshot.", + "summary": "Delete a Snapshot.", + "path": "/api/2.0/postgres/{name=projects/*/snapshots/*}", + "is_hidden_cli": true, "has_required_positional_arguments": true, - "launch_stage": "GA", - "cli_launch_stage_display": "GA", + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", "request": { - "pascal_name": "DeleteRoleRequest", + "pascal_name": "DeleteSnapshotRequest", "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}", + "description": "The resource name of the snapshot to delete.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", "required": true, "is_path": true, "entity": { @@ -169347,7 +171253,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "description": "The resource name of the snapshot to delete.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", "required": true, "is_path": true, "entity": { @@ -169363,26 +171269,18 @@ "all_fields": [ { "name": "name", - "description": "The full resource path of the role to delete.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "description": "The resource name of the snapshot to delete.\nFormat: projects/{project_id}/snapshots/{snapshot_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}", + "description": "The resource name of the snapshot to delete.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", "required": true, "is_path": true, "entity": { @@ -170254,6 +172152,132 @@ } ] }, + { + "name": "GetSnapshot", + "description": "Retrieves information about the specified snapshot.", + "summary": "Get a Snapshot.", + "path": "/api/2.0/postgres/{name=projects/*/snapshots/*}", + "is_crud_read": true, + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "GetSnapshotRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The resource name of the snapshot to retrieve.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The resource name of the snapshot to retrieve.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "Snapshot", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The resource name of the snapshot to retrieve.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The resource name of the snapshot to retrieve.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetSnapshotSchedule", + "description": "Retrieves the snapshot schedule for a branch. A branch with no configured\nschedule returns an empty schedule (not NOT_FOUND).", + "summary": "Get a Snapshot Schedule.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/snapshot-schedule}", + "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": "GetSnapshotScheduleRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "SnapshotSchedule", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, { "name": "GetSyncedTable", "description": "Get a Synced Table.", @@ -170917,6 +172941,96 @@ } } }, + { + "name": "ListSnapshots", + "description": "Returns a paginated list of snapshots in the project.", + "summary": "List Snapshots.", + "path": "/api/2.0/postgres/{parent=projects/*}/snapshots", + "is_hidden_cli": true, + "has_required_positional_arguments": true, + "launch_stage": "PRIVATE_PREVIEW", + "cli_launch_stage_display": "Private Preview", + "request": { + "pascal_name": "ListSnapshotsRequest", + "is_object": true, + "required_fields": [ + { + "name": "parent", + "description": "The project that owns the snapshots.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "parent", + "description": "The project that owns the snapshots.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ListSnapshotsResponse", + "is_object": true + }, + "all_fields": [ + { + "name": "page_size", + "description": "Maximum number of snapshots to return per page.", + "is_query": true, + "entity": { + "is_int": true + } + }, + { + "name": "page_token", + "description": "Page token from a previous response; omit for the first page.", + "is_query": true, + "entity": { + "is_string": true + } + }, + { + "name": "parent", + "description": "The project that owns the snapshots.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "parent", + "description": "The project that owns the snapshots.\nFormat: projects/{project_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "pagination": { + "token": { + "poll_field": { + "name": "page_token", + "description": "Page token from a previous response; omit for the first page.", + "is_query": true, + "entity": { + "is_string": true + } + } + } + } + }, { "name": "UndeleteBranch", "description": "Undeletes the specified database branch.", @@ -171953,23 +174067,282 @@ } }, { - "name": "UpdateProject", - "description": "Updates the specified database project.", - "summary": "Update a Project.", - "path": "/api/2.0/postgres/{name=projects/*}", + "name": "UpdateProject", + "description": "Updates the specified database project.", + "summary": "Update a Project.", + "path": "/api/2.0/postgres/{name=projects/*}", + "can_use_json": true, + "has_required_positional_arguments": true, + "launch_stage": "GA", + "cli_launch_stage_display": "GA", + "request": { + "pascal_name": "UpdateProjectRequest", + "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}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "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.", + "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 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": "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 + } + } + ] + }, + "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}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + }, + { + "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.", + "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, + "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": "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": { + "get_operation": { + "kebab_name": "get-operation", + "pascal_name": "GetOperation", + "request": { + "pascal_name": "GetOperationRequest" + } + }, + "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/*}", "can_use_json": true, "has_required_positional_arguments": true, "launch_stage": "GA", "cli_launch_stage_display": "GA", "request": { - "pascal_name": "UpdateProjectRequest", + "pascal_name": "UpdateRoleRequest", "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}", + "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": { @@ -171977,12 +174350,12 @@ } }, { - "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": "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": "Project", + "pascal_name": "Role", "is_object": true } }, @@ -171999,7 +174372,7 @@ "required_in_url_fields": [ { "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "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": { @@ -172018,24 +174391,24 @@ ], "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": "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": "Project", + "pascal_name": "Role", "is_object": 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}", + "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": "Project", + "pascal_name": "Role", "is_object": true } }, @@ -172046,7 +174419,7 @@ "all_fields": [ { "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "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": { @@ -172054,12 +174427,12 @@ } }, { - "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": "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": "Project", + "pascal_name": "Role", "is_object": true } }, @@ -172074,17 +174447,6 @@ }, { "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, @@ -172092,37 +174454,17 @@ "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}", + "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": "project_id", - "description": "The part of the name, chosen by the user when the resource was created.", + "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": { @@ -172130,48 +174472,37 @@ } }, { - "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.", + "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, - "is_optional_object": true, "entity": { - "is_timestamp": true + "is_string": true } }, { "name": "spec", - "description": "The spec contains the project configuration, including display_name, pg_version (Postgres version), history_retention_duration, and default_endpoint_settings.", + "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": "ProjectSpec", + "pascal_name": "RoleRoleSpec", "is_object": true } }, { "name": "status", - "description": "The current status of a Project.", + "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": "ProjectStatus", + "pascal_name": "RoleRoleStatus", "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, @@ -172183,7 +174514,7 @@ "required_positional_arguments": [ { "name": "name", - "description": "Output only. The full resource path of the project.\nFormat: projects/{project_id}", + "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": { @@ -172212,23 +174543,24 @@ } }, { - "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": "UpdateSnapshotSchedule", + "description": "Sets the snapshot schedule for a branch. The `schedule` field is replaced\nwholesale; an empty schedule disables automatic snapshots.", + "summary": "Update a Snapshot Schedule.", + "path": "/api/2.0/postgres/{name=projects/*/branches/*/snapshot-schedule}", "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": "UpdateRoleRequest", + "pascal_name": "UpdateSnapshotScheduleRequest", "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}", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_path": true, "entity": { @@ -172236,18 +174568,18 @@ } }, { - "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": "snapshot_schedule", + "description": "The snapshot schedule to set. Its `name` identifies the branch.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "SnapshotSchedule", "is_object": true } }, { "name": "update_mask", - "description": "The list of fields to update.", + "description": "Fields to update. The only updatable path is `schedule`, which replaces the\nentire set of cadences.", "required": true, "is_query": true, "entity": { @@ -172258,7 +174590,7 @@ "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}", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_path": true, "entity": { @@ -172267,7 +174599,7 @@ }, { "name": "update_mask", - "description": "The list of fields to update.", + "description": "Fields to update. The only updatable path is `schedule`, which replaces the\nentire set of cadences.", "required": true, "is_query": true, "entity": { @@ -172277,24 +174609,24 @@ ], "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": "snapshot_schedule", + "description": "The snapshot schedule to set. Its `name` identifies the branch.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "SnapshotSchedule", "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": "snapshot_schedule", + "description": "The snapshot schedule to set. Its `name` identifies the branch.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "SnapshotSchedule", "is_object": true } }, @@ -172305,7 +174637,7 @@ "all_fields": [ { "name": "name", - "description": "Output only. The full resource path of the role.\nFormat: projects/{project_id}/branches/{branch_id}/roles/{role_id}", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_path": true, "entity": { @@ -172313,94 +174645,49 @@ } }, { - "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": "snapshot_schedule", + "description": "The snapshot schedule to set. Its `name` identifies the branch.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_request_body_field": true, "entity": { - "pascal_name": "Role", + "pascal_name": "SnapshotSchedule", "is_object": true } }, { "name": "update_mask", - "description": "The list of fields to update.", + "description": "Fields to update. The only updatable path is `schedule`, which replaces the\nentire set of cadences.", "required": true, "is_query": true, "entity": { "is_field_mask": 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, + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "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, - "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, + "name": "schedule", + "description": "The cadences at which automatic snapshots are taken. Update replaces the\nwhole set; an empty set disables automatic snapshots. Order is not\nsignificant. When several cadences fire together, one snapshot is taken,\nretained for the longest of their retentions.", "is_request_body_field": true, - "is_optional_object": true, "entity": { - "is_timestamp": true + "pascal_name": "ScheduleCadenceList", + "array_value": { + "pascal_name": "ScheduleCadence", + "is_object": 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}", + "description": "The resource name of the branch's snapshot schedule.\nFormat: projects/{project_id}/branches/{branch_id}/snapshot-schedule", "required": true, "is_path": true, "entity": { @@ -172409,7 +174696,7 @@ }, { "name": "update_mask", - "description": "The list of fields to update.", + "description": "Fields to update. The only updatable path is `schedule`, which replaces the\nentire set of cadences.", "required": true, "is_query": true, "entity": { @@ -191721,10 +194008,8 @@ }, "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "request": { "pascal_name": "ListAccountSettingsMetadataRequest" @@ -191737,10 +194022,8 @@ "summary": "Get an account setting.", "path": "/api/2.1/accounts/{account_id}/settings/{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": "GetPublicAccountSettingRequest", "is_object": true, @@ -191895,10 +194178,8 @@ "summary": "List valid setting keys and their metadata.", "path": "/api/2.1/accounts/{account_id}/settings-metadata", "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": "ListAccountSettingsMetadataRequest", "is_object": true @@ -192036,10 +194317,8 @@ "path": "/api/2.1/accounts/{account_id}/settings/{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": "PatchPublicAccountSettingRequest", "is_object": true, @@ -211059,10 +213338,11 @@ "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": "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": "CreateDirectGroupMemberProxyRequest", "is_object": true, @@ -211316,10 +213596,11 @@ "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": "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": "CreateGroupProxyRequest", "is_object": true, @@ -211416,10 +213697,11 @@ "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": "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": "CreateServicePrincipalProxyRequest", "is_object": true, @@ -211742,10 +214024,11 @@ "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": "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": "CreateUserProxyRequest", "is_object": true, @@ -212127,7 +214410,7 @@ }, { "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.", + "description": "Creates a workspace assignment detail for a principal in the calling workspace.", "summary": "Create a workspace assignment detail for a workspace.", "path": "/api/2.0/identity/workspace-assignment-details", "can_use_json": true, @@ -212386,10 +214669,11 @@ "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": "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": "CreateWorkspaceAssignmentProxyRequest", "is_object": true, @@ -212641,10 +214925,11 @@ "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": "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": "DeleteDirectGroupMemberProxyRequest", "is_object": true, @@ -212738,10 +215023,11 @@ "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": "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": "DeleteGroupProxyRequest", "is_object": true, @@ -212799,10 +215085,11 @@ "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": "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": "DeleteServicePrincipalProxyRequest", "is_object": true, @@ -212860,10 +215147,11 @@ "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": "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": "DeleteUserProxyRequest", "is_object": true, @@ -212982,10 +215270,11 @@ "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", + "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": "DeleteWorkspaceAssignmentProxyRequest", "is_object": true, @@ -213043,10 +215332,11 @@ "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": "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": "GetDirectGroupMemberProxyRequest", "is_object": true, @@ -213159,15 +215449,205 @@ } ] }, + { + "name": "GetExternalGroupProxy", + "description": "Retrieves an external group with the given external ID from the customer's\nIdP. If the group does not exist, it will be created in the account. If the\ncustomer is not onboarded onto Automatic Identity Management (AIM), this will\nreturn an error. Workspace-scoped variant for workspace-authenticated callers.", + "summary": "Get an external group in the account.", + "path": "/api/2.0/identity/{name=external-groups/*}", + "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": "GetExternalGroupProxyRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ExternalGroup", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the external group.\nFormat: external-groups/{external_group_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetExternalServicePrincipalProxy", + "description": "Retrieves an external service principal with the given external ID from the\ncustomer's IdP. If the service principal does not exist, it will be created.\nIf the customer is not onboarded onto Automatic Identity Management (AIM),\nthis will return an error. Workspace-scoped variant for workspace-authenticated\ncallers.", + "summary": "Get an external service principal in the account.", + "path": "/api/2.0/identity/{name=external-service-principals/*}", + "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": "GetExternalServicePrincipalProxyRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ExternalServicePrincipal", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the external service principal.\nFormat: external-service-principals/{external_service_principal_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + { + "name": "GetExternalUserProxy", + "description": "Retrieves an external user with the given external ID from the customer's\nIdP. If the user does not exist, it will be created. If the customer is not\nonboarded onto Automatic Identity Management (AIM), this will return an error.\nWorkspace-scoped variant for workspace-authenticated callers.", + "summary": "Get an external user in the account.", + "path": "/api/2.0/identity/{name=external-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", + "request": { + "pascal_name": "GetExternalUserProxyRequest", + "is_object": true, + "required_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_in_url_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ] + }, + "response": { + "pascal_name": "ExternalUser", + "is_object": true + }, + "all_fields": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": true + } + } + ], + "required_positional_arguments": [ + { + "name": "name", + "description": "Required. The resource name of the external user.\nFormat: external-users/{external_user_id}", + "required": true, + "is_path": true, + "entity": { + "is_string": 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": "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": "GetGroupProxyRequest", "is_object": true, @@ -213226,10 +215706,11 @@ "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": "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": "GetServicePrincipalProxyRequest", "is_object": true, @@ -213345,10 +215826,11 @@ "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": "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": "GetUserProxyRequest", "is_object": true, @@ -213646,10 +216128,11 @@ "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": "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": "GetWorkspaceAssignmentProxyRequest", "is_object": true, @@ -213731,10 +216214,11 @@ "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": "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": "GetWorkspaceIdentityDetailRequest", "is_object": true, @@ -213793,10 +216277,11 @@ "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": "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": "ListDirectGroupMembersProxyRequest", "is_object": true, @@ -213839,7 +216324,7 @@ }, { "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).", + "description": "The maximum number of members to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -213883,10 +216368,11 @@ "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": "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": "ListGroupsProxyRequest", "is_object": true @@ -213906,7 +216392,7 @@ }, { "name": "page_size", - "description": "The maximum number of groups to return. The service may return fewer than this value.", + "description": "The maximum number of groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -213939,10 +216425,11 @@ "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", + "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": "ListServicePrincipalsProxyRequest", "is_object": true @@ -213962,7 +216449,7 @@ }, { "name": "page_size", - "description": "The maximum number of SPs to return. The service may return fewer than this value.", + "description": "The maximum number of SPs to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -213995,10 +216482,11 @@ "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": "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": "ListTransitiveParentGroupsProxyRequest", "is_object": true, @@ -214032,7 +216520,7 @@ "all_fields": [ { "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).", + "description": "The maximum number of parent groups to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -214073,10 +216561,11 @@ "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": "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": "ListUsersProxyRequest", "is_object": true @@ -214096,7 +216585,7 @@ }, { "name": "page_size", - "description": "The maximum number of users to return. The service may return fewer than this value.", + "description": "The maximum number of users to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -214144,7 +216633,7 @@ "all_fields": [ { "name": "page_size", - "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.", + "description": "The maximum number of workspace assignment details to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -214177,10 +216666,11 @@ "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", + "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": "ListWorkspaceAssignmentsProxyRequest", "is_object": true @@ -214192,7 +216682,7 @@ "all_fields": [ { "name": "page_size", - "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.", + "description": "The maximum number of workspace assignments to return. The service may return fewer than this value.\nIf not provided, defaults to 1000, which is also the maximum allowed. Requests for more than the maximum are clamped to 1000.", "is_query": true, "entity": { "is_int": true @@ -214421,10 +216911,11 @@ "summary": "Update a group in the account.", "path": "/api/2.0/identity/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", + "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": "UpdateGroupProxyRequest", "is_object": true, @@ -214597,10 +217088,11 @@ "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": "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": "UpdateServicePrincipalProxyRequest", "is_object": true, @@ -214997,10 +217489,11 @@ "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": "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": "UpdateUserProxyRequest", "is_object": true, @@ -215790,10 +218283,11 @@ "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", + "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": "UpdateWorkspaceAssignmentProxyRequest", "is_object": true, @@ -216121,10 +218615,11 @@ "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", + "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": "UpdateWorkspaceIdentityDetailRequest", "is_object": true, @@ -216526,10 +219021,8 @@ "name": "settingsv2" }, "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", + "launch_stage": "GA", + "cli_launch_stage_display": "GA", "list": { "request": { "pascal_name": "ListWorkspaceSettingsMetadataRequest" @@ -216543,10 +219036,8 @@ "path": "/api/2.1/settings/{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": "GetPublicWorkspaceSettingRequest", "is_object": true, @@ -216606,10 +219097,8 @@ "summary": "List valid setting keys and their metadata.", "path": "/api/2.1/settings-metadata", "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": "ListWorkspaceSettingsMetadataRequest", "is_object": true @@ -216656,10 +219145,8 @@ "path": "/api/2.1/settings/{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": "PatchPublicWorkspaceSettingRequest", "is_object": true, @@ -217865,7 +220352,7 @@ }, { "key": "sharing", - "display_name": "Delta Sharing" + "display_name": "Open Sharing" }, { "key": "settings", diff --git a/acceptance/bundle/refschema/out.fields.txt b/acceptance/bundle/refschema/out.fields.txt index de252dc4162..748939d3c56 100644 --- a/acceptance/bundle/refschema/out.fields.txt +++ b/acceptance/bundle/refschema/out.fields.txt @@ -409,6 +409,7 @@ resources.clusters.*.driver_instance_pool_id string ALL resources.clusters.*.driver_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.clusters.*.driver_node_type_flexibility.alternate_node_type_ids []string ALL resources.clusters.*.driver_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.clusters.*.driver_node_type_flexibility.aws_context_id string ALL resources.clusters.*.driver_node_type_id string ALL resources.clusters.*.enable_elastic_disk bool ALL resources.clusters.*.enable_local_disk_encryption bool ALL @@ -530,6 +531,7 @@ resources.clusters.*.spec.driver_instance_pool_id string REMOTE resources.clusters.*.spec.driver_node_type_flexibility *compute.NodeTypeFlexibility REMOTE resources.clusters.*.spec.driver_node_type_flexibility.alternate_node_type_ids []string REMOTE resources.clusters.*.spec.driver_node_type_flexibility.alternate_node_type_ids[*] string REMOTE +resources.clusters.*.spec.driver_node_type_flexibility.aws_context_id string REMOTE resources.clusters.*.spec.driver_node_type_id string REMOTE resources.clusters.*.spec.enable_elastic_disk bool REMOTE resources.clusters.*.spec.enable_local_disk_encryption bool REMOTE @@ -585,6 +587,7 @@ resources.clusters.*.spec.use_ml_runtime bool REMOTE resources.clusters.*.spec.worker_node_type_flexibility *compute.NodeTypeFlexibility REMOTE resources.clusters.*.spec.worker_node_type_flexibility.alternate_node_type_ids []string REMOTE resources.clusters.*.spec.worker_node_type_flexibility.alternate_node_type_ids[*] string REMOTE +resources.clusters.*.spec.worker_node_type_flexibility.aws_context_id string REMOTE resources.clusters.*.spec.workload_type *compute.WorkloadType REMOTE resources.clusters.*.spec.workload_type.clients compute.ClientsTypes REMOTE resources.clusters.*.spec.workload_type.clients.jobs bool REMOTE @@ -606,6 +609,7 @@ resources.clusters.*.use_ml_runtime bool ALL resources.clusters.*.worker_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.clusters.*.worker_node_type_flexibility.alternate_node_type_ids []string ALL resources.clusters.*.worker_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.clusters.*.worker_node_type_flexibility.aws_context_id string ALL resources.clusters.*.workload_type *compute.WorkloadType ALL resources.clusters.*.workload_type.clients compute.ClientsTypes ALL resources.clusters.*.workload_type.clients.jobs bool ALL @@ -867,6 +871,7 @@ resources.instance_pools.*.modified_status string INPUT resources.instance_pools.*.node_type_flexibility *compute.NodeTypeFlexibility ALL resources.instance_pools.*.node_type_flexibility.alternate_node_type_ids []string ALL resources.instance_pools.*.node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.instance_pools.*.node_type_flexibility.aws_context_id string ALL resources.instance_pools.*.node_type_id string ALL resources.instance_pools.*.preloaded_docker_images []compute.DockerImage ALL resources.instance_pools.*.preloaded_docker_images[*] compute.DockerImage ALL @@ -955,6 +960,10 @@ resources.job_runs.*.state.user_cancelled_or_timedout bool REMOTE resources.job_runs.*.url string INPUT resources.jobs.*.budget_policy_id string ALL resources.jobs.*.continuous *jobs.Continuous ALL +resources.jobs.*.continuous.maintenance_window *jobs.MaintenanceWindow ALL +resources.jobs.*.continuous.maintenance_window.day_of_week jobs.DayOfWeek ALL +resources.jobs.*.continuous.maintenance_window.start_hour int ALL +resources.jobs.*.continuous.maintenance_window.timezone_id string ALL resources.jobs.*.continuous.pause_status jobs.PauseStatus ALL resources.jobs.*.continuous.task_retry_mode jobs.TaskRetryMode ALL resources.jobs.*.created_time int64 REMOTE @@ -1069,6 +1078,7 @@ resources.jobs.*.job_clusters[*].new_cluster.driver_instance_pool_id string ALL resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids []string ALL resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_flexibility.aws_context_id string ALL resources.jobs.*.job_clusters[*].new_cluster.driver_node_type_id string ALL resources.jobs.*.job_clusters[*].new_cluster.enable_elastic_disk bool ALL resources.jobs.*.job_clusters[*].new_cluster.enable_local_disk_encryption bool ALL @@ -1124,6 +1134,7 @@ resources.jobs.*.job_clusters[*].new_cluster.use_ml_runtime bool ALL resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids []string ALL resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.jobs.*.job_clusters[*].new_cluster.worker_node_type_flexibility.aws_context_id string ALL resources.jobs.*.job_clusters[*].new_cluster.workload_type *compute.WorkloadType ALL resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients compute.ClientsTypes ALL resources.jobs.*.job_clusters[*].new_cluster.workload_type.clients.jobs bool ALL @@ -1179,6 +1190,8 @@ resources.jobs.*.tasks[*].ai_runtime_task.mlflow_experiment_directory string ALL resources.jobs.*.tasks[*].ai_runtime_task.mlflow_run string ALL resources.jobs.*.tasks[*].alert_task *jobs.AlertTask ALL resources.jobs.*.tasks[*].alert_task.alert_id string ALL +resources.jobs.*.tasks[*].alert_task.parameters map[string]string ALL +resources.jobs.*.tasks[*].alert_task.parameters.* string ALL resources.jobs.*.tasks[*].alert_task.subscribers []jobs.AlertTaskSubscriber ALL resources.jobs.*.tasks[*].alert_task.subscribers[*] jobs.AlertTaskSubscriber ALL resources.jobs.*.tasks[*].alert_task.subscribers[*].destination_id string ALL @@ -1265,6 +1278,8 @@ resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_experiment_d resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.mlflow_run string ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task *jobs.AlertTask ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task.alert_id string ALL +resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters map[string]string ALL +resources.jobs.*.tasks[*].for_each_task.task.alert_task.parameters.* string ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers []jobs.AlertTaskSubscriber ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*] jobs.AlertTaskSubscriber ALL resources.jobs.*.tasks[*].for_each_task.task.alert_task.subscribers[*].destination_id string ALL @@ -1425,6 +1440,7 @@ resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_instance_pool_id resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.alternate_node_type_ids []string ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_flexibility.aws_context_id string ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.driver_node_type_id string ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_elastic_disk bool ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.enable_local_disk_encryption bool ALL @@ -1480,6 +1496,7 @@ resources.jobs.*.tasks[*].for_each_task.task.new_cluster.use_ml_runtime bool ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.alternate_node_type_ids []string ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.jobs.*.tasks[*].for_each_task.task.new_cluster.worker_node_type_flexibility.aws_context_id string ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type *compute.WorkloadType ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients compute.ClientsTypes ALL resources.jobs.*.tasks[*].for_each_task.task.new_cluster.workload_type.clients.jobs bool ALL @@ -1712,6 +1729,7 @@ resources.jobs.*.tasks[*].new_cluster.driver_instance_pool_id string ALL resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids []string ALL resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.jobs.*.tasks[*].new_cluster.driver_node_type_flexibility.aws_context_id string ALL resources.jobs.*.tasks[*].new_cluster.driver_node_type_id string ALL resources.jobs.*.tasks[*].new_cluster.enable_elastic_disk bool ALL resources.jobs.*.tasks[*].new_cluster.enable_local_disk_encryption bool ALL @@ -1767,6 +1785,7 @@ resources.jobs.*.tasks[*].new_cluster.use_ml_runtime bool ALL resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility *compute.NodeTypeFlexibility ALL resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids []string ALL resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.alternate_node_type_ids[*] string ALL +resources.jobs.*.tasks[*].new_cluster.worker_node_type_flexibility.aws_context_id string ALL resources.jobs.*.tasks[*].new_cluster.workload_type *compute.WorkloadType ALL resources.jobs.*.tasks[*].new_cluster.workload_type.clients compute.ClientsTypes ALL resources.jobs.*.tasks[*].new_cluster.workload_type.clients.jobs bool ALL @@ -1990,6 +2009,10 @@ resources.jobs.*.trigger_state.table.using_scalable_monitoring bool REMOTE resources.jobs.*.triggers []jobs.TriggerConfiguration ALL resources.jobs.*.triggers[*] jobs.TriggerConfiguration ALL resources.jobs.*.triggers[*].continuous *jobs.ContinuousTriggerConfiguration ALL +resources.jobs.*.triggers[*].continuous.maintenance_window *jobs.MaintenanceWindow ALL +resources.jobs.*.triggers[*].continuous.maintenance_window.day_of_week jobs.DayOfWeek ALL +resources.jobs.*.triggers[*].continuous.maintenance_window.start_hour int ALL +resources.jobs.*.triggers[*].continuous.maintenance_window.timezone_id string ALL resources.jobs.*.triggers[*].continuous.task_retry_mode jobs.TaskRetryMode ALL resources.jobs.*.triggers[*].file_arrival *jobs.FileArrivalTriggerConfiguration ALL resources.jobs.*.triggers[*].file_arrival.min_time_between_triggers_seconds int ALL @@ -2885,6 +2908,8 @@ resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.o resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.start_date string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.subject_filter []string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.outlook_options.subject_filter[*] string ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.rabbitmq_options *pipelines.RabbitmqOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.rabbitmq_options.queue string ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options *pipelines.RedditAdsOptions ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options *pipelines.RedditAdsOptionsRedditAdsCustomReportOptions ALL resources.pipelines.*.ingestion_definition.objects[*].schema.connector_options.reddit_ads_options.custom_report_options.breakdowns []string ALL @@ -3109,6 +3134,8 @@ resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.ou resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.start_date string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.subject_filter []string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.outlook_options.subject_filter[*] string ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.rabbitmq_options *pipelines.RabbitmqOptions ALL +resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.rabbitmq_options.queue string ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options *pipelines.RedditAdsOptions ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options *pipelines.RedditAdsOptionsRedditAdsCustomReportOptions ALL resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.reddit_ads_options.custom_report_options.breakdowns []string ALL @@ -3329,6 +3356,7 @@ resources.postgres_branches.*.replace_existing bool INPUT STATE resources.postgres_branches.*.source_branch string ALL resources.postgres_branches.*.source_branch_lsn string ALL resources.postgres_branches.*.source_branch_time *time.Time ALL +resources.postgres_branches.*.source_snapshot string ALL resources.postgres_branches.*.status *postgres.BranchStatus REMOTE resources.postgres_branches.*.status.branch_id string REMOTE resources.postgres_branches.*.status.current_state postgres.BranchStatusState REMOTE @@ -3342,6 +3370,7 @@ resources.postgres_branches.*.status.purge_time *time.Time REMOTE resources.postgres_branches.*.status.source_branch string REMOTE resources.postgres_branches.*.status.source_branch_lsn string REMOTE resources.postgres_branches.*.status.source_branch_time *time.Time REMOTE +resources.postgres_branches.*.status.source_snapshot string REMOTE resources.postgres_branches.*.status.state_change_time *time.Time REMOTE resources.postgres_branches.*.ttl *duration.Duration ALL resources.postgres_branches.*.uid string REMOTE diff --git a/bundle/direct/dresources/resources.generated.yml b/bundle/direct/dresources/resources.generated.yml index d2dfda855b6..264ba81eca1 100644 --- a/bundle/direct/dresources/resources.generated.yml +++ b/bundle/direct/dresources/resources.generated.yml @@ -261,6 +261,8 @@ resources: reason: spec:immutable - field: source_branch_time reason: spec:immutable + - field: source_snapshot + reason: spec:immutable ignore_remote_changes: - field: expire_time @@ -275,6 +277,8 @@ resources: reason: spec:input_only - field: source_branch_time reason: spec:input_only + - field: source_snapshot + reason: spec:input_only - field: ttl reason: spec:input_only diff --git a/bundle/internal/tf/schema/data_source_app.go b/bundle/internal/tf/schema/data_source_app.go index 9dcff79480a..d396e9f7cee 100644 --- a/bundle/internal/tf/schema/data_source_app.go +++ b/bundle/internal/tf/schema/data_source_app.go @@ -13,10 +13,8 @@ type DataSourceAppAppActiveDeploymentEnvVars struct { } type DataSourceAppAppActiveDeploymentGitSourceGitRepository struct { - AutoDeploy bool `json:"auto_deploy,omitempty"` - CallerCredentialId int `json:"caller_credential_id,omitempty"` - Provider string `json:"provider"` - Url string `json:"url"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppAppActiveDeploymentGitSource struct { @@ -59,43 +57,9 @@ 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 { - 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"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppAppPendingDeploymentDeploymentArtifacts struct { @@ -109,10 +73,8 @@ type DataSourceAppAppPendingDeploymentEnvVars struct { } type DataSourceAppAppPendingDeploymentGitSourceGitRepository struct { - AutoDeploy bool `json:"auto_deploy,omitempty"` - CallerCredentialId int `json:"caller_credential_id,omitempty"` - Provider string `json:"provider"` - Url string `json:"url"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppAppPendingDeploymentGitSource struct { @@ -234,15 +196,12 @@ 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"` @@ -252,7 +211,6 @@ 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 e9d54e64177..10cdd64ddc5 100644 --- a/bundle/internal/tf/schema/data_source_apps.go +++ b/bundle/internal/tf/schema/data_source_apps.go @@ -13,10 +13,8 @@ type DataSourceAppsAppActiveDeploymentEnvVars struct { } type DataSourceAppsAppActiveDeploymentGitSourceGitRepository struct { - AutoDeploy bool `json:"auto_deploy,omitempty"` - CallerCredentialId int `json:"caller_credential_id,omitempty"` - Provider string `json:"provider"` - Url string `json:"url"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppsAppActiveDeploymentGitSource struct { @@ -59,43 +57,9 @@ 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 { - 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"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppsAppPendingDeploymentDeploymentArtifacts struct { @@ -109,10 +73,8 @@ type DataSourceAppsAppPendingDeploymentEnvVars struct { } type DataSourceAppsAppPendingDeploymentGitSourceGitRepository struct { - AutoDeploy bool `json:"auto_deploy,omitempty"` - CallerCredentialId int `json:"caller_credential_id,omitempty"` - Provider string `json:"provider"` - Url string `json:"url"` + Provider string `json:"provider"` + Url string `json:"url"` } type DataSourceAppsAppPendingDeploymentGitSource struct { @@ -234,15 +196,12 @@ 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"` @@ -252,7 +211,6 @@ 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 9b61de5895d..ea1ec37cee9 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_feature.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_feature.go @@ -138,16 +138,6 @@ 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"` @@ -156,7 +146,6 @@ 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 68122169086..a153b7237cb 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_features.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_features.go @@ -138,16 +138,6 @@ 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"` @@ -156,7 +146,6 @@ 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_policy_info.go b/bundle/internal/tf/schema/data_source_policy_info.go index 7c7724d247e..9b5886185b8 100644 --- a/bundle/internal/tf/schema/data_source_policy_info.go +++ b/bundle/internal/tf/schema/data_source_policy_info.go @@ -13,10 +13,6 @@ type DataSourcePolicyInfoColumnMask struct { Using []DataSourcePolicyInfoColumnMaskUsing `json:"using,omitempty"` } -type DataSourcePolicyInfoGrant struct { - Privileges []string `json:"privileges"` -} - type DataSourcePolicyInfoMatchColumns struct { Alias string `json:"alias,omitempty"` Condition string `json:"condition,omitempty"` @@ -43,7 +39,6 @@ type DataSourcePolicyInfo struct { CreatedBy string `json:"created_by,omitempty"` ExceptPrincipals []string `json:"except_principals,omitempty"` ForSecurableType string `json:"for_securable_type,omitempty"` - Grant *DataSourcePolicyInfoGrant `json:"grant,omitempty"` Id string `json:"id,omitempty"` MatchColumns []DataSourcePolicyInfoMatchColumns `json:"match_columns,omitempty"` Name string `json:"name"` diff --git a/bundle/internal/tf/schema/data_source_policy_infos.go b/bundle/internal/tf/schema/data_source_policy_infos.go index 3bcf7bf77f5..4024bd736b3 100644 --- a/bundle/internal/tf/schema/data_source_policy_infos.go +++ b/bundle/internal/tf/schema/data_source_policy_infos.go @@ -13,10 +13,6 @@ type DataSourcePolicyInfosPoliciesColumnMask struct { Using []DataSourcePolicyInfosPoliciesColumnMaskUsing `json:"using,omitempty"` } -type DataSourcePolicyInfosPoliciesGrant struct { - Privileges []string `json:"privileges"` -} - type DataSourcePolicyInfosPoliciesMatchColumns struct { Alias string `json:"alias,omitempty"` Condition string `json:"condition,omitempty"` @@ -43,7 +39,6 @@ type DataSourcePolicyInfosPolicies struct { CreatedBy string `json:"created_by,omitempty"` ExceptPrincipals []string `json:"except_principals,omitempty"` ForSecurableType string `json:"for_securable_type,omitempty"` - Grant *DataSourcePolicyInfosPoliciesGrant `json:"grant,omitempty"` Id string `json:"id,omitempty"` MatchColumns []DataSourcePolicyInfosPoliciesMatchColumns `json:"match_columns,omitempty"` Name string `json:"name"` 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 63a3fe0ffc0..2f901b4bb7e 100644 --- a/bundle/internal/tf/schema/data_source_postgres_synced_table.go +++ b/bundle/internal/tf/schema/data_source_postgres_synced_table.go @@ -14,10 +14,9 @@ type DataSourcePostgresSyncedTableSpecExtraColumns struct { } type DataSourcePostgresSyncedTableSpecNewPipelineSpec struct { - 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"` + BudgetPolicyId string `json:"budget_policy_id,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 dc65315d23c..f94fc842d5f 100644 --- a/bundle/internal/tf/schema/data_source_serving_endpoints.go +++ b/bundle/internal/tf/schema/data_source_serving_endpoints.go @@ -199,10 +199,9 @@ type DataSourceServingEndpointsEndpointsTelemetryConfigTableNames struct { } type DataSourceServingEndpointsEndpointsTelemetryConfig struct { - 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"` + 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_sources.go b/bundle/internal/tf/schema/data_sources.go index 5fce05b6122..16bd84c034c 100644 --- a/bundle/internal/tf/schema/data_sources.go +++ b/bundle/internal/tf/schema/data_sources.go @@ -5,26 +5,10 @@ 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"` AccountSettingV2 map[string]any `json:"databricks_account_setting_v2,omitempty"` - AiGatewayMcpService map[string]any `json:"databricks_ai_gateway_mcp_service,omitempty"` - AiGatewayMcpServices map[string]any `json:"databricks_ai_gateway_mcp_services,omitempty"` - AiGatewayModelProviderService map[string]any `json:"databricks_ai_gateway_model_provider_service,omitempty"` - AiGatewayModelProviderServices map[string]any `json:"databricks_ai_gateway_model_provider_services,omitempty"` - AiGatewayModelService map[string]any `json:"databricks_ai_gateway_model_service,omitempty"` - AiGatewayModelServices map[string]any `json:"databricks_ai_gateway_model_services,omitempty"` AiSearchEndpoint map[string]any `json:"databricks_ai_search_endpoint,omitempty"` AiSearchEndpoints map[string]any `json:"databricks_ai_search_endpoints,omitempty"` AiSearchIndex map[string]any `json:"databricks_ai_search_index,omitempty"` @@ -174,17 +158,6 @@ 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"` @@ -192,78 +165,62 @@ type DataSources struct { func NewDataSources() *DataSources { return &DataSources{ - 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), + 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), + 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), @@ -363,17 +320,6 @@ 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_all.go b/bundle/internal/tf/schema/resource_all.go index fc01766118d..99ad3830027 100644 --- a/bundle/internal/tf/schema/resource_all.go +++ b/bundle/internal/tf/schema/resource_all.go @@ -9,17 +9,9 @@ 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"` - AiGatewayMcpService ResourceAiGatewayMcpService `json:"databricks_ai_gateway_mcp_service,omitempty"` - AiGatewayModelProviderService ResourceAiGatewayModelProviderService `json:"databricks_ai_gateway_model_provider_service,omitempty"` - AiGatewayModelService ResourceAiGatewayModelService `json:"databricks_ai_gateway_model_service,omitempty"` AiSearchEndpoint ResourceAiSearchEndpoint `json:"databricks_ai_search_endpoint,omitempty"` AiSearchIndex ResourceAiSearchIndex `json:"databricks_ai_search_index,omitempty"` AibiDashboardEmbeddingAccessPolicySetting ResourceAibiDashboardEmbeddingAccessPolicySetting `json:"databricks_aibi_dashboard_embedding_access_policy_setting,omitempty"` @@ -174,12 +166,6 @@ 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 87d21f4c673..22da7646c65 100644 --- a/bundle/internal/tf/schema/resource_app.go +++ b/bundle/internal/tf/schema/resource_app.go @@ -13,10 +13,8 @@ type ResourceAppActiveDeploymentEnvVars struct { } type ResourceAppActiveDeploymentGitSourceGitRepository struct { - AutoDeploy bool `json:"auto_deploy,omitempty"` - CallerCredentialId int `json:"caller_credential_id,omitempty"` - Provider string `json:"provider"` - Url string `json:"url"` + Provider string `json:"provider"` + Url string `json:"url"` } type ResourceAppActiveDeploymentGitSource struct { @@ -59,43 +57,9 @@ 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 { - 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"` + Provider string `json:"provider"` + Url string `json:"url"` } type ResourceAppPendingDeploymentDeploymentArtifacts struct { @@ -109,10 +73,8 @@ type ResourceAppPendingDeploymentEnvVars struct { } type ResourceAppPendingDeploymentGitSourceGitRepository struct { - AutoDeploy bool `json:"auto_deploy,omitempty"` - CallerCredentialId int `json:"caller_credential_id,omitempty"` - Provider string `json:"provider"` - Url string `json:"url"` + Provider string `json:"provider"` + Url string `json:"url"` } type ResourceAppPendingDeploymentGitSource struct { @@ -238,15 +200,12 @@ 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"` @@ -258,7 +217,6 @@ 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_budget.go b/bundle/internal/tf/schema/resource_budget.go index 7c66b51405f..5566eb939a7 100644 --- a/bundle/internal/tf/schema/resource_budget.go +++ b/bundle/internal/tf/schema/resource_budget.go @@ -8,20 +8,13 @@ type ResourceBudgetAlertConfigurationsActionConfigurations struct { Target string `json:"target,omitempty"` } -type ResourceBudgetAlertConfigurationsPrincipalOverrides struct { - OverrideThreshold string `json:"override_threshold,omitempty"` - PrincipalId int `json:"principal_id,omitempty"` -} - type ResourceBudgetAlertConfigurations struct { AlertConfigurationId string `json:"alert_configuration_id,omitempty"` QuantityThreshold string `json:"quantity_threshold,omitempty"` QuantityType string `json:"quantity_type,omitempty"` - ScopeType string `json:"scope_type,omitempty"` TimePeriod string `json:"time_period,omitempty"` TriggerType string `json:"trigger_type,omitempty"` ActionConfigurations []ResourceBudgetAlertConfigurationsActionConfigurations `json:"action_configurations,omitempty"` - PrincipalOverrides []ResourceBudgetAlertConfigurationsPrincipalOverrides `json:"principal_overrides,omitempty"` } type ResourceBudgetFilterTagsValue struct { @@ -50,7 +43,6 @@ type ResourceBudget struct { CreateTime int `json:"create_time,omitempty"` DisplayName string `json:"display_name,omitempty"` Id string `json:"id,omitempty"` - ResourceType string `json:"resource_type,omitempty"` UpdateTime int `json:"update_time,omitempty"` AlertConfigurations []ResourceBudgetAlertConfigurations `json:"alert_configurations,omitempty"` Filter *ResourceBudgetFilter `json:"filter,omitempty"` diff --git a/bundle/internal/tf/schema/resource_feature_engineering_feature.go b/bundle/internal/tf/schema/resource_feature_engineering_feature.go index f12a343c738..d4d7f63572f 100644 --- a/bundle/internal/tf/schema/resource_feature_engineering_feature.go +++ b/bundle/internal/tf/schema/resource_feature_engineering_feature.go @@ -138,16 +138,6 @@ 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"` @@ -156,7 +146,6 @@ 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_grant.go b/bundle/internal/tf/schema/resource_grant.go index 32c7bdd2284..6c78e87f32e 100644 --- a/bundle/internal/tf/schema/resource_grant.go +++ b/bundle/internal/tf/schema/resource_grant.go @@ -7,25 +7,22 @@ type ResourceGrantProviderConfig struct { } type ResourceGrant struct { - Catalog string `json:"catalog,omitempty"` - Credential string `json:"credential,omitempty"` - ExternalLocation string `json:"external_location,omitempty"` - ForeignConnection string `json:"foreign_connection,omitempty"` - Function string `json:"function,omitempty"` - Id string `json:"id,omitempty"` - McpService string `json:"mcp_service,omitempty"` - Metastore string `json:"metastore,omitempty"` - Model string `json:"model,omitempty"` - ModelProviderService string `json:"model_provider_service,omitempty"` - ModelService string `json:"model_service,omitempty"` - Pipeline string `json:"pipeline,omitempty"` - Principal string `json:"principal"` - Privileges []string `json:"privileges"` - Recipient string `json:"recipient,omitempty"` - Schema string `json:"schema,omitempty"` - Share string `json:"share,omitempty"` - StorageCredential string `json:"storage_credential,omitempty"` - Table string `json:"table,omitempty"` - Volume string `json:"volume,omitempty"` - ProviderConfig *ResourceGrantProviderConfig `json:"provider_config,omitempty"` + Catalog string `json:"catalog,omitempty"` + Credential string `json:"credential,omitempty"` + ExternalLocation string `json:"external_location,omitempty"` + ForeignConnection string `json:"foreign_connection,omitempty"` + Function string `json:"function,omitempty"` + Id string `json:"id,omitempty"` + Metastore string `json:"metastore,omitempty"` + Model string `json:"model,omitempty"` + Pipeline string `json:"pipeline,omitempty"` + Principal string `json:"principal"` + Privileges []string `json:"privileges"` + Recipient string `json:"recipient,omitempty"` + Schema string `json:"schema,omitempty"` + Share string `json:"share,omitempty"` + StorageCredential string `json:"storage_credential,omitempty"` + Table string `json:"table,omitempty"` + Volume string `json:"volume,omitempty"` + ProviderConfig *ResourceGrantProviderConfig `json:"provider_config,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_grants.go b/bundle/internal/tf/schema/resource_grants.go index 65b17f95cc6..1d61b78b5f7 100644 --- a/bundle/internal/tf/schema/resource_grants.go +++ b/bundle/internal/tf/schema/resource_grants.go @@ -12,24 +12,21 @@ type ResourceGrantsProviderConfig struct { } type ResourceGrants struct { - Catalog string `json:"catalog,omitempty"` - Credential string `json:"credential,omitempty"` - ExternalLocation string `json:"external_location,omitempty"` - ForeignConnection string `json:"foreign_connection,omitempty"` - Function string `json:"function,omitempty"` - Id string `json:"id,omitempty"` - McpService string `json:"mcp_service,omitempty"` - Metastore string `json:"metastore,omitempty"` - Model string `json:"model,omitempty"` - ModelProviderService string `json:"model_provider_service,omitempty"` - ModelService string `json:"model_service,omitempty"` - Pipeline string `json:"pipeline,omitempty"` - Recipient string `json:"recipient,omitempty"` - Schema string `json:"schema,omitempty"` - Share string `json:"share,omitempty"` - StorageCredential string `json:"storage_credential,omitempty"` - Table string `json:"table,omitempty"` - Volume string `json:"volume,omitempty"` - Grant []ResourceGrantsGrant `json:"grant,omitempty"` - ProviderConfig *ResourceGrantsProviderConfig `json:"provider_config,omitempty"` + Catalog string `json:"catalog,omitempty"` + Credential string `json:"credential,omitempty"` + ExternalLocation string `json:"external_location,omitempty"` + ForeignConnection string `json:"foreign_connection,omitempty"` + Function string `json:"function,omitempty"` + Id string `json:"id,omitempty"` + Metastore string `json:"metastore,omitempty"` + Model string `json:"model,omitempty"` + Pipeline string `json:"pipeline,omitempty"` + Recipient string `json:"recipient,omitempty"` + Schema string `json:"schema,omitempty"` + Share string `json:"share,omitempty"` + StorageCredential string `json:"storage_credential,omitempty"` + Table string `json:"table,omitempty"` + Volume string `json:"volume,omitempty"` + Grant []ResourceGrantsGrant `json:"grant,omitempty"` + ProviderConfig *ResourceGrantsProviderConfig `json:"provider_config,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_job.go b/bundle/internal/tf/schema/resource_job.go index f01bf4f0b0c..3a84cf10987 100644 --- a/bundle/internal/tf/schema/resource_job.go +++ b/bundle/internal/tf/schema/resource_job.go @@ -659,9 +659,7 @@ 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"` @@ -761,9 +759,7 @@ 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"` @@ -1889,58 +1885,6 @@ 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"` } @@ -2014,6 +1958,5 @@ 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 34655348388..4e892225e6b 100644 --- a/bundle/internal/tf/schema/resource_model_serving.go +++ b/bundle/internal/tf/schema/resource_model_serving.go @@ -242,10 +242,9 @@ type ResourceModelServingTelemetryConfigTableNames struct { } type ResourceModelServingTelemetryConfig struct { - 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"` + 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 084ee4001e3..dd35f714b8b 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,15 +2,9 @@ package schema -type ResourceMwsNccPrivateEndpointRuleGcpEndpointGoogleApiEndpoints struct { - Endpoints []string `json:"endpoints,omitempty"` -} - type ResourceMwsNccPrivateEndpointRuleGcpEndpoint struct { - 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"` + PscEndpointUri string `json:"psc_endpoint_uri,omitempty"` + ServiceAttachment string `json:"service_attachment,omitempty"` } type ResourceMwsNccPrivateEndpointRule struct { diff --git a/bundle/internal/tf/schema/resource_pipeline.go b/bundle/internal/tf/schema/resource_pipeline.go index 9f6f50c6c60..ee4ff04fda0 100644 --- a/bundle/internal/tf/schema/resource_pipeline.go +++ b/bundle/internal/tf/schema/resource_pipeline.go @@ -228,10 +228,6 @@ 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"` } @@ -289,10 +285,8 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOption } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsKeyTransformer struct { - Format string `json:"format,omitempty"` - InputColumn string `json:"input_column,omitempty"` - OutputColumn string `json:"output_column,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformerJsonOptions struct { @@ -304,10 +298,8 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOption } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformer struct { - Format string `json:"format,omitempty"` - InputColumn string `json:"input_column,omitempty"` - OutputColumn string `json:"output_column,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsKafkaOptions struct { @@ -320,23 +312,6 @@ 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"` @@ -436,21 +411,18 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptionsZendeskSupp } type ResourcePipelineIngestionDefinitionObjectsSchemaConnectorOptions struct { - 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"` + 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"` } type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJsonOptions struct { @@ -462,10 +434,8 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJson } type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransforms struct { - Format string `json:"format,omitempty"` - InputColumn string `json:"input_column,omitempty"` - OutputColumn string `json:"output_column,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptionsTransformsJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchemaFanoutOptions struct { @@ -522,10 +492,6 @@ 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"` } @@ -583,10 +549,8 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsKeyTransformer struct { - Format string `json:"format,omitempty"` - InputColumn string `json:"input_column,omitempty"` - OutputColumn string `json:"output_column,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsKeyTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformerJsonOptions struct { @@ -598,10 +562,8 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformer struct { - Format string `json:"format,omitempty"` - InputColumn string `json:"input_column,omitempty"` - OutputColumn string `json:"output_column,omitempty"` - JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` + Format string `json:"format,omitempty"` + JsonOptions *ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptionsValueTransformerJsonOptions `json:"json_options,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsKafkaOptions struct { @@ -614,23 +576,6 @@ 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"` @@ -730,21 +675,18 @@ type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptionsZendeskSuppo } type ResourcePipelineIngestionDefinitionObjectsTableConnectorOptions struct { - 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"` + 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"` } type ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationAutoFullRefreshPolicy struct { @@ -803,10 +745,6 @@ 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"` @@ -826,9 +764,8 @@ type ResourcePipelineIngestionDefinitionSourceConfigurationsGoogleAdsConfig stru } type ResourcePipelineIngestionDefinitionSourceConfigurations struct { - ApiSourceConnectorConfig *ResourcePipelineIngestionDefinitionSourceConfigurationsApiSourceConnectorConfig `json:"api_source_connector_config,omitempty"` - Catalog *ResourcePipelineIngestionDefinitionSourceConfigurationsCatalog `json:"catalog,omitempty"` - GoogleAdsConfig *ResourcePipelineIngestionDefinitionSourceConfigurationsGoogleAdsConfig `json:"google_ads_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_policy_info.go b/bundle/internal/tf/schema/resource_policy_info.go index 3ad8f037522..2b6cd9653aa 100644 --- a/bundle/internal/tf/schema/resource_policy_info.go +++ b/bundle/internal/tf/schema/resource_policy_info.go @@ -13,10 +13,6 @@ type ResourcePolicyInfoColumnMask struct { Using []ResourcePolicyInfoColumnMaskUsing `json:"using,omitempty"` } -type ResourcePolicyInfoGrant struct { - Privileges []string `json:"privileges"` -} - type ResourcePolicyInfoMatchColumns struct { Alias string `json:"alias,omitempty"` Condition string `json:"condition,omitempty"` @@ -43,7 +39,6 @@ type ResourcePolicyInfo struct { CreatedBy string `json:"created_by,omitempty"` ExceptPrincipals []string `json:"except_principals,omitempty"` ForSecurableType string `json:"for_securable_type"` - Grant *ResourcePolicyInfoGrant `json:"grant,omitempty"` Id string `json:"id,omitempty"` MatchColumns []ResourcePolicyInfoMatchColumns `json:"match_columns,omitempty"` Name string `json:"name,omitempty"` diff --git a/bundle/internal/tf/schema/resource_postgres_synced_table.go b/bundle/internal/tf/schema/resource_postgres_synced_table.go index 86c59868222..958684a9129 100644 --- a/bundle/internal/tf/schema/resource_postgres_synced_table.go +++ b/bundle/internal/tf/schema/resource_postgres_synced_table.go @@ -14,10 +14,9 @@ type ResourcePostgresSyncedTableSpecExtraColumns struct { } type ResourcePostgresSyncedTableSpecNewPipelineSpec struct { - 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"` + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + StorageCatalog string `json:"storage_catalog,omitempty"` + StorageSchema string `json:"storage_schema,omitempty"` } type ResourcePostgresSyncedTableSpecTypeOverrides struct { diff --git a/bundle/internal/tf/schema/resource_repo.go b/bundle/internal/tf/schema/resource_repo.go index 717bc8a78ff..ec9b65809f2 100644 --- a/bundle/internal/tf/schema/resource_repo.go +++ b/bundle/internal/tf/schema/resource_repo.go @@ -11,15 +11,14 @@ type ResourceRepoSparseCheckout struct { } type ResourceRepo struct { - Branch string `json:"branch,omitempty"` - CommitHash string `json:"commit_hash,omitempty"` - GitCredentialId int `json:"git_credential_id,omitempty"` - GitProvider string `json:"git_provider,omitempty"` - Id string `json:"id,omitempty"` - Path string `json:"path,omitempty"` - Tag string `json:"tag,omitempty"` - Url string `json:"url"` - WorkspacePath string `json:"workspace_path,omitempty"` - ProviderConfig *ResourceRepoProviderConfig `json:"provider_config,omitempty"` - SparseCheckout *ResourceRepoSparseCheckout `json:"sparse_checkout,omitempty"` + Branch string `json:"branch,omitempty"` + CommitHash string `json:"commit_hash,omitempty"` + GitProvider string `json:"git_provider,omitempty"` + Id string `json:"id,omitempty"` + Path string `json:"path,omitempty"` + Tag string `json:"tag,omitempty"` + Url string `json:"url"` + WorkspacePath string `json:"workspace_path,omitempty"` + ProviderConfig *ResourceRepoProviderConfig `json:"provider_config,omitempty"` + SparseCheckout *ResourceRepoSparseCheckout `json:"sparse_checkout,omitempty"` } diff --git a/bundle/internal/tf/schema/resources.go b/bundle/internal/tf/schema/resources.go index c3fc34f582e..38bb586d425 100644 --- a/bundle/internal/tf/schema/resources.go +++ b/bundle/internal/tf/schema/resources.go @@ -5,17 +5,9 @@ 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"` - AiGatewayMcpService map[string]any `json:"databricks_ai_gateway_mcp_service,omitempty"` - AiGatewayModelProviderService map[string]any `json:"databricks_ai_gateway_model_provider_service,omitempty"` - AiGatewayModelService map[string]any `json:"databricks_ai_gateway_model_service,omitempty"` AiSearchEndpoint map[string]any `json:"databricks_ai_search_endpoint,omitempty"` AiSearchIndex map[string]any `json:"databricks_ai_search_index,omitempty"` AibiDashboardEmbeddingAccessPolicySetting map[string]any `json:"databricks_aibi_dashboard_embedding_access_policy_setting,omitempty"` @@ -170,12 +162,6 @@ 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"` } @@ -184,17 +170,9 @@ 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), - AiGatewayMcpService: make(map[string]any), - AiGatewayModelProviderService: make(map[string]any), - AiGatewayModelService: make(map[string]any), AiSearchEndpoint: make(map[string]any), AiSearchIndex: make(map[string]any), AibiDashboardEmbeddingAccessPolicySetting: make(map[string]any), @@ -349,12 +327,6 @@ 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/validation/generated/enum_fields.go b/bundle/internal/validation/generated/enum_fields.go index 5e62e921687..e65f7ea4348 100644 --- a/bundle/internal/validation/generated/enum_fields.go +++ b/bundle/internal/validation/generated/enum_fields.go @@ -76,6 +76,7 @@ var EnumFields = map[string][]string{ "resources.job_runs.*.performance_target": {"PERFORMANCE_OPTIMIZED", "STANDARD"}, + "resources.jobs.*.continuous.maintenance_window.day_of_week": {"FRIDAY", "MONDAY", "SATURDAY", "SUNDAY", "THURSDAY", "TUESDAY", "WEDNESDAY"}, "resources.jobs.*.continuous.pause_status": {"PAUSED", "UNPAUSED"}, "resources.jobs.*.continuous.task_retry_mode": {"NEVER", "ON_FAILURE"}, "resources.jobs.*.deployment.kind": {"BUNDLE", "SYSTEM_MANAGED"}, @@ -99,11 +100,11 @@ var EnumFields = map[string][]string{ "resources.jobs.*.schedule.pause_status": {"PAUSED", "UNPAUSED"}, "resources.jobs.*.schedule.sql_condition.trigger_mode": {"QUERY_RETURNS_ROWS", "RESULT_VALUE_CHANGES"}, "resources.jobs.*.tasks[*].ai_runtime_task.deployments[*].compute.accelerator_type": {"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"}, - "resources.jobs.*.tasks[*].compute.hardware_accelerator": {"GPU_1xA10", "GPU_8xH100"}, + "resources.jobs.*.tasks[*].compute.hardware_accelerator": {"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"}, "resources.jobs.*.tasks[*].condition_task.op": {"EQUAL_TO", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "NOT_EQUAL"}, "resources.jobs.*.tasks[*].dbt_task.source": {"GIT", "WORKSPACE"}, "resources.jobs.*.tasks[*].for_each_task.task.ai_runtime_task.deployments[*].compute.accelerator_type": {"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"}, - "resources.jobs.*.tasks[*].for_each_task.task.compute.hardware_accelerator": {"GPU_1xA10", "GPU_8xH100"}, + "resources.jobs.*.tasks[*].for_each_task.task.compute.hardware_accelerator": {"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"}, "resources.jobs.*.tasks[*].for_each_task.task.condition_task.op": {"EQUAL_TO", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "NOT_EQUAL"}, "resources.jobs.*.tasks[*].for_each_task.task.dbt_task.source": {"GIT", "WORKSPACE"}, "resources.jobs.*.tasks[*].for_each_task.task.gen_ai_compute_task.source": {"GIT", "WORKSPACE"}, @@ -149,6 +150,7 @@ var EnumFields = map[string][]string{ "resources.jobs.*.trigger.periodic.unit": {"DAYS", "HOURS", "MINUTES", "WEEKS"}, "resources.jobs.*.trigger.sql_condition.trigger_mode": {"QUERY_RETURNS_ROWS", "RESULT_VALUE_CHANGES"}, "resources.jobs.*.trigger.table_update.condition": {"ALL_UPDATED", "ANY_UPDATED"}, + "resources.jobs.*.triggers[*].continuous.maintenance_window.day_of_week": {"FRIDAY", "MONDAY", "SATURDAY", "SUNDAY", "THURSDAY", "TUESDAY", "WEDNESDAY"}, "resources.jobs.*.triggers[*].continuous.task_retry_mode": {"NEVER", "ON_FAILURE"}, "resources.jobs.*.triggers[*].model.condition": {"MODEL_ALIAS_SET", "MODEL_CREATED", "MODEL_VERSION_READY"}, "resources.jobs.*.triggers[*].pause_status": {"PAUSED", "UNPAUSED"}, @@ -223,7 +225,7 @@ var EnumFields = map[string][]string{ "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.data_level": {"AUCTION_AD", "AUCTION_ADGROUP", "AUCTION_ADVERTISER", "AUCTION_CAMPAIGN"}, "resources.pipelines.*.ingestion_definition.objects[*].table.connector_options.tiktok_ads_options.report_type": {"AUDIENCE", "BASIC", "BUSINESS_CENTER", "DSA", "GMV_MAX", "PLAYABLE_AD"}, "resources.pipelines.*.ingestion_definition.objects[*].table.table_configuration.scd_type": {"APPEND_ONLY", "SCD_TYPE_1", "SCD_TYPE_2"}, - "resources.pipelines.*.ingestion_definition.source_type": {"BIGQUERY", "CONFLUENCE", "DYNAMICS365", "FOREIGN_CATALOG", "GA4_RAW_DATA", "GOOGLE_DRIVE", "JIRA", "MANAGED_POSTGRESQL", "META_MARKETING", "MYSQL", "NETSUITE", "ORACLE", "POSTGRESQL", "SALESFORCE", "SERVICENOW", "SHAREPOINT", "SQLSERVER", "TERADATA", "WORKDAY_RAAS", "ZENDESK"}, + "resources.pipelines.*.ingestion_definition.source_type": {"BIGQUERY", "CONFLUENCE", "DYNAMICS365", "FOREIGN_CATALOG", "GA4_RAW_DATA", "GOOGLE_DRIVE", "JIRA", "MANAGED_POSTGRESQL", "META_MARKETING", "MYSQL", "NETSUITE", "ORACLE", "POSTGRESQL", "RABBITMQ", "SALESFORCE", "SERVICENOW", "SHAREPOINT", "SQLSERVER", "TERADATA", "WORKDAY_RAAS", "ZENDESK"}, "resources.pipelines.*.ingestion_definition.table_configuration.scd_type": {"APPEND_ONLY", "SCD_TYPE_1", "SCD_TYPE_2"}, "resources.pipelines.*.permissions[*].level": {"CAN_MANAGE", "CAN_RUN", "CAN_VIEW", "IS_OWNER"}, "resources.pipelines.*.restart_window.days_of_week[*]": {"FRIDAY", "MONDAY", "SATURDAY", "SUNDAY", "THURSDAY", "TUESDAY", "WEDNESDAY"}, diff --git a/bundle/internal/validation/generated/required_fields.go b/bundle/internal/validation/generated/required_fields.go index 617f5a65ecc..fcdd9b11ab9 100644 --- a/bundle/internal/validation/generated/required_fields.go +++ b/bundle/internal/validation/generated/required_fields.go @@ -80,6 +80,7 @@ var RequiredFields = map[string][]string{ "resources.job_runs.*": {"job_id"}, "resources.job_runs.*.queue": {"enabled"}, + "resources.jobs.*.continuous.maintenance_window": {"day_of_week", "start_hour", "timezone_id"}, "resources.jobs.*.deployment": {"kind"}, "resources.jobs.*.environments[*]": {"environment_key"}, "resources.jobs.*.git_source": {"git_provider", "git_url"}, @@ -189,6 +190,7 @@ var RequiredFields = map[string][]string{ "resources.jobs.*.trigger.periodic": {"interval", "unit"}, "resources.jobs.*.trigger.sql_condition": {"sql_query_id", "warehouse_id"}, "resources.jobs.*.trigger.table_update": {"table_names"}, + "resources.jobs.*.triggers[*].continuous.maintenance_window": {"day_of_week", "start_hour", "timezone_id"}, "resources.jobs.*.triggers[*].file_arrival": {"url"}, "resources.jobs.*.triggers[*].model": {"condition"}, "resources.jobs.*.triggers[*].periodic": {"interval", "unit"}, @@ -236,15 +238,17 @@ var RequiredFields = map[string][]string{ "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": {"destination_catalog", "destination_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.connector_options.rabbitmq_options": {"queue"}, "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": {"destination_catalog", "destination_schema"}, "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.connector_options.rabbitmq_options": {"queue"}, "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"}, diff --git a/bundle/schema/jsonschema.json b/bundle/schema/jsonschema.json index 37246ebdff4..5967696cb91 100644 --- a/bundle/schema/jsonschema.json +++ b/bundle/schema/jsonschema.json @@ -106,7 +106,7 @@ "$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle" }, "parameters": { - "description": "[Private Preview] Query parameters bound when executing the alert query, referenced in the\nquery text with `:name` syntax. Static values only.", + "description": "[Private Preview] A list of parameters to pass into the alert SQL query statement containing parameter markers. Static values only.\n\nReference a parameter in the query text as `:name`. Each parameter must have a unique, non-empty name.\nEach parameter 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.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/sql.AlertStatementParameter", "x-databricks-launch-stage": "PRIVATE_PREVIEW", "doNotSuggest": true @@ -538,7 +538,7 @@ "$ref": "#/$defs/slice/string" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "$ref": "#/$defs/int" }, "use_ml_runtime": { @@ -1116,7 +1116,7 @@ "$ref": "#/$defs/string" }, "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.", + "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.\n\nPipelines started by a continuous job also run continuously, regardless of their own pipeline mode setting.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.Continuous" }, "description": { @@ -1762,8 +1762,10 @@ "$ref": "#/$defs/map/string" }, "continuous": { - "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.", - "$ref": "#/$defs/bool" + "description": "Whether the pipeline is continuous or triggered. This replaces `trigger`.\n\nDeprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage\nof job-level settings such as performance mode. When the pipeline is started by a continuous\njob, the job's setting takes precedence and this field is ignored.", + "$ref": "#/$defs/bool", + "deprecationMessage": "This field is deprecated", + "deprecated": true }, "development": { "description": "Whether the pipeline is in Development mode. Defaults to false.", @@ -1974,6 +1976,12 @@ "description": "[Beta] The point in time on the source branch from which this branch was created.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/common/types/time.Time" }, + "source_snapshot": { + "description": "[Private Preview] The snapshot this branch was created from. When set, the branch's data\ncomes from the snapshot rather than a source branch, so source_branch,\nsource_branch_lsn, and source_branch_time must be empty. The snapshot must\nbe AVAILABLE and belong to this branch's project.\nFormat: projects/{project_id}/snapshots/{snapshot_id}", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "ttl": { "description": "[Beta] Relative time-to-live duration. When set, the branch will expire at creation_time + ttl.\nMutually exclusive with `expire_time` and `no_expiry`. When updating, use `spec.expiration` in the update_mask.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/common/types/duration.Duration" @@ -5697,7 +5705,7 @@ "$ref": "#/$defs/slice/string" }, "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 disks.", + "description": "If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP.", "$ref": "#/$defs/int" }, "use_ml_runtime": { @@ -6105,9 +6113,11 @@ "description": "HardwareAcceleratorType: The type of hardware accelerator to use for compute workloads.\nNOTE: This enum is referenced and is intended to be used by other Databricks services\nthat need to specify hardware accelerator requirements for AI compute workloads.", "enum": [ "GPU_1xA10", - "GPU_8xH100" + "GPU_8xH100", + "GPU_1xH100" ], "enumDescriptions": [ + "[Beta]", "[Beta]", "[Beta]" ] @@ -6436,6 +6446,10 @@ "alternate_node_type_ids": { "description": "A list of node type IDs to use as fallbacks when the primary node type is unavailable.", "$ref": "#/$defs/slice/string" + }, + "aws_context_id": { + "description": "The AWS Context ID for EC2 Fleet.\nWhen set (non-empty), the value is passed to AWS CreateFleet API to create the EC2 Fleet.", + "$ref": "#/$defs/string" } }, "additionalProperties": false @@ -7199,6 +7213,12 @@ "description": "[Public Preview] The alert_id is the canonical identifier of the alert.", "$ref": "#/$defs/string" }, + "parameters": { + "description": "[Private Preview] Per-run parameter overrides, keyed by parameter name, applied onto the alert's stored\nquery parameters before the query is executed. Only scalar values are supported. Values\nmay reference job parameters with `{{job.parameters.*}}`, which are resolved before the\ntask runs. An override whose key does not match a stored parameter fails the task run.\nLimited to 10000 characters when serialized as JSON; keys must be 1-100 characters and\ncontain only letters, digits, underscores, dashes, and periods.", + "$ref": "#/$defs/map/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "subscribers": { "description": "[Public Preview] The subscribers receive alert evaluation result notifications after the alert task is completed.\nThe number of subscriptions is limited to 100.", "$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/jobs.AlertTaskSubscriber" @@ -7470,6 +7490,12 @@ { "type": "object", "properties": { + "maintenance_window": { + "description": "[Private Preview] Defines when platform-initiated maintenance may run for this job. If unspecified, maintenance may run at any time.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.MaintenanceWindow", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "pause_status": { "description": "Indicate whether the continuous execution of the job is paused or not. Defaults to UNPAUSED.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.PauseStatus" @@ -7493,6 +7519,12 @@ "type": "object", "description": "Continuous trigger. Stripped-down counterpart to `ContinuousSettings`: `pause_status` is owned by the enclosing\n`TriggerConfiguration` and intentionally omitted here.", "properties": { + "maintenance_window": { + "description": "[Private Preview] Defines when platform-initiated maintenance may run for this trigger. If unspecified,\nmaintenance may run at any time.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.MaintenanceWindow", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, "task_retry_mode": { "description": "[Beta] Whether the continuous job applies task-level retries. Defaults to NEVER.", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.TaskRetryMode" @@ -7602,6 +7634,36 @@ } ] }, + "jobs.DayOfWeek": { + "oneOf": [ + { + "type": "string", + "description": "Days of week that can be referenced by Jobs scheduling settings.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "[Private Preview]", + "[Private Preview]", + "[Private Preview]", + "[Private Preview]", + "[Private Preview]", + "[Private Preview]", + "[Private Preview]" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "jobs.DbtCloudTask": { "oneOf": [ { @@ -8356,6 +8418,44 @@ } ] }, + "jobs.MaintenanceWindow": { + "oneOf": [ + { + "type": "object", + "description": "A recurring weekly time window during which platform-initiated maintenance is\nallowed to run for a continuous job.", + "properties": { + "day_of_week": { + "description": "[Private Preview] The day of week on which maintenance is allowed to happen. This field is required.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/jobs.DayOfWeek", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "start_hour": { + "description": "[Private Preview] An integer between 0 and 23 denoting the start hour for the maintenance window in the 24-hour day.\nPlatform-initiated maintenance is triggered only within a one-hour window starting at this hour.\nThis field is required.", + "$ref": "#/$defs/int", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + }, + "timezone_id": { + "description": "[Private Preview] A Java timezone ID. The maintenance window is resolved with respect to this timezone. See [Java TimeZone](https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html) for details. This field is required.", + "$ref": "#/$defs/string", + "x-databricks-launch-stage": "PRIVATE_PREVIEW", + "doNotSuggest": true + } + }, + "additionalProperties": false, + "required": [ + "day_of_week", + "start_hour", + "timezone_id" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "jobs.ModelTriggerConfiguration": { "oneOf": [ { @@ -9676,7 +9776,7 @@ "oneOf": [ { "type": "object", - "description": "A single trigger attached to a job via `JobSettings.triggers`. Exactly one of the trigger-type fields\n(`periodic`, `schedule`, `continuous`, `file_arrival`, `table_update`, `model`) must be set; mutual exclusivity\nis enforced in the API handler rather than via `oneof` so that codegen, validation, and JSON serialization\nacross SDKs and Terraform behave consistently.", + "description": "A single trigger attached to a job via `JobSettings.triggers`. Exactly one of the trigger-type fields\n(`periodic`, `schedule`, `continuous`, `file_arrival`, `table_update`, `model`, `job_completion`) must be set;\nmutual exclusivity is enforced in the API handler rather than via `oneof` so that codegen, validation, and JSON\nserialization across SDKs and Terraform behave consistently.", "properties": { "continuous": { "description": "[Beta] Continuous trigger configuration.", @@ -10123,6 +10223,10 @@ "x-databricks-launch-stage": "PRIVATE_PREVIEW", "doNotSuggest": true }, + "rabbitmq_options": { + "description": "[Beta] RabbitMQ specific options for ingestion.\nPerformance tuning options (consumers_per_task, max_messages_per_fetch, etc.)\nare intentionally not exposed in the public API. The managed connector uses\nsensible defaults internally. These can be added later if user demand arises.", + "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.RabbitmqOptions" + }, "reddit_ads_options": { "description": "[Private Preview] Reddit Ads specific options for ingestion", "$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.RedditAdsOptions", @@ -10944,6 +11048,7 @@ "CONFLUENCE", "META_MARKETING", "ZENDESK", + "RABBITMQ", "FOREIGN_CATALOG" ], "enumDescriptions": [ @@ -10966,6 +11071,7 @@ "[Public Preview]", "[Beta]", "[Public Preview]", + "[Beta]", "[Private Preview]" ] }, @@ -11633,7 +11739,7 @@ "$ref": "#/$defs/string" }, "label": { - "description": "A label for the cluster specification, either `default` to configure the default cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`.", + "description": "A label for the cluster specification, either `default` to configure the default cluster settings applied to both the update and maintenance clusters, `updates` to configure the update cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`.", "$ref": "#/$defs/string" }, "node_type_id": { @@ -11833,7 +11939,7 @@ "$ref": "#/$defs/slice/string" }, "environment_version": { - "description": "[Beta] The environment version of the serverless Python environment used to execute\ncustomer Python code. Each environment version includes a specific Python\nversion and a curated set of pre-installed libraries with defined versions,\nproviding a stable and reproducible execution environment.\n\nDatabricks supports a three-year lifecycle for each environment version.\nFor available versions and their included packages, see\nhttps://docs.databricks.com/aws/en/release-notes/serverless/environment-version/\n\nThe value should be a string representing the environment version number, for example: `\"4\"`.", + "description": "[Public Preview] The environment version of the serverless Python environment used to execute\ncustomer Python code. Each environment version includes a specific Python\nversion and a curated set of pre-installed libraries with defined versions,\nproviding a stable and reproducible execution environment.\n\nDatabricks supports a three-year lifecycle for each environment version.\nFor available versions and their included packages, see\nhttps://docs.databricks.com/aws/en/release-notes/serverless/environment-version/\n\nThe value should be a string representing the environment version number, for example: `\"4\"`.", "$ref": "#/$defs/string" } }, @@ -11887,6 +11993,28 @@ } ] }, + "pipelines.RabbitmqOptions": { + "oneOf": [ + { + "type": "object", + "description": "RabbitMQ specific options for ingestion.\nPerformance tuning options (consumers_per_task, max_messages_per_fetch, etc.)\nare intentionally not exposed in the public API. The managed connector uses\nsensible defaults internally. These can be added later if user demand arises.", + "properties": { + "queue": { + "description": "[Beta] (Required) RabbitMQ queue name to consume from.", + "$ref": "#/$defs/string" + } + }, + "additionalProperties": false, + "required": [ + "queue" + ] + }, + { + "type": "string", + "pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}" + } + ] + }, "pipelines.RedditAdsOptions": { "oneOf": [ { @@ -12070,7 +12198,7 @@ "$ref": "#/$defs/string" }, "source_schema": { - "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.", + "description": "[Public Preview] Schema name in the source database. Optional: some source types (for example streaming or\nmessage-bus connectors) do not use it, so it may be absent from a pipeline's definition.\nClients that assume it is always present should handle its absence.", "$ref": "#/$defs/string" }, "table_configuration": { @@ -12081,8 +12209,7 @@ "additionalProperties": false, "required": [ "destination_catalog", - "destination_schema", - "source_schema" + "destination_schema" ] }, { @@ -12250,7 +12377,7 @@ "$ref": "#/$defs/string" }, "source_table": { - "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.", + "description": "[Public Preview] Table name in the source database. Optional: some source types (for example streaming or\nmessage-bus connectors) do not use it, so it may be absent from a pipeline's definition.\nClients that assume it is always present should handle its absence.", "$ref": "#/$defs/string" }, "table_configuration": { @@ -12261,8 +12388,7 @@ "additionalProperties": false, "required": [ "destination_catalog", - "destination_schema", - "source_table" + "destination_schema" ] }, { @@ -14339,22 +14465,22 @@ "oneOf": [ { "type": "object", - "description": "Redash-owned copy of the internal StatementParameter for the external AlertV2 API.\nThe internal `ordinal` and `args` fields are intentionally omitted: the public API\nsupports only flat, named scalar parameters; complex types (ARRAY, MAP, STRUCT) are\nnot supported. This mirrors SEA's public StatementParameter schema, see:\ncmdexec/sql-exec-api/proto/sql_exec_api_service.proto:763-779", + "description": "A named parameter bound to the alert query. Only flat, named scalar parameters are\nsupported; complex types such as ARRAY, MAP, and STRUCT are not.", "properties": { "name": { - "description": "[Private Preview] The name of the parameter, referenced in the query as `:name`.", + "description": "[Private Preview] The name of the parameter. Reference it in the query text as `:name`. Required, must be\nnon-empty, and must be unique across the alert's parameters.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "PRIVATE_PREVIEW", "doNotSuggest": true }, "type": { - "description": "[Private Preview] The SQL data type of the parameter, e.g. STRING, INT, or DATE. Defaults to STRING. This is a\nstring rather than an enum because scalar subtypes such as DECIMAL(10, 4) cannot be enumerated.\nComplex types such as ARRAY, MAP, and STRUCT are not supported.", + "description": "[Private Preview] The SQL data type of the parameter, for example `STRING`, `INT`, or `DECIMAL(10, 2)`. If no type is given\nthe type is assumed to be `STRING`. Complex types such as `ARRAY`, `MAP`, and `STRUCT` are not supported.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "PRIVATE_PREVIEW", "doNotSuggest": true }, "value": { - "description": "[Private Preview] The bound value for the parameter, given as a string. If omitted, the value is interpreted as NULL.", + "description": "[Private Preview] The value bound to the parameter, represented as a string. If omitted, the value is interpreted as NULL.", "$ref": "#/$defs/string", "x-databricks-launch-stage": "PRIVATE_PREVIEW", "doNotSuggest": true diff --git a/cmd/account/iam-v2/iam-v2.go b/cmd/account/iam-v2/iam-v2.go index 26da2acb5b1..d926b7a1635 100644 --- a/cmd/account/iam-v2/iam-v2.go +++ b/cmd/account/iam-v2/iam-v2.go @@ -50,6 +50,9 @@ These APIs are used to manage identities and the workspace access of these cmd.AddCommand(newDeleteWorkspaceAssignment()) cmd.AddCommand(newDeleteWorkspaceAssignmentDetail()) cmd.AddCommand(newGetDirectGroupMember()) + cmd.AddCommand(newGetExternalGroup()) + cmd.AddCommand(newGetExternalServicePrincipal()) + cmd.AddCommand(newGetExternalUser()) cmd.AddCommand(newGetGroup()) cmd.AddCommand(newGetServicePrincipal()) cmd.AddCommand(newGetUser()) @@ -99,8 +102,10 @@ func newCreateDirectGroupMember() *cobra.Command { cmd.Flags().Var(&createDirectGroupMemberJson, "json", `either inline JSON string or @path/to/file.json with request body`) cmd.Use = "create-direct-group-member GROUP_ID PRINCIPAL_ID" - cmd.Short = `Create a direct group membership.` - cmd.Long = `Create a direct group membership. + cmd.Short = `*Beta* Create a direct group membership.` + cmd.Long = `This command is in Beta and may change without notice. + +Create a direct group membership. Creates a group membership (assigns a principal to a group). @@ -108,12 +113,9 @@ func newCreateDirectGroupMember() *cobra.Command { 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 - 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 { if cmd.Flags().Changed("json") { @@ -199,8 +201,10 @@ func newCreateGroup() *cobra.Command { 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. + cmd.Short = `*Beta* Create a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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, @@ -212,12 +216,9 @@ func newCreateGroup() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -283,8 +284,10 @@ func newCreateServicePrincipal() *cobra.Command { 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. + cmd.Short = `*Beta* Create a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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 @@ -301,12 +304,9 @@ func newCreateServicePrincipal() *cobra.Command { 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"] = "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 { if cmd.Flags().Changed("json") { @@ -389,8 +389,10 @@ func newCreateUser() *cobra.Command { 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. + cmd.Short = `*Beta* Create a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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, @@ -408,12 +410,9 @@ func newCreateUser() *cobra.Command { 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.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") { @@ -504,8 +503,10 @@ func newCreateWorkspaceAssignment() *cobra.Command { // TODO: array: entitlements cmd.Use = "create-workspace-assignment WORKSPACE_ID PRINCIPAL_ID" - cmd.Short = `Create a workspace assignment.` - cmd.Long = `Create a workspace assignment. + cmd.Short = `*Beta* Create a workspace assignment.` + cmd.Long = `This command is in Beta and may change without notice. + +Create a workspace assignment. Creates a workspace assignment for a principal. Entitlements are granted one at a time rather than atomically. If the request fails partway through, the @@ -518,12 +519,9 @@ func newCreateWorkspaceAssignment() *cobra.Command { 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.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") { @@ -612,11 +610,7 @@ func newCreateWorkspaceAssignmentDetail() *cobra.Command { 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. + Creates a workspace assignment detail for a principal. Arguments: WORKSPACE_ID: Required. The workspace ID for which the workspace assignment detail is @@ -707,8 +701,10 @@ func newDeleteDirectGroupMember() *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. + cmd.Short = `*Beta* Delete a direct group membership.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete a direct group membership. Deletes a group membership (unassigns a principal from a group). @@ -716,12 +712,9 @@ func newDeleteDirectGroupMember() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -777,20 +770,19 @@ func newDeleteGroup() *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. + cmd.Short = `*Beta* Delete a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -838,20 +830,19 @@ func newDeleteServicePrincipal() *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. + cmd.Short = `*Beta* Delete a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -899,20 +890,19 @@ func newDeleteUser() *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. + cmd.Short = `*Beta* Delete a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -960,8 +950,10 @@ func newDeleteWorkspaceAssignment() *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. + cmd.Short = `*Beta* Delete a workspace assignment.` + cmd.Long = `This command is in Beta and may change without notice. + +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. @@ -973,12 +965,9 @@ func newDeleteWorkspaceAssignment() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -1108,8 +1097,10 @@ func newGetDirectGroupMember() *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. + cmd.Short = `*Beta* Get a direct group member.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a direct group member. Gets a provisioned direct member of a group. @@ -1118,12 +1109,9 @@ func newGetDirectGroupMember() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -1165,6 +1153,200 @@ func newGetDirectGroupMember() *cobra.Command { return cmd } +// start get-external-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 getExternalGroupOverrides []func( + *cobra.Command, + *iamv2.GetExternalGroupRequest, +) + +func newGetExternalGroup() *cobra.Command { + cmd := &cobra.Command{} + + var getExternalGroupReq iamv2.GetExternalGroupRequest + + cmd.Use = "get-external-group NAME" + cmd.Short = `*Beta* Get an external group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get an external group in the account. + + Retrieves an external 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: + NAME: Required. The resource name of the external group. Format: + accounts/{account_id}/external-groups/{external_group_id}` + + 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.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + getExternalGroupReq.Name = args[0] + + response, err := a.IamV2.GetExternalGroup(ctx, getExternalGroupReq) + 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 getExternalGroupOverrides { + fn(cmd, &getExternalGroupReq) + } + + return cmd +} + +// start get-external-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 getExternalServicePrincipalOverrides []func( + *cobra.Command, + *iamv2.GetExternalServicePrincipalRequest, +) + +func newGetExternalServicePrincipal() *cobra.Command { + cmd := &cobra.Command{} + + var getExternalServicePrincipalReq iamv2.GetExternalServicePrincipalRequest + + cmd.Use = "get-external-service-principal NAME" + cmd.Short = `*Beta* Get an external service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get an external service principal in the account. + + Retrieves an external 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: + NAME: Required. The resource name of the external service principal. Format: + accounts/{account_id}/external-service-principals/{external_service_principal_id}` + + 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.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + getExternalServicePrincipalReq.Name = args[0] + + response, err := a.IamV2.GetExternalServicePrincipal(ctx, getExternalServicePrincipalReq) + 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 getExternalServicePrincipalOverrides { + fn(cmd, &getExternalServicePrincipalReq) + } + + return cmd +} + +// start get-external-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 getExternalUserOverrides []func( + *cobra.Command, + *iamv2.GetExternalUserRequest, +) + +func newGetExternalUser() *cobra.Command { + cmd := &cobra.Command{} + + var getExternalUserReq iamv2.GetExternalUserRequest + + cmd.Use = "get-external-user NAME" + cmd.Short = `*Beta* Get an external user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get an external user in the account. + + Retrieves an external 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: + NAME: Required. The resource name of the external user. Format: + accounts/{account_id}/external-users/{external_user_id}` + + 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.MustAccountClient + cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { + ctx := cmd.Context() + a := cmdctx.AccountClient(ctx) + + getExternalUserReq.Name = args[0] + + response, err := a.IamV2.GetExternalUser(ctx, getExternalUserReq) + 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 getExternalUserOverrides { + fn(cmd, &getExternalUserReq) + } + + return cmd +} + // start get-group command // Slice with functions to override default command behavior. @@ -1180,20 +1362,19 @@ func newGetGroup() *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. + cmd.Short = `*Beta* Get a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1242,20 +1423,19 @@ func newGetServicePrincipal() *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. + cmd.Short = `*Beta* Get a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1304,20 +1484,19 @@ func newGetUser() *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. + cmd.Short = `*Beta* Get a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1445,8 +1624,10 @@ func newGetWorkspaceAssignment() *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. + cmd.Short = `*Beta* Get a workspace assignment for a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a workspace assignment for a principal. Returns the assignment for a principal in a workspace. @@ -1455,12 +1636,9 @@ func newGetWorkspaceAssignment() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -1603,8 +1781,10 @@ func newListDirectGroupMembers() *cobra.Command { 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. + cmd.Short = `*Beta* List direct group members.` + cmd.Long = `This command is in Beta and may change without notice. + +List direct group members. Lists provisioned direct members of a group with their membership source (internal or from identity provider). @@ -1613,12 +1793,9 @@ func newListDirectGroupMembers() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1687,18 +1864,17 @@ func newListGroups() *cobra.Command { 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. + cmd.Short = `*Beta* List groups in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -1762,18 +1938,17 @@ func newListServicePrincipals() *cobra.Command { 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. + cmd.Short = `*Beta* List service principals in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -1826,8 +2001,10 @@ func newListTransitiveParentGroups() *cobra.Command { 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. + cmd.Short = `*Beta* List all transitive parent groups of a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +List all transitive parent groups of a principal. Lists all transitive parent groups of a principal. @@ -1835,12 +2012,9 @@ func newListTransitiveParentGroups() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1906,18 +2080,17 @@ func newListUsers() *cobra.Command { 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. + cmd.Short = `*Beta* List users in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -2065,8 +2238,10 @@ func newListWorkspaceAssignments() *cobra.Command { 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. + cmd.Short = `*Beta* List workspace assignments for a workspace.` + cmd.Long = `This command is in Beta and may change without notice. + +List workspace assignments for a workspace. Lists workspace assignments for a workspace. The response omits the per-principal entitlement fields (entitlements and @@ -2077,12 +2252,9 @@ func newListWorkspaceAssignments() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -2407,8 +2579,10 @@ func newUpdateGroup() *cobra.Command { cmd.Flags().StringVar(&updateGroupReq.Group.GroupName, "group-name", updateGroupReq.Group.GroupName, `Display name of the group.`) cmd.Use = "update-group GROUP_ID UPDATE_MASK" - cmd.Short = `Update a group in the account.` - cmd.Long = `Update a group in the account. + cmd.Short = `*Beta* Update a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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. @@ -2421,12 +2595,9 @@ func newUpdateGroup() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -2494,8 +2665,10 @@ func newUpdateServicePrincipal() *cobra.Command { cmd.Flags().StringVar(&updateServicePrincipalReq.ServicePrincipal.ExternalId, "external-id", updateServicePrincipalReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) 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. + cmd.Short = `*Beta* Update a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Update a service principal in the account. Updates an existing service principal in the Databricks account. Only the fields named in the update mask are modified. Returns the updated @@ -2512,12 +2685,9 @@ func newUpdateServicePrincipal() *cobra.Command { 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"] = "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 { if cmd.Flags().Changed("json") { @@ -2602,8 +2772,10 @@ func newUpdateUser() *cobra.Command { cmd.Flags().StringVar(&updateUserReq.User.ExternalId, "external-id", updateUserReq.User.ExternalId, `ExternalId of the user in the customer's IdP.`) 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. + cmd.Short = `*Beta* Update a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Update a user in the account. 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 @@ -2621,12 +2793,9 @@ func newUpdateUser() *cobra.Command { 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.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") { @@ -2719,8 +2888,10 @@ func newUpdateWorkspaceAssignment() *cobra.Command { // TODO: array: entitlements 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. + cmd.Short = `*Beta* Update a workspace assignment.` + cmd.Long = `This command is in Beta and may change without notice. + +Update a workspace assignment. 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 @@ -2734,12 +2905,9 @@ func newUpdateWorkspaceAssignment() *cobra.Command { 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"] = "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 { if cmd.Flags().Changed("json") { diff --git a/cmd/account/settings-v2/settings-v2.go b/cmd/account/settings-v2/settings-v2.go index 91d655c2ef1..11b27a5802b 100644 --- a/cmd/account/settings-v2/settings-v2.go +++ b/cmd/account/settings-v2/settings-v2.go @@ -19,18 +19,16 @@ var cmdOverrides []func(*cobra.Command) func New() *cobra.Command { cmd := &cobra.Command{ - Use: "settings-v2", - Short: `*Public Preview* APIs to manage account level settings.`, - Long: `This command is in Public Preview and may change without notice. - -APIs to manage account level settings`, + Use: "settings-v2", + Short: `APIs to manage account level settings.`, + Long: `APIs to manage account level settings`, GroupID: "settings", RunE: root.ReportUnknownSubcommand, } 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(newGetPublicAccountSetting()) @@ -63,18 +61,16 @@ func newGetPublicAccountSetting() *cobra.Command { var getPublicAccountSettingReq settingsv2.GetPublicAccountSettingRequest cmd.Use = "get-public-account-setting NAME" - cmd.Short = `*Public Preview* Get an account setting.` - cmd.Long = `This command is in Public Preview and may change without notice. - -Get an account setting. + cmd.Short = `Get an account setting.` + cmd.Long = `Get an account setting. Get a setting value at account level. See :method:settingsv2/listaccountsettingsmetadata for list of setting available via public APIs at account level.` 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(1) @@ -202,18 +198,16 @@ func newListAccountSettingsMetadata() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-account-settings-metadata" - cmd.Short = `*Public Preview* List valid setting keys and their metadata.` - cmd.Long = `This command is in Public Preview and may change without notice. - -List valid setting keys and their metadata. + cmd.Short = `List valid setting keys and their metadata.` + cmd.Long = `List valid setting keys and their metadata. List valid setting keys and metadata. These settings are available to be referenced via GET :method:settingsv2/getpublicaccountsetting and PATCH :method:settingsv2/patchpublicaccountsetting APIs` 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) @@ -372,10 +366,8 @@ func newPatchPublicAccountSetting() *cobra.Command { // TODO: complex arg: string_val cmd.Use = "patch-public-account-setting NAME" - cmd.Short = `*Public Preview* Update an account setting.` - cmd.Long = `This command is in Public Preview and may change without notice. - -Update an account setting. + cmd.Short = `Update an account setting.` + cmd.Long = `Update an account setting. Patch a setting value at account level. See :method:settingsv2/listaccountsettingsmetadata for list of setting available @@ -386,8 +378,8 @@ Update an account setting. Note: Page refresh is required for changes to take effect in UI.` 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(1) diff --git a/cmd/workspace/alerts-v2/alerts-v2.go b/cmd/workspace/alerts-v2/alerts-v2.go index 48fe68451c0..8379b126d5f 100644 --- a/cmd/workspace/alerts-v2/alerts-v2.go +++ b/cmd/workspace/alerts-v2/alerts-v2.go @@ -404,7 +404,7 @@ func newUpdateAlert() *cobra.Command { Update alert Arguments: - ID: UUID identifying the alert. + ID: The canonical identifier of the alert to retrieve information about. UPDATE_MASK: 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). diff --git a/cmd/workspace/apps/apps.go b/cmd/workspace/apps/apps.go index 7d17583663c..173574b8e69 100644 --- a/cmd/workspace/apps/apps.go +++ b/cmd/workspace/apps/apps.go @@ -226,6 +226,7 @@ func newCreateSpace() *cobra.Command { cmd.Flags().Var(&createSpaceJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().StringVar(&createSpaceReq.Space.AssumeGroupId, "assume-group-id", createSpaceReq.Space.AssumeGroupId, `The group whose permissions users assume via Role Authorization for apps in this space.`) cmd.Flags().StringVar(&createSpaceReq.Space.Description, "description", createSpaceReq.Space.Description, `The description of the app space.`) // TODO: array: effective_user_api_scopes // TODO: array: resources @@ -1951,6 +1952,7 @@ func newUpdateSpace() *cobra.Command { cmd.Flags().Var(&updateSpaceJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().StringVar(&updateSpaceReq.Space.AssumeGroupId, "assume-group-id", updateSpaceReq.Space.AssumeGroupId, `The group whose permissions users assume via Role Authorization for apps in this space.`) cmd.Flags().StringVar(&updateSpaceReq.Space.Description, "description", updateSpaceReq.Space.Description, `The description of the app space.`) // TODO: array: effective_user_api_scopes // TODO: array: resources diff --git a/cmd/workspace/bundle-deployments/bundle-deployments.go b/cmd/workspace/bundle-deployments/bundle-deployments.go index 5af8fbfdd35..e93a69099e6 100644 --- a/cmd/workspace/bundle-deployments/bundle-deployments.go +++ b/cmd/workspace/bundle-deployments/bundle-deployments.go @@ -48,6 +48,7 @@ func New() *cobra.Command { cmd.AddCommand(newListOperations()) cmd.AddCommand(newListResources()) cmd.AddCommand(newListVersions()) + cmd.AddCommand(newUpdateDeployment()) cmd.AddCommand(newUpdateOperation()) // Apply optional overrides to this command. @@ -176,8 +177,11 @@ func newCreateDeployment() *cobra.Command { cmd.Flags().Var(&createDeploymentJson, "json", `either inline JSON string or @path/to/file.json with request body`) + cmd.Flags().Var(&createDeploymentReq.Deployment.DeploymentMode, "deployment-mode", `Bundle target deployment mode (development or production). Supported values: [DEPLOYMENT_MODE_DEVELOPMENT, DEPLOYMENT_MODE_PRODUCTION]`) + cmd.Flags().StringVar(&createDeploymentReq.Deployment.DisplayName, "display-name", createDeploymentReq.Deployment.DisplayName, `Human-readable name for the deployment, up to 256 characters.`) // TODO: complex arg: git_info cmd.Flags().StringVar(&createDeploymentReq.Deployment.InitialParentPath, "initial-parent-path", createDeploymentReq.Deployment.InitialParentPath, `The workspace path of the existing folder where the deployment is initially created.`) + cmd.Flags().StringVar(&createDeploymentReq.Deployment.TargetName, "target-name", createDeploymentReq.Deployment.TargetName, `The bundle target name associated with this deployment.`) // TODO: complex arg: workspace_info cmd.Use = "create-deployment" @@ -254,6 +258,7 @@ func newCreateVersion() *cobra.Command { cmd.Flags().Var(&createVersionReq.Version.DeploymentMode, "deployment-mode", `Bundle target deployment mode (development or production), captured at the time of this version. Supported values: [DEPLOYMENT_MODE_DEVELOPMENT, DEPLOYMENT_MODE_PRODUCTION]`) cmd.Flags().StringVar(&createVersionReq.Version.DisplayName, "display-name", createVersionReq.Version.DisplayName, `Display name for the deployment, captured at the time of this version.`) // TODO: complex arg: git_info + // TODO: array: operations cmd.Flags().StringVar(&createVersionReq.Version.PreviousVersionId, "previous-version-id", createVersionReq.Version.PreviousVersionId, `The version_id this version was created on top of — the deployment's most recent version at creation time.`) cmd.Flags().StringVar(&createVersionReq.Version.TargetName, "target-name", createVersionReq.Version.TargetName, `Target name of the deployment, captured at the time of this version.`) // TODO: complex arg: workspace_info @@ -1018,6 +1023,83 @@ func newListVersions() *cobra.Command { return cmd } +// start update-deployment 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 updateDeploymentOverrides []func( + *cobra.Command, + *bundledeployments.UpdateDeploymentRequest, +) + +func newUpdateDeployment() *cobra.Command { + cmd := &cobra.Command{} + + var updateDeploymentReq bundledeployments.UpdateDeploymentRequest + updateDeploymentReq.Deployment = bundledeployments.Deployment{} + var updateDeploymentJson flags.JsonFlag + + cmd.Flags().Var(&updateDeploymentJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Use = "update-deployment NAME" + cmd.Short = `Update a deployment.` + cmd.Long = `Update a deployment. + + Updates a deployment. + + Arguments: + NAME: Resource name of the deployment. Format: deployments/{deployment_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 { + 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 := updateDeploymentJson.Unmarshal(&updateDeploymentReq.Deployment) + 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") + } + updateDeploymentReq.Name = args[0] + + response, err := w.BundleDeployments.UpdateDeployment(ctx, updateDeploymentReq) + 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 updateDeploymentOverrides { + fn(cmd, &updateDeploymentReq) + } + + return cmd +} + // start update-operation command // Slice with functions to override default command behavior. diff --git a/cmd/workspace/feature-engineering/feature-engineering.go b/cmd/workspace/feature-engineering/feature-engineering.go index 4dca56a0c8c..3602959289b 100644 --- a/cmd/workspace/feature-engineering/feature-engineering.go +++ b/cmd/workspace/feature-engineering/feature-engineering.go @@ -86,10 +86,7 @@ func newCreateFeature() *cobra.Command { cmd.Flags().StringVar(&createFeatureReq.Feature.Description, "description", createFeatureReq.Feature.Description, `The description of the feature.`) // TODO: array: entities - cmd.Flags().StringVar(&createFeatureReq.Feature.FilterCondition, "filter-condition", createFeatureReq.Feature.FilterCondition, `Deprecated: Use DeltaTableSource.filter_condition or KafkaSource.filter_condition instead.`) - // TODO: array: inputs // TODO: complex arg: lineage_context - // TODO: complex arg: time_window // TODO: complex arg: timeseries_column cmd.Use = "create-feature FULL_NAME SOURCE FUNCTION" @@ -308,7 +305,6 @@ func newCreateMaterializedFeature() *cobra.Command { cmd.Flags().Var(&createMaterializedFeatureJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Flags().StringVar(&createMaterializedFeatureReq.MaterializedFeature.CronSchedule, "cron-schedule", createMaterializedFeatureReq.MaterializedFeature.CronSchedule, `The quartz cron expression that defines the schedule of the materialization pipeline.`) // TODO: complex arg: cron_schedule_trigger cmd.Flags().StringVar(&createMaterializedFeatureReq.MaterializedFeature.MaterializedFeatureId, "materialized-feature-id", createMaterializedFeatureReq.MaterializedFeature.MaterializedFeatureId, `Server-assigned unique identifier for the materialized feature.`) // TODO: complex arg: offline_store_config @@ -1279,10 +1275,7 @@ func newUpdateFeature() *cobra.Command { cmd.Flags().StringVar(&updateFeatureReq.Feature.Description, "description", updateFeatureReq.Feature.Description, `The description of the feature.`) // TODO: array: entities - cmd.Flags().StringVar(&updateFeatureReq.Feature.FilterCondition, "filter-condition", updateFeatureReq.Feature.FilterCondition, `Deprecated: Use DeltaTableSource.filter_condition or KafkaSource.filter_condition instead.`) - // TODO: array: inputs // TODO: complex arg: lineage_context - // TODO: complex arg: time_window // TODO: complex arg: timeseries_column cmd.Use = "update-feature FULL_NAME UPDATE_MASK SOURCE FUNCTION" @@ -1504,7 +1497,6 @@ func newUpdateMaterializedFeature() *cobra.Command { cmd.Flags().Var(&updateMaterializedFeatureJson, "json", `either inline JSON string or @path/to/file.json with request body`) - cmd.Flags().StringVar(&updateMaterializedFeatureReq.MaterializedFeature.CronSchedule, "cron-schedule", updateMaterializedFeatureReq.MaterializedFeature.CronSchedule, `The quartz cron expression that defines the schedule of the materialization pipeline.`) // TODO: complex arg: cron_schedule_trigger cmd.Flags().StringVar(&updateMaterializedFeatureReq.MaterializedFeature.MaterializedFeatureId, "materialized-feature-id", updateMaterializedFeatureReq.MaterializedFeature.MaterializedFeatureId, `Server-assigned unique identifier for the materialized feature.`) // TODO: complex arg: offline_store_config diff --git a/cmd/workspace/genie/genie.go b/cmd/workspace/genie/genie.go index f2af834a048..292814fcf66 100644 --- a/cmd/workspace/genie/genie.go +++ b/cmd/workspace/genie/genie.go @@ -46,6 +46,7 @@ func New() *cobra.Command { cmd.AddCommand(newExecuteMessageAttachmentQuery()) cmd.AddCommand(newExecuteMessageQuery()) cmd.AddCommand(newGenerateDownloadFullQueryResult()) + cmd.AddCommand(newGenieCancelResponse()) cmd.AddCommand(newGenieCreateEvalRun()) cmd.AddCommand(newGenieGetEvalResultDetails()) cmd.AddCommand(newGenieGetEvalRun()) @@ -507,10 +508,8 @@ func newDownloadMessageAttachmentVisualization() *cobra.Command { var downloadMessageAttachmentVisualizationReq dashboards.DownloadMessageAttachmentVisualizationRequest cmd.Use = "download-message-attachment-visualization NAME" - cmd.Short = `*Beta* Download message attachment visualization.` - cmd.Long = `This command is in Beta and may change without notice. - -Download message attachment visualization. + cmd.Short = `Download message attachment visualization.` + cmd.Long = `Download message attachment visualization. Download a rendered image of a message visualization attachment. The response body is the raw PNG image, not a JSON payload. This is only available if the @@ -522,8 +521,8 @@ Download message attachment visualization. spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_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) @@ -778,6 +777,72 @@ func newGenerateDownloadFullQueryResult() *cobra.Command { return cmd } +// start genie-cancel-response 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 genieCancelResponseOverrides []func( + *cobra.Command, + *dashboards.GenieCancelResponseRequest, +) + +func newGenieCancelResponse() *cobra.Command { + cmd := &cobra.Command{} + + var genieCancelResponseReq dashboards.GenieCancelResponseRequest + + cmd.Use = "genie-cancel-response AGENT_ID CONVERSATION_ID RESPONSE_ID" + cmd.Short = `Cancel Genie agent response.` + cmd.Long = `Cancel Genie agent response. + + Cancels an in-flight agent-mode response. response_id is the id returned in + the response.created event from the agent-mode responses endpoint. The + response stops at the next agent boundary and its terminal state is returned. + + Arguments: + AGENT_ID: The ID of the Genie agent (synonymous with the Genie space ID). + CONVERSATION_ID: The ID of the conversation containing the response. + RESPONSE_ID: The ID of the response to cancel (the id from the response.created + event).` + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "GA" + cmd.Annotations["launch_stage_display"] = "GA" + + cmd.Args = func(cmd *cobra.Command, args []string) error { + 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) + + genieCancelResponseReq.AgentId = args[0] + genieCancelResponseReq.ConversationId = args[1] + genieCancelResponseReq.ResponseId = args[2] + + response, err := w.Genie.GenieCancelResponse(ctx, genieCancelResponseReq) + 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 genieCancelResponseOverrides { + fn(cmd, &genieCancelResponseReq) + } + + return cmd +} + // start genie-create-eval-run command // Slice with functions to override default command behavior. diff --git a/cmd/workspace/groups.go b/cmd/workspace/groups.go index 35e1bdd36c2..63c5f272a2e 100644 --- a/cmd/workspace/groups.go +++ b/cmd/workspace/groups.go @@ -62,7 +62,7 @@ func Groups() []cobra.Group { }, { ID: "sharing", - Title: "Delta Sharing", + Title: "Open Sharing", }, { ID: "settings", diff --git a/cmd/workspace/lakeview-embedded/lakeview-embedded.go b/cmd/workspace/lakeview-embedded/lakeview-embedded.go index 8c0d82339d7..d8edd269f9a 100644 --- a/cmd/workspace/lakeview-embedded/lakeview-embedded.go +++ b/cmd/workspace/lakeview-embedded/lakeview-embedded.go @@ -64,6 +64,9 @@ Read information of a published dashboard to mint an OAuth token. Get a required authorization details and scopes of a published dashboard to mint an OAuth token. + Requires one of the following entitlements: Workspace access, Databricks SQL + access, or Consumer access. + Arguments: DASHBOARD_ID: UUID identifying the published dashboard.` diff --git a/cmd/workspace/lakeview/lakeview.go b/cmd/workspace/lakeview/lakeview.go index 4b9949392d6..9804a18b72a 100644 --- a/cmd/workspace/lakeview/lakeview.go +++ b/cmd/workspace/lakeview/lakeview.go @@ -90,7 +90,9 @@ func newCreate() *cobra.Command { cmd.Short = `Create dashboard.` cmd.Long = `Create dashboard. - Create a draft dashboard.` + Create a draft dashboard. + + Requires the Databricks SQL access entitlement.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -467,6 +469,8 @@ func newGet() *cobra.Command { Get a draft dashboard. + Requires the Databricks SQL access entitlement. + Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -526,6 +530,9 @@ func newGetPublished() *cobra.Command { Get the current published dashboard. + Requires one of the following entitlements: Workspace access, Databricks SQL + access, or Consumer access. + Arguments: DASHBOARD_ID: UUID identifying the published dashboard.` @@ -716,7 +723,11 @@ func newList() *cobra.Command { cmd.Use = "list" cmd.Short = `List dashboards.` - cmd.Long = `List dashboards.` + cmd.Long = `List dashboards. + + List dashboards. + + Requires the Databricks SQL access entitlement.` cmd.Annotations = make(map[string]string) cmd.Annotations["launch_stage"] = "GA" @@ -1016,6 +1027,8 @@ func newPublish() *cobra.Command { Publish the current draft dashboard. + Requires the Databricks SQL access entitlement. + Arguments: DASHBOARD_ID: UUID identifying the dashboard to be published.` @@ -1090,6 +1103,8 @@ func newRevert() *cobra.Command { Revert a dashboard's definition in draft mode to the last published version. + Requires the Databricks SQL access entitlement. + Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -1161,6 +1176,8 @@ func newTrash() *cobra.Command { Trash a dashboard. + Requires the Databricks SQL access entitlement. + Arguments: DASHBOARD_ID: UUID identifying the dashboard.` @@ -1219,6 +1236,8 @@ func newUnpublish() *cobra.Command { Unpublish the dashboard. + Requires the Databricks SQL access entitlement. + Arguments: DASHBOARD_ID: UUID identifying the published dashboard.` @@ -1287,6 +1306,8 @@ func newUpdate() *cobra.Command { Update a draft dashboard. + Requires the Databricks SQL access entitlement. + Arguments: DASHBOARD_ID: UUID identifying the dashboard.` diff --git a/cmd/workspace/policies/policies.go b/cmd/workspace/policies/policies.go index 7c3e903a20c..1c77caf96dc 100644 --- a/cmd/workspace/policies/policies.go +++ b/cmd/workspace/policies/policies.go @@ -86,7 +86,11 @@ func newCreatePolicy() *cobra.Command { EXTERNAL_LOCATION, EXTERNAL_METADATA, FUNCTION, + MCP_SERVICE, METASTORE, + MODEL, + MODEL_PROVIDER_SERVICE, + MODEL_SERVICE, PIPELINE, PROVIDER, RECIPIENT, @@ -120,7 +124,11 @@ func newCreatePolicy() *cobra.Command { EXTERNAL_LOCATION, EXTERNAL_METADATA, FUNCTION, + MCP_SERVICE, METASTORE, + MODEL, + MODEL_PROVIDER_SERVICE, + MODEL_SERVICE, PIPELINE, PROVIDER, RECIPIENT, @@ -454,7 +462,11 @@ func newUpdatePolicy() *cobra.Command { EXTERNAL_LOCATION, EXTERNAL_METADATA, FUNCTION, + MCP_SERVICE, METASTORE, + MODEL, + MODEL_PROVIDER_SERVICE, + MODEL_SERVICE, PIPELINE, PROVIDER, RECIPIENT, @@ -491,7 +503,11 @@ func newUpdatePolicy() *cobra.Command { EXTERNAL_LOCATION, EXTERNAL_METADATA, FUNCTION, + MCP_SERVICE, METASTORE, + MODEL, + MODEL_PROVIDER_SERVICE, + MODEL_SERVICE, PIPELINE, PROVIDER, RECIPIENT, diff --git a/cmd/workspace/postgres/postgres.go b/cmd/workspace/postgres/postgres.go index 7d3ae59f375..92a30ceae6d 100644 --- a/cmd/workspace/postgres/postgres.go +++ b/cmd/workspace/postgres/postgres.go @@ -58,6 +58,7 @@ func New() *cobra.Command { cmd.AddCommand(newCreateEndpoint()) cmd.AddCommand(newCreateProject()) cmd.AddCommand(newCreateRole()) + cmd.AddCommand(newCreateSnapshot()) cmd.AddCommand(newCreateSyncedTable()) cmd.AddCommand(newDeleteBranch()) cmd.AddCommand(newDeleteCatalog()) @@ -67,6 +68,7 @@ func New() *cobra.Command { cmd.AddCommand(newDeleteEndpoint()) cmd.AddCommand(newDeleteProject()) cmd.AddCommand(newDeleteRole()) + cmd.AddCommand(newDeleteSnapshot()) cmd.AddCommand(newDeleteSyncedTable()) cmd.AddCommand(newGenerateDatabaseCredential()) cmd.AddCommand(newGetBranch()) @@ -79,6 +81,8 @@ func New() *cobra.Command { cmd.AddCommand(newGetOperation()) cmd.AddCommand(newGetProject()) cmd.AddCommand(newGetRole()) + cmd.AddCommand(newGetSnapshot()) + cmd.AddCommand(newGetSnapshotSchedule()) cmd.AddCommand(newGetSyncedTable()) cmd.AddCommand(newListBranches()) cmd.AddCommand(newListCdfConfigs()) @@ -87,6 +91,7 @@ func New() *cobra.Command { cmd.AddCommand(newListEndpoints()) cmd.AddCommand(newListProjects()) cmd.AddCommand(newListRoles()) + cmd.AddCommand(newListSnapshots()) cmd.AddCommand(newUndeleteBranch()) cmd.AddCommand(newUndeleteProject()) cmd.AddCommand(newUpdateBranch()) @@ -95,6 +100,7 @@ func New() *cobra.Command { cmd.AddCommand(newUpdateEndpoint()) cmd.AddCommand(newUpdateProject()) cmd.AddCommand(newUpdateRole()) + cmd.AddCommand(newUpdateSnapshotSchedule()) // Apply optional overrides to this command. for _, fn := range cmdOverrides { @@ -1125,6 +1131,133 @@ func newCreateRole() *cobra.Command { return cmd } +// start create-snapshot 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 createSnapshotOverrides []func( + *cobra.Command, + *postgres.CreateSnapshotRequest, +) + +func newCreateSnapshot() *cobra.Command { + cmd := &cobra.Command{} + + var createSnapshotReq postgres.CreateSnapshotRequest + createSnapshotReq.Snapshot = postgres.Snapshot{} + var createSnapshotJson flags.JsonFlag + + var createSnapshotSkipWait bool + var createSnapshotTimeout time.Duration + + cmd.Flags().BoolVar(&createSnapshotSkipWait, "no-wait", createSnapshotSkipWait, `do not wait to reach DONE state`) + cmd.Flags().DurationVar(&createSnapshotTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) + + cmd.Flags().Var(&createSnapshotJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Flags().StringVar(&createSnapshotReq.Snapshot.Name, "name", createSnapshotReq.Snapshot.Name, `The resource name of the snapshot.`) + // TODO: complex arg: spec + // TODO: complex arg: status + + cmd.Use = "create-snapshot PARENT SNAPSHOT_ID" + cmd.Short = `Create a Snapshot.` + cmd.Long = `Create a Snapshot. + + Creates a snapshot, an immutable point-in-time copy of a branch's data, within + the project. + + 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 + operation details. The operation's 'name' field can then be used to poll for + completion using the get-operation command. + + Arguments: + PARENT: The project in which to create the snapshot. Format: projects/{project_id} + SNAPSHOT_ID: Client-chosen ID for the snapshot. It becomes the final segment of the + snapshot resource name and cannot be changed after creation.` + + // This command is being previewed; hide from help output. + cmd.Hidden = true + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" + + cmd.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 := createSnapshotJson.Unmarshal(&createSnapshotReq.Snapshot) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + createSnapshotReq.Parent = args[0] + createSnapshotReq.SnapshotId = args[1] + + // Determine which mode to execute based on flags. + switch { + case createSnapshotSkipWait: + wait, err := w.Postgres.CreateSnapshot(ctx, createSnapshotReq) + if err != nil { + return err + } + + // Return operation immediately without waiting. + operation, err := w.Postgres.GetOperation(ctx, postgres.GetOperationRequest{ + Name: wait.Name(), + }) + if err != nil { + return err + } + return cmdio.Render(ctx, operation) + + default: + wait, err := w.Postgres.CreateSnapshot(ctx, createSnapshotReq) + if err != nil { + return err + } + + // Show spinner while waiting for completion. + sp := cmdio.NewSpinner(ctx) + sp.Update("Waiting for create-snapshot to complete...") + + // Wait for completion. + opts := api.WithTimeout(createSnapshotTimeout) + response, err := wait.Wait(ctx, opts) + if err != nil { + return err + } + sp.Close() + 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 createSnapshotOverrides { + fn(cmd, &createSnapshotReq) + } + + return cmd +} + // start create-synced-table command // Slice with functions to override default command behavior. @@ -2082,6 +2215,111 @@ func newDeleteRole() *cobra.Command { return cmd } +// start delete-snapshot 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 deleteSnapshotOverrides []func( + *cobra.Command, + *postgres.DeleteSnapshotRequest, +) + +func newDeleteSnapshot() *cobra.Command { + cmd := &cobra.Command{} + + var deleteSnapshotReq postgres.DeleteSnapshotRequest + + var deleteSnapshotSkipWait bool + var deleteSnapshotTimeout time.Duration + + cmd.Flags().BoolVar(&deleteSnapshotSkipWait, "no-wait", deleteSnapshotSkipWait, `do not wait to reach DONE state`) + cmd.Flags().DurationVar(&deleteSnapshotTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) + + cmd.Use = "delete-snapshot NAME" + cmd.Short = `Delete a Snapshot.` + cmd.Long = `Delete a Snapshot. + + Deletes the specified snapshot. + + 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 + operation details. The operation's 'name' field can then be used to poll for + completion using the get-operation command. + + Arguments: + NAME: The resource name of the snapshot to delete. Format: + projects/{project_id}/snapshots/{snapshot_id}` + + // This command is being previewed; hide from help output. + cmd.Hidden = true + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" + + cmd.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) + + deleteSnapshotReq.Name = args[0] + + // Determine which mode to execute based on flags. + switch { + case deleteSnapshotSkipWait: + wait, err := w.Postgres.DeleteSnapshot(ctx, deleteSnapshotReq) + if err != nil { + return err + } + + // Return operation immediately without waiting. + operation, err := w.Postgres.GetOperation(ctx, postgres.GetOperationRequest{ + Name: wait.Name(), + }) + if err != nil { + return err + } + return cmdio.Render(ctx, operation) + + default: + wait, err := w.Postgres.DeleteSnapshot(ctx, deleteSnapshotReq) + if err != nil { + return err + } + + // Show spinner while waiting for completion. + sp := cmdio.NewSpinner(ctx) + sp.Update("Waiting for delete-snapshot to complete...") + + // Wait for completion. + opts := api.WithTimeout(deleteSnapshotTimeout) + + err = wait.Wait(ctx, opts) + if err != nil { + return err + } + sp.Close() + 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 deleteSnapshotOverrides { + fn(cmd, &deleteSnapshotReq) + } + + return cmd +} + // start delete-synced-table command // Slice with functions to override default command behavior. @@ -2901,6 +3139,133 @@ func newGetRole() *cobra.Command { return cmd } +// start get-snapshot 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 getSnapshotOverrides []func( + *cobra.Command, + *postgres.GetSnapshotRequest, +) + +func newGetSnapshot() *cobra.Command { + cmd := &cobra.Command{} + + var getSnapshotReq postgres.GetSnapshotRequest + + cmd.Use = "get-snapshot NAME" + cmd.Short = `Get a Snapshot.` + cmd.Long = `Get a Snapshot. + + Retrieves information about the specified snapshot. + + Arguments: + NAME: The resource name of the snapshot to retrieve. Format: + projects/{project_id}/snapshots/{snapshot_id}` + + // This command is being previewed; hide from help output. + cmd.Hidden = true + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" + + cmd.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) + + getSnapshotReq.Name = args[0] + + response, err := w.Postgres.GetSnapshot(ctx, getSnapshotReq) + 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 getSnapshotOverrides { + fn(cmd, &getSnapshotReq) + } + + return cmd +} + +// start get-snapshot-schedule 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 getSnapshotScheduleOverrides []func( + *cobra.Command, + *postgres.GetSnapshotScheduleRequest, +) + +func newGetSnapshotSchedule() *cobra.Command { + cmd := &cobra.Command{} + + var getSnapshotScheduleReq postgres.GetSnapshotScheduleRequest + + cmd.Use = "get-snapshot-schedule NAME" + cmd.Short = `Get a Snapshot Schedule.` + cmd.Long = `Get a Snapshot Schedule. + + Retrieves the snapshot schedule for a branch. A branch with no configured + schedule returns an empty schedule (not NOT_FOUND). + + Arguments: + NAME: The resource name of the branch's snapshot schedule. Format: + projects/{project_id}/branches/{branch_id}/snapshot-schedule` + + // 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) + + getSnapshotScheduleReq.Name = args[0] + + response, err := w.Postgres.GetSnapshotSchedule(ctx, getSnapshotScheduleReq) + 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 getSnapshotScheduleOverrides { + fn(cmd, &getSnapshotScheduleReq) + } + + return cmd +} + // start get-synced-table command // Slice with functions to override default command behavior. @@ -3499,6 +3864,84 @@ func newListRoles() *cobra.Command { return cmd } +// start list-snapshots 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 listSnapshotsOverrides []func( + *cobra.Command, + *postgres.ListSnapshotsRequest, +) + +func newListSnapshots() *cobra.Command { + cmd := &cobra.Command{} + + var listSnapshotsReq postgres.ListSnapshotsRequest + // 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 listSnapshotsLimit int + + cmd.Flags().IntVar(&listSnapshotsReq.PageSize, "page-size", listSnapshotsReq.PageSize, `Maximum number of snapshots to return per page.`) + + // Limit flag for total result capping. + cmd.Flags().IntVar(&listSnapshotsLimit, "limit", 0, `Maximum number of results to return.`) + + // Hidden pagination flags (internal API parameters). + cmd.Flags().StringVar(&listSnapshotsReq.PageToken, "page-token", listSnapshotsReq.PageToken, `Pagination token.`) + cmd.Flags().Lookup("page-token").Hidden = true + + cmd.Use = "list-snapshots PARENT" + cmd.Short = `List Snapshots.` + cmd.Long = `List Snapshots. + + Returns a paginated list of snapshots in the project. + + Arguments: + PARENT: The project that owns the snapshots. Format: projects/{project_id}` + + // This command is being previewed; hide from help output. + cmd.Hidden = true + + cmd.Annotations = make(map[string]string) + cmd.Annotations["launch_stage"] = "PRIVATE_PREVIEW" + cmd.Annotations["launch_stage_display"] = "Private Preview" + + cmd.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) + + listSnapshotsReq.Parent = args[0] + + response := w.Postgres.ListSnapshots(ctx, listSnapshotsReq) + if listSnapshotsLimit < 0 { + return fmt.Errorf("--limit must be a non-negative integer, got %d", listSnapshotsLimit) + } + if listSnapshotsLimit > 0 { + ctx = cmdio.WithLimit(ctx, listSnapshotsLimit) + } + + 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 listSnapshotsOverrides { + fn(cmd, &listSnapshotsReq) + } + + return cmd +} + // start undelete-branch command // Slice with functions to override default command behavior. @@ -4469,4 +4912,134 @@ func newUpdateRole() *cobra.Command { return cmd } +// start update-snapshot-schedule 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 updateSnapshotScheduleOverrides []func( + *cobra.Command, + *postgres.UpdateSnapshotScheduleRequest, +) + +func newUpdateSnapshotSchedule() *cobra.Command { + cmd := &cobra.Command{} + + var updateSnapshotScheduleReq postgres.UpdateSnapshotScheduleRequest + updateSnapshotScheduleReq.SnapshotSchedule = postgres.SnapshotSchedule{} + var updateSnapshotScheduleJson flags.JsonFlag + + var updateSnapshotScheduleSkipWait bool + var updateSnapshotScheduleTimeout time.Duration + + cmd.Flags().BoolVar(&updateSnapshotScheduleSkipWait, "no-wait", updateSnapshotScheduleSkipWait, `do not wait to reach DONE state`) + cmd.Flags().DurationVar(&updateSnapshotScheduleTimeout, "timeout", 0, `maximum amount of time to reach DONE state`) + + cmd.Flags().Var(&updateSnapshotScheduleJson, "json", `either inline JSON string or @path/to/file.json with request body`) + + cmd.Flags().StringVar(&updateSnapshotScheduleReq.SnapshotSchedule.Name, "name", updateSnapshotScheduleReq.SnapshotSchedule.Name, `The resource name of the branch's snapshot schedule.`) + // TODO: array: schedule + + cmd.Use = "update-snapshot-schedule NAME UPDATE_MASK" + cmd.Short = `Update a Snapshot Schedule.` + cmd.Long = `Update a Snapshot Schedule. + + Sets the snapshot schedule for a branch. The schedule field is replaced + wholesale; an empty schedule disables automatic snapshots. + + 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 + operation details. The operation's 'name' field can then be used to poll for + completion using the get-operation command. + + Arguments: + NAME: The resource name of the branch's snapshot schedule. Format: + projects/{project_id}/branches/{branch_id}/snapshot-schedule + UPDATE_MASK: Fields to update. The only updatable path is schedule, which replaces + the entire set of cadences.` + + // 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 := updateSnapshotScheduleJson.Unmarshal(&updateSnapshotScheduleReq.SnapshotSchedule) + if diags.HasError() { + return diags.Error() + } + if len(diags) > 0 { + err := cmdio.RenderDiagnostics(ctx, diags) + if err != nil { + return err + } + } + } + updateSnapshotScheduleReq.Name = args[0] + if args[1] != "" { + updateMaskArray := strings.Split(args[1], ",") + updateSnapshotScheduleReq.UpdateMask = *fieldmask.New(updateMaskArray) + } + + // Determine which mode to execute based on flags. + switch { + case updateSnapshotScheduleSkipWait: + wait, err := w.Postgres.UpdateSnapshotSchedule(ctx, updateSnapshotScheduleReq) + if err != nil { + return err + } + + // Return operation immediately without waiting. + operation, err := w.Postgres.GetOperation(ctx, postgres.GetOperationRequest{ + Name: wait.Name(), + }) + if err != nil { + return err + } + return cmdio.Render(ctx, operation) + + default: + wait, err := w.Postgres.UpdateSnapshotSchedule(ctx, updateSnapshotScheduleReq) + if err != nil { + return err + } + + // Show spinner while waiting for completion. + sp := cmdio.NewSpinner(ctx) + sp.Update("Waiting for update-snapshot-schedule to complete...") + + // Wait for completion. + opts := api.WithTimeout(updateSnapshotScheduleTimeout) + response, err := wait.Wait(ctx, opts) + if err != nil { + return err + } + sp.Close() + 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 updateSnapshotScheduleOverrides { + fn(cmd, &updateSnapshotScheduleReq) + } + + return cmd +} + // end service Postgres diff --git a/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go b/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go index 992a27e35d7..9139ea51e8a 100644 --- a/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go +++ b/cmd/workspace/workspace-iam-v2/workspace-iam-v2.go @@ -50,6 +50,9 @@ These APIs are used to manage identities and the workspace access of these cmd.AddCommand(newDeleteWorkspaceAssignmentDetailProxy()) cmd.AddCommand(newDeleteWorkspaceAssignmentProxy()) cmd.AddCommand(newGetDirectGroupMemberProxy()) + cmd.AddCommand(newGetExternalGroupProxy()) + cmd.AddCommand(newGetExternalServicePrincipalProxy()) + cmd.AddCommand(newGetExternalUserProxy()) cmd.AddCommand(newGetGroupProxy()) cmd.AddCommand(newGetServicePrincipalProxy()) cmd.AddCommand(newGetUserProxy()) @@ -101,8 +104,10 @@ func newCreateDirectGroupMemberProxy() *cobra.Command { cmd.Flags().Var(&createDirectGroupMemberProxyJson, "json", `either inline JSON string or @path/to/file.json with request body`) 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. + cmd.Short = `*Beta* Create a direct group membership.` + cmd.Long = `This command is in Beta and may change without notice. + +Create a direct group membership. Creates a group membership (assigns a principal to a group). @@ -110,12 +115,9 @@ func newCreateDirectGroupMemberProxy() *cobra.Command { 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 - 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 { if cmd.Flags().Changed("json") { @@ -201,8 +203,10 @@ func newCreateGroupProxy() *cobra.Command { cmd.Flags().StringVar(&createGroupProxyReq.Group.GroupName, "group-name", createGroupProxyReq.Group.GroupName, `Display name of the group.`) cmd.Use = "create-group-proxy" - cmd.Short = `Create a group in the account.` - cmd.Long = `Create a group in the account. + cmd.Short = `*Beta* Create a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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 @@ -214,12 +218,9 @@ func newCreateGroupProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -285,8 +286,10 @@ func newCreateServicePrincipalProxy() *cobra.Command { cmd.Flags().StringVar(&createServicePrincipalProxyReq.ServicePrincipal.ExternalId, "external-id", createServicePrincipalProxyReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) 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. + cmd.Short = `*Beta* Create a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Create a service principal in the account. Creates a local service principal in the Databricks account that parents the calling workspace and returns the created service principal. A local service @@ -303,12 +306,9 @@ func newCreateServicePrincipalProxy() *cobra.Command { 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"] = "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 { if cmd.Flags().Changed("json") { @@ -391,8 +391,10 @@ func newCreateUserProxy() *cobra.Command { 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. + cmd.Short = `*Beta* Create a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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 @@ -410,12 +412,9 @@ func newCreateUserProxy() *cobra.Command { 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.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") { @@ -510,10 +509,7 @@ func newCreateWorkspaceAssignmentDetailProxy() *cobra.Command { 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. + workspace. Arguments: PRINCIPAL_ID: The internal ID of the principal (user/sp/group) in Databricks.` @@ -604,8 +600,10 @@ func newCreateWorkspaceAssignmentProxy() *cobra.Command { // 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. + cmd.Short = `*Beta* Create a workspace assignment for a workspace.` + cmd.Long = `This command is in Beta and may change without notice. + +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 @@ -616,12 +614,9 @@ func newCreateWorkspaceAssignmentProxy() *cobra.Command { 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.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") { @@ -695,8 +690,10 @@ func newDeleteDirectGroupMemberProxy() *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. + cmd.Short = `*Beta* Delete a direct group membership.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete a direct group membership. Deletes a group membership (unassigns a principal from a group). @@ -704,12 +701,9 @@ func newDeleteDirectGroupMemberProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -765,8 +759,10 @@ func newDeleteGroupProxy() *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. + cmd.Short = `*Beta* Delete a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete a group in the account. Deletes a group by its internal ID from the Databricks account that parents the calling workspace. @@ -774,12 +770,9 @@ func newDeleteGroupProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -827,8 +820,10 @@ func newDeleteServicePrincipalProxy() *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. + cmd.Short = `*Beta* Delete a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete a service principal in the account. Deletes a service principal by its internal ID from the Databricks account that parents the calling workspace. @@ -836,12 +831,9 @@ func newDeleteServicePrincipalProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -889,8 +881,10 @@ func newDeleteUserProxy() *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. + cmd.Short = `*Beta* Delete a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Delete a user in the account. Deletes a user by its internal ID from the Databricks account that parents the calling workspace. @@ -898,12 +892,9 @@ func newDeleteUserProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1020,8 +1011,10 @@ func newDeleteWorkspaceAssignmentProxy() *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. + cmd.Short = `*Beta* Delete a workspace assignment for a workspace.` + cmd.Long = `This command is in Beta and may change without notice. + +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 @@ -1032,12 +1025,9 @@ func newDeleteWorkspaceAssignmentProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1088,8 +1078,10 @@ func newGetDirectGroupMemberProxy() *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. + cmd.Short = `*Beta* Get a direct group member.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a direct group member. Gets a provisioned direct member of a group. @@ -1098,12 +1090,9 @@ func newGetDirectGroupMemberProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -1145,6 +1134,202 @@ func newGetDirectGroupMemberProxy() *cobra.Command { return cmd } +// start get-external-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 getExternalGroupProxyOverrides []func( + *cobra.Command, + *iamv2.GetExternalGroupProxyRequest, +) + +func newGetExternalGroupProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getExternalGroupProxyReq iamv2.GetExternalGroupProxyRequest + + cmd.Use = "get-external-group-proxy NAME" + cmd.Short = `*Beta* Get an external group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get an external group in the account. + + Retrieves an external 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. Workspace-scoped variant for workspace-authenticated callers. + + Arguments: + NAME: Required. The resource name of the external group. Format: + external-groups/{external_group_id}` + + 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) + + getExternalGroupProxyReq.Name = args[0] + + response, err := w.WorkspaceIamV2.GetExternalGroupProxy(ctx, getExternalGroupProxyReq) + 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 getExternalGroupProxyOverrides { + fn(cmd, &getExternalGroupProxyReq) + } + + return cmd +} + +// start get-external-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 getExternalServicePrincipalProxyOverrides []func( + *cobra.Command, + *iamv2.GetExternalServicePrincipalProxyRequest, +) + +func newGetExternalServicePrincipalProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getExternalServicePrincipalProxyReq iamv2.GetExternalServicePrincipalProxyRequest + + cmd.Use = "get-external-service-principal-proxy NAME" + cmd.Short = `*Beta* Get an external service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get an external service principal in the account. + + Retrieves an external 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. Workspace-scoped variant for + workspace-authenticated callers. + + Arguments: + NAME: Required. The resource name of the external service principal. Format: + external-service-principals/{external_service_principal_id}` + + 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) + + getExternalServicePrincipalProxyReq.Name = args[0] + + response, err := w.WorkspaceIamV2.GetExternalServicePrincipalProxy(ctx, getExternalServicePrincipalProxyReq) + 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 getExternalServicePrincipalProxyOverrides { + fn(cmd, &getExternalServicePrincipalProxyReq) + } + + return cmd +} + +// start get-external-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 getExternalUserProxyOverrides []func( + *cobra.Command, + *iamv2.GetExternalUserProxyRequest, +) + +func newGetExternalUserProxy() *cobra.Command { + cmd := &cobra.Command{} + + var getExternalUserProxyReq iamv2.GetExternalUserProxyRequest + + cmd.Use = "get-external-user-proxy NAME" + cmd.Short = `*Beta* Get an external user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get an external user in the account. + + Retrieves an external 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. + Workspace-scoped variant for workspace-authenticated callers. + + Arguments: + NAME: Required. The resource name of the external user. Format: + external-users/{external_user_id}` + + 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) + + getExternalUserProxyReq.Name = args[0] + + response, err := w.WorkspaceIamV2.GetExternalUserProxy(ctx, getExternalUserProxyReq) + 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 getExternalUserProxyOverrides { + fn(cmd, &getExternalUserProxyReq) + } + + return cmd +} + // start get-group-proxy command // Slice with functions to override default command behavior. @@ -1160,8 +1345,10 @@ func newGetGroupProxy() *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. + cmd.Short = `*Beta* Get a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a group in the account. Fetches a group by its internal ID from the Databricks account that parents the calling workspace. @@ -1169,12 +1356,9 @@ func newGetGroupProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1223,8 +1407,10 @@ func newGetServicePrincipalProxy() *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. + cmd.Short = `*Beta* Get a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a service principal in the account. Fetches a service principal by its internal ID from the Databricks account that parents the calling workspace. @@ -1232,12 +1418,9 @@ func newGetServicePrincipalProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1286,8 +1469,10 @@ func newGetUserProxy() *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. + cmd.Short = `*Beta* Get a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a user in the account. Fetches a user by its internal ID from the Databricks account that parents the calling workspace. @@ -1295,12 +1480,9 @@ func newGetUserProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1487,8 +1669,10 @@ func newGetWorkspaceAssignmentProxy() *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. + cmd.Short = `*Beta* Get a workspace assignment for a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +Get a workspace assignment for a principal. Returns the assignment for a principal in the calling workspace. @@ -1496,12 +1680,9 @@ func newGetWorkspaceAssignmentProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1553,8 +1734,10 @@ func newGetWorkspaceIdentityDetail() *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. + cmd.Short = `*Beta* Get workspace identity details for a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +Get workspace identity details for a principal. Returns the identity details for a principal in a workspace. @@ -1562,12 +1745,9 @@ func newGetWorkspaceIdentityDetail() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1632,8 +1812,10 @@ func newListDirectGroupMembersProxy() *cobra.Command { 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. + cmd.Short = `*Beta* List direct group members.` + cmd.Long = `This command is in Beta and may change without notice. + +List direct group members. Lists provisioned direct members of a group with their membership source (internal or from identity provider). @@ -1642,12 +1824,9 @@ func newListDirectGroupMembersProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1716,18 +1895,17 @@ func newListGroupsProxy() *cobra.Command { 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. + cmd.Short = `*Beta* List groups in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -1791,19 +1969,18 @@ func newListServicePrincipalsProxy() *cobra.Command { 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. + cmd.Short = `*Beta* List service principals in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -1856,8 +2033,10 @@ func newListTransitiveParentGroupsProxy() *cobra.Command { 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. + cmd.Short = `*Beta* List all transitive parent groups of a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +List all transitive parent groups of a principal. Lists all transitive parent groups of a principal. @@ -1865,12 +2044,9 @@ func newListTransitiveParentGroupsProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(1) @@ -1936,18 +2112,17 @@ func newListUsersProxy() *cobra.Command { 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. + cmd.Short = `*Beta* List users in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -2086,20 +2261,19 @@ func newListWorkspaceAssignmentsProxy() *cobra.Command { 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. + cmd.Short = `*Beta* List workspace assignments for a workspace.` + cmd.Long = `This command is in Beta and may change without notice. + +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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(0) @@ -2419,8 +2593,10 @@ func newUpdateGroupProxy() *cobra.Command { 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. + cmd.Short = `*Beta* Update a group in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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 @@ -2434,12 +2610,9 @@ func newUpdateGroupProxy() *cobra.Command { 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) @@ -2507,8 +2680,10 @@ func newUpdateServicePrincipalProxy() *cobra.Command { cmd.Flags().StringVar(&updateServicePrincipalProxyReq.ServicePrincipal.ExternalId, "external-id", updateServicePrincipalProxyReq.ServicePrincipal.ExternalId, `ExternalId of the service principal in the customer's IdP.`) 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. + cmd.Short = `*Beta* Update a service principal in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +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. @@ -2525,12 +2700,9 @@ func newUpdateServicePrincipalProxy() *cobra.Command { 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"] = "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 { if cmd.Flags().Changed("json") { @@ -2615,8 +2787,10 @@ func newUpdateUserProxy() *cobra.Command { cmd.Flags().StringVar(&updateUserProxyReq.User.ExternalId, "external-id", updateUserProxyReq.User.ExternalId, `ExternalId of the user in the customer's IdP.`) 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. + cmd.Short = `*Beta* Update a user in the account.` + cmd.Long = `This command is in Beta and may change without notice. + +Update a user in the account. 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 @@ -2635,12 +2809,9 @@ func newUpdateUserProxy() *cobra.Command { 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.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") { @@ -2841,8 +3012,10 @@ func newUpdateWorkspaceAssignmentProxy() *cobra.Command { // TODO: array: entitlements 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. + cmd.Short = `*Beta* Update a workspace assignment for a workspace.` + cmd.Long = `This command is in Beta and may change without notice. + +Update a workspace assignment for a workspace. Updates the entitlements of a directly assigned principal in the calling workspace. Changes are applied one at a time rather than atomically. If the @@ -2854,12 +3027,9 @@ func newUpdateWorkspaceAssignmentProxy() *cobra.Command { 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"] = "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 { if cmd.Flags().Changed("json") { @@ -2948,8 +3118,10 @@ func newUpdateWorkspaceIdentityDetail() *cobra.Command { 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-identity-detail PRINCIPAL_ID UPDATE_MASK" - cmd.Short = `Update workspace identity details for a principal.` - cmd.Long = `Update workspace identity details for a principal. + cmd.Short = `*Beta* Update workspace identity details for a principal.` + cmd.Long = `This command is in Beta and may change without notice. + +Update workspace identity details for a principal. Updates a workspace identity detail for a principal. @@ -2957,12 +3129,9 @@ func newUpdateWorkspaceIdentityDetail() *cobra.Command { PRINCIPAL_ID: Required. ID of the principal in Databricks. UPDATE_MASK: Required. 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.Annotations["launch_stage"] = "PUBLIC_BETA" + cmd.Annotations["launch_stage_display"] = "Beta" cmd.Args = func(cmd *cobra.Command, args []string) error { check := root.ExactArgs(2) diff --git a/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go b/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go index 9f3f722e1d9..c937b06bf9c 100644 --- a/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go +++ b/cmd/workspace/workspace-settings-v2/workspace-settings-v2.go @@ -19,18 +19,16 @@ var cmdOverrides []func(*cobra.Command) func New() *cobra.Command { cmd := &cobra.Command{ - Use: "workspace-settings-v2", - Short: `*Public Preview* APIs to manage workspace level settings.`, - Long: `This command is in Public Preview and may change without notice. - -APIs to manage workspace level settings`, + Use: "workspace-settings-v2", + Short: `APIs to manage workspace level settings.`, + Long: `APIs to manage workspace level settings`, GroupID: "settings", RunE: root.ReportUnknownSubcommand, } 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(newGetPublicWorkspaceSetting()) @@ -60,10 +58,8 @@ func newGetPublicWorkspaceSetting() *cobra.Command { var getPublicWorkspaceSettingReq settingsv2.GetPublicWorkspaceSettingRequest cmd.Use = "get-public-workspace-setting NAME" - cmd.Short = `*Public Preview* Get a workspace setting.` - cmd.Long = `This command is in Public Preview and may change without notice. - -Get a workspace setting. + cmd.Short = `Get a workspace setting.` + cmd.Long = `Get a workspace setting. Get a setting value at workspace level. See :method:settingsv2/listworkspacesettingsmetadata for list of setting available @@ -73,8 +69,8 @@ Get a workspace setting. NAME: Name of the setting` 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(1) @@ -136,18 +132,16 @@ func newListWorkspaceSettingsMetadata() *cobra.Command { cmd.Flags().Lookup("page-token").Hidden = true cmd.Use = "list-workspace-settings-metadata" - cmd.Short = `*Public Preview* List valid setting keys and their metadata.` - cmd.Long = `This command is in Public Preview and may change without notice. - -List valid setting keys and their metadata. + cmd.Short = `List valid setting keys and their metadata.` + cmd.Long = `List valid setting keys and their metadata. List valid setting keys and metadata. These settings are available to be referenced via GET :method:settingsv2/getpublicworkspacesetting and PATCH :method:settingsv2/patchpublicworkspacesetting APIs` 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) @@ -225,10 +219,8 @@ func newPatchPublicWorkspaceSetting() *cobra.Command { // TODO: complex arg: string_val cmd.Use = "patch-public-workspace-setting NAME" - cmd.Short = `*Public Preview* Update a workspace setting.` - cmd.Long = `This command is in Public Preview and may change without notice. - -Update a workspace setting. + cmd.Short = `Update a workspace setting.` + cmd.Long = `Update a workspace setting. Patch a setting value at workspace level. See :method:settingsv2/listworkspacesettingsmetadata for list of setting available @@ -242,8 +234,8 @@ Update a workspace setting. NAME: Name of the setting` 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(1) diff --git a/go.mod b/go.mod index 7ff5cc5827e..b6e84d645f5 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/charmbracelet/huh v1.0.0 // MIT github.com/charmbracelet/lipgloss v1.1.0 // MIT github.com/charmbracelet/x/ansi v0.11.8 // MIT - github.com/databricks/databricks-sdk-go v0.175.0 // Apache-2.0 + github.com/databricks/databricks-sdk-go v0.177.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 b78e7271bba..23f4099cc8b 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.175.0 h1:XJKS5dqV23fADlEgo/PTYo74+lhzR8sUXJZv8qoNr50= -github.com/databricks/databricks-sdk-go v0.175.0/go.mod h1:udBw6nxkaqa0fgPQ7ZW1kGFkltQncYx+qFJeVFmxtz8= +github.com/databricks/databricks-sdk-go v0.177.0 h1:RGSGHjJEzS5aat2mr7MMnWZPovjUG+XwtAeDjpl0ET8= +github.com/databricks/databricks-sdk-go v0.177.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/alerts/_models/alert.py b/python/databricks/bundles/alerts/_models/alert.py index d99784a4e17..8df0acdc6aa 100644 --- a/python/databricks/bundles/alerts/_models/alert.py +++ b/python/databricks/bundles/alerts/_models/alert.py @@ -78,8 +78,17 @@ class Alert(Resource): """ :meta private: [EXPERIMENTAL] - [Private Preview] Query parameters bound when executing the alert query, referenced in the - query text with `:name` syntax. Static values only. + [Private Preview] A list of parameters to pass into the alert SQL query statement containing parameter markers. Static values only. + + Reference a parameter in the query text as `:name`. Each parameter must have a unique, non-empty name. + Each parameter consists of a name, a value, and optionally a type. To represent a NULL + value, the `value` field may be omitted or set to `null` explicitly. If the `type` field + is omitted, the value is interpreted as a string. + + If the type is given, parameters will be checked for type correctness according + to the given type. A value is correct if the provided string can be converted to + the requested type using the `cast` function. The exact semantics are described in + the section [`cast` function](https://docs.databricks.com/sql/language-manual/functions/cast.html) of the SQL language reference. """ parent_path: VariableOrOptional[str] = None @@ -159,8 +168,17 @@ class AlertDict(TypedDict, total=False): """ :meta private: [EXPERIMENTAL] - [Private Preview] Query parameters bound when executing the alert query, referenced in the - query text with `:name` syntax. Static values only. + [Private Preview] A list of parameters to pass into the alert SQL query statement containing parameter markers. Static values only. + + Reference a parameter in the query text as `:name`. Each parameter must have a unique, non-empty name. + Each parameter consists of a name, a value, and optionally a type. To represent a NULL + value, the `value` field may be omitted or set to `null` explicitly. If the `type` field + is omitted, the value is interpreted as a string. + + If the type is given, parameters will be checked for type correctness according + to the given type. A value is correct if the provided string can be converted to + the requested type using the `cast` function. The exact semantics are described in + the section [`cast` function](https://docs.databricks.com/sql/language-manual/functions/cast.html) of the SQL language reference. """ parent_path: VariableOrOptional[str] diff --git a/python/databricks/bundles/alerts/_models/alert_statement_parameter.py b/python/databricks/bundles/alerts/_models/alert_statement_parameter.py index 22d4571f08f..def206d148d 100644 --- a/python/databricks/bundles/alerts/_models/alert_statement_parameter.py +++ b/python/databricks/bundles/alerts/_models/alert_statement_parameter.py @@ -16,34 +16,31 @@ class AlertStatementParameter: """ :meta private: [EXPERIMENTAL] - Redash-owned copy of the internal StatementParameter for the external AlertV2 API. - The internal `ordinal` and `args` fields are intentionally omitted: the public API - supports only flat, named scalar parameters; complex types (ARRAY, MAP, STRUCT) are - not supported. This mirrors SEA's public StatementParameter schema, see: - cmdexec/sql-exec-api/proto/sql_exec_api_service.proto:763-779 + A named parameter bound to the alert query. Only flat, named scalar parameters are + supported; complex types such as ARRAY, MAP, and STRUCT are not. """ name: VariableOr[str] """ :meta private: [EXPERIMENTAL] - [Private Preview] The name of the parameter, referenced in the query as `:name`. + [Private Preview] The name of the parameter. Reference it in the query text as `:name`. Required, must be + non-empty, and must be unique across the alert's parameters. """ type: VariableOrOptional[str] = None """ :meta private: [EXPERIMENTAL] - [Private Preview] The SQL data type of the parameter, e.g. STRING, INT, or DATE. Defaults to STRING. This is a - string rather than an enum because scalar subtypes such as DECIMAL(10, 4) cannot be enumerated. - Complex types such as ARRAY, MAP, and STRUCT are not supported. + [Private Preview] The SQL data type of the parameter, for example `STRING`, `INT`, or `DECIMAL(10, 2)`. If no type is given + the type is assumed to be `STRING`. Complex types such as `ARRAY`, `MAP`, and `STRUCT` are not supported. """ value: VariableOrOptional[str] = None """ :meta private: [EXPERIMENTAL] - [Private Preview] The bound value for the parameter, given as a string. If omitted, the value is interpreted as NULL. + [Private Preview] The value bound to the parameter, represented as a string. If omitted, the value is interpreted as NULL. """ @classmethod @@ -61,23 +58,23 @@ class AlertStatementParameterDict(TypedDict, total=False): """ :meta private: [EXPERIMENTAL] - [Private Preview] The name of the parameter, referenced in the query as `:name`. + [Private Preview] The name of the parameter. Reference it in the query text as `:name`. Required, must be + non-empty, and must be unique across the alert's parameters. """ type: VariableOrOptional[str] """ :meta private: [EXPERIMENTAL] - [Private Preview] The SQL data type of the parameter, e.g. STRING, INT, or DATE. Defaults to STRING. This is a - string rather than an enum because scalar subtypes such as DECIMAL(10, 4) cannot be enumerated. - Complex types such as ARRAY, MAP, and STRUCT are not supported. + [Private Preview] The SQL data type of the parameter, for example `STRING`, `INT`, or `DECIMAL(10, 2)`. If no type is given + the type is assumed to be `STRING`. Complex types such as `ARRAY`, `MAP`, and `STRUCT` are not supported. """ value: VariableOrOptional[str] """ :meta private: [EXPERIMENTAL] - [Private Preview] The bound value for the parameter, given as a string. If omitted, the value is interpreted as NULL. + [Private Preview] The value bound to the parameter, represented as a string. If omitted, the value is interpreted as NULL. """ diff --git a/python/databricks/bundles/jobs/__init__.py b/python/databricks/bundles/jobs/__init__.py index 3e775fcb16c..9aeaa9dd327 100644 --- a/python/databricks/bundles/jobs/__init__.py +++ b/python/databricks/bundles/jobs/__init__.py @@ -77,6 +77,8 @@ "DashboardTaskParam", "DataSecurityMode", "DataSecurityModeParam", + "DayOfWeek", + "DayOfWeekParam", "DbfsStorageInfo", "DbfsStorageInfoDict", "DbfsStorageInfoParam", @@ -179,6 +181,9 @@ "LogAnalyticsInfo", "LogAnalyticsInfoDict", "LogAnalyticsInfoParam", + "MaintenanceWindow", + "MaintenanceWindowDict", + "MaintenanceWindowParam", "MavenLibrary", "MavenLibraryDict", "MavenLibraryParam", @@ -456,6 +461,7 @@ DataSecurityMode, DataSecurityModeParam, ) +from databricks.bundles.jobs._models.day_of_week import DayOfWeek, DayOfWeekParam from databricks.bundles.jobs._models.dbfs_storage_info import ( DbfsStorageInfo, DbfsStorageInfoDict, @@ -614,6 +620,11 @@ LogAnalyticsInfoDict, LogAnalyticsInfoParam, ) +from databricks.bundles.jobs._models.maintenance_window import ( + MaintenanceWindow, + MaintenanceWindowDict, + MaintenanceWindowParam, +) from databricks.bundles.jobs._models.maven_library import ( MavenLibrary, MavenLibraryDict, diff --git a/python/databricks/bundles/jobs/_models/alert_task.py b/python/databricks/bundles/jobs/_models/alert_task.py index 9060a9b96df..4f3b0d97611 100644 --- a/python/databricks/bundles/jobs/_models/alert_task.py +++ b/python/databricks/bundles/jobs/_models/alert_task.py @@ -5,7 +5,11 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value -from databricks.bundles.core._variable import VariableOrList, VariableOrOptional +from databricks.bundles.core._variable import ( + VariableOrDict, + VariableOrList, + VariableOrOptional, +) from databricks.bundles.jobs._models.alert_task_subscriber import ( AlertTaskSubscriber, AlertTaskSubscriberParam, @@ -24,6 +28,18 @@ class AlertTask: [Public Preview] The alert_id is the canonical identifier of the alert. """ + parameters: VariableOrDict[str] = field(default_factory=dict) + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Per-run parameter overrides, keyed by parameter name, applied onto the alert's stored + query parameters before the query is executed. Only scalar values are supported. Values + may reference job parameters with `{{job.parameters.*}}`, which are resolved before the + task runs. An override whose key does not match a stored parameter fails the task run. + Limited to 10000 characters when serialized as JSON; keys must be 1-100 characters and + contain only letters, digits, underscores, dashes, and periods. + """ + subscribers: VariableOrList[AlertTaskSubscriber] = field(default_factory=list) """ [Public Preview] The subscribers receive alert evaluation result notifications after the alert task is completed. @@ -59,6 +75,18 @@ class AlertTaskDict(TypedDict, total=False): [Public Preview] The alert_id is the canonical identifier of the alert. """ + parameters: VariableOrDict[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Per-run parameter overrides, keyed by parameter name, applied onto the alert's stored + query parameters before the query is executed. Only scalar values are supported. Values + may reference job parameters with `{{job.parameters.*}}`, which are resolved before the + task runs. An override whose key does not match a stored parameter fails the task run. + Limited to 10000 characters when serialized as JSON; keys must be 1-100 characters and + contain only letters, digits, underscores, dashes, and periods. + """ + subscribers: VariableOrList[AlertTaskSubscriberParam] """ [Public Preview] The subscribers receive alert evaluation result notifications after the alert task is completed. diff --git a/python/databricks/bundles/jobs/_models/cluster_spec.py b/python/databricks/bundles/jobs/_models/cluster_spec.py index 685863137f3..6a412571a29 100644 --- a/python/databricks/bundles/jobs/_models/cluster_spec.py +++ b/python/databricks/bundles/jobs/_models/cluster_spec.py @@ -312,7 +312,7 @@ class ClusterSpec: total_initial_remote_disk_size: VariableOrOptional[int] = None """ - If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED disks. + If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP. """ use_ml_runtime: VariableOrOptional[bool] = None @@ -588,7 +588,7 @@ class ClusterSpecDict(TypedDict, total=False): total_initial_remote_disk_size: VariableOrOptional[int] """ - If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED disks. + If set, what the total initial volume size (in GB) of the remote disks should be. Supported for GCP. """ use_ml_runtime: VariableOrOptional[bool] diff --git a/python/databricks/bundles/jobs/_models/continuous.py b/python/databricks/bundles/jobs/_models/continuous.py index 805c7e1d654..a5877e0790d 100644 --- a/python/databricks/bundles/jobs/_models/continuous.py +++ b/python/databricks/bundles/jobs/_models/continuous.py @@ -6,6 +6,10 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.jobs._models.maintenance_window import ( + MaintenanceWindow, + MaintenanceWindowParam, +) from databricks.bundles.jobs._models.pause_status import PauseStatus, PauseStatusParam from databricks.bundles.jobs._models.task_retry_mode import ( TaskRetryMode, @@ -20,6 +24,13 @@ class Continuous: """""" + maintenance_window: VariableOrOptional[MaintenanceWindow] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Defines when platform-initiated maintenance may run for this job. If unspecified, maintenance may run at any time. + """ + pause_status: VariableOrOptional[PauseStatus] = None """ Indicate whether the continuous execution of the job is paused or not. Defaults to UNPAUSED. @@ -41,6 +52,13 @@ def as_dict(self) -> "ContinuousDict": class ContinuousDict(TypedDict, total=False): """""" + maintenance_window: VariableOrOptional[MaintenanceWindowParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Defines when platform-initiated maintenance may run for this job. If unspecified, maintenance may run at any time. + """ + pause_status: VariableOrOptional[PauseStatusParam] """ Indicate whether the continuous execution of the job is paused or not. Defaults to UNPAUSED. diff --git a/python/databricks/bundles/jobs/_models/continuous_trigger_configuration.py b/python/databricks/bundles/jobs/_models/continuous_trigger_configuration.py index 866ffda4c61..e8667994d27 100644 --- a/python/databricks/bundles/jobs/_models/continuous_trigger_configuration.py +++ b/python/databricks/bundles/jobs/_models/continuous_trigger_configuration.py @@ -6,6 +6,10 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrOptional +from databricks.bundles.jobs._models.maintenance_window import ( + MaintenanceWindow, + MaintenanceWindowParam, +) from databricks.bundles.jobs._models.task_retry_mode import ( TaskRetryMode, TaskRetryModeParam, @@ -22,6 +26,14 @@ class ContinuousTriggerConfiguration: `TriggerConfiguration` and intentionally omitted here. """ + maintenance_window: VariableOrOptional[MaintenanceWindow] = None + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Defines when platform-initiated maintenance may run for this trigger. If unspecified, + maintenance may run at any time. + """ + task_retry_mode: VariableOrOptional[TaskRetryMode] = None """ [Beta] Whether the continuous job applies task-level retries. Defaults to NEVER. @@ -38,6 +50,14 @@ def as_dict(self) -> "ContinuousTriggerConfigurationDict": class ContinuousTriggerConfigurationDict(TypedDict, total=False): """""" + maintenance_window: VariableOrOptional[MaintenanceWindowParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] Defines when platform-initiated maintenance may run for this trigger. If unspecified, + maintenance may run at any time. + """ + task_retry_mode: VariableOrOptional[TaskRetryModeParam] """ [Beta] Whether the continuous job applies task-level retries. Defaults to NEVER. diff --git a/python/databricks/bundles/jobs/_models/dashboard_task.py b/python/databricks/bundles/jobs/_models/dashboard_task.py index abc9005172f..94ae8f645f1 100644 --- a/python/databricks/bundles/jobs/_models/dashboard_task.py +++ b/python/databricks/bundles/jobs/_models/dashboard_task.py @@ -6,7 +6,10 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrDict, VariableOrOptional -from databricks.bundles.jobs._models.subscription import Subscription, SubscriptionParam +from databricks.bundles.jobs._models.subscription import ( + Subscription, + SubscriptionParam, +) if TYPE_CHECKING: from typing_extensions import Self diff --git a/python/databricks/bundles/jobs/_models/day_of_week.py b/python/databricks/bundles/jobs/_models/day_of_week.py new file mode 100644 index 00000000000..19abc1c56a2 --- /dev/null +++ b/python/databricks/bundles/jobs/_models/day_of_week.py @@ -0,0 +1,28 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from enum import Enum +from typing import Literal + + +class DayOfWeek(Enum): + """ + :meta private: [EXPERIMENTAL] + + Days of week that can be referenced by Jobs scheduling settings. + """ + + MONDAY = "MONDAY" + TUESDAY = "TUESDAY" + WEDNESDAY = "WEDNESDAY" + THURSDAY = "THURSDAY" + FRIDAY = "FRIDAY" + SATURDAY = "SATURDAY" + SUNDAY = "SUNDAY" + + +DayOfWeekParam = ( + Literal[ + "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" + ] + | DayOfWeek +) diff --git a/python/databricks/bundles/jobs/_models/hardware_accelerator_type.py b/python/databricks/bundles/jobs/_models/hardware_accelerator_type.py index 4b1501f0f25..8d3566aa66f 100644 --- a/python/databricks/bundles/jobs/_models/hardware_accelerator_type.py +++ b/python/databricks/bundles/jobs/_models/hardware_accelerator_type.py @@ -13,8 +13,9 @@ class HardwareAcceleratorType(Enum): GPU_1X_A10 = "GPU_1xA10" GPU_8X_H100 = "GPU_8xH100" + GPU_1X_H100 = "GPU_1xH100" HardwareAcceleratorTypeParam = ( - Literal["GPU_1xA10", "GPU_8xH100"] | HardwareAcceleratorType + Literal["GPU_1xA10", "GPU_8xH100", "GPU_1xH100"] | HardwareAcceleratorType ) diff --git a/python/databricks/bundles/jobs/_models/job.py b/python/databricks/bundles/jobs/_models/job.py index d4010ac38f8..929af07fcdf 100644 --- a/python/databricks/bundles/jobs/_models/job.py +++ b/python/databricks/bundles/jobs/_models/job.py @@ -87,6 +87,8 @@ class Job(Resource): continuous: VariableOrOptional[Continuous] = None """ 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. + + Pipelines started by a continuous job also run continuously, regardless of their own pipeline mode setting. """ description: VariableOrOptional[str] = None @@ -256,6 +258,8 @@ class JobDict(TypedDict, total=False): continuous: VariableOrOptional[ContinuousParam] """ 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. + + Pipelines started by a continuous job also run continuously, regardless of their own pipeline mode setting. """ description: VariableOrOptional[str] diff --git a/python/databricks/bundles/jobs/_models/maintenance_window.py b/python/databricks/bundles/jobs/_models/maintenance_window.py new file mode 100644 index 00000000000..12ba928c905 --- /dev/null +++ b/python/databricks/bundles/jobs/_models/maintenance_window.py @@ -0,0 +1,82 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOr +from databricks.bundles.jobs._models.day_of_week import DayOfWeek, DayOfWeekParam + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class MaintenanceWindow: + """ + :meta private: [EXPERIMENTAL] + + A recurring weekly time window during which platform-initiated maintenance is + allowed to run for a continuous job. + """ + + day_of_week: VariableOr[DayOfWeek] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] The day of week on which maintenance is allowed to happen. This field is required. + """ + + start_hour: VariableOr[int] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] An integer between 0 and 23 denoting the start hour for the maintenance window in the 24-hour day. + Platform-initiated maintenance is triggered only within a one-hour window starting at this hour. + This field is required. + """ + + timezone_id: VariableOr[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] A Java timezone ID. The maintenance window is resolved with respect to this timezone. See [Java TimeZone](https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html) for details. This field is required. + """ + + @classmethod + def from_dict(cls, value: "MaintenanceWindowDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "MaintenanceWindowDict": + return _transform_to_json_value(self) # type:ignore + + +class MaintenanceWindowDict(TypedDict, total=False): + """""" + + day_of_week: VariableOr[DayOfWeekParam] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] The day of week on which maintenance is allowed to happen. This field is required. + """ + + start_hour: VariableOr[int] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] An integer between 0 and 23 denoting the start hour for the maintenance window in the 24-hour day. + Platform-initiated maintenance is triggered only within a one-hour window starting at this hour. + This field is required. + """ + + timezone_id: VariableOr[str] + """ + :meta private: [EXPERIMENTAL] + + [Private Preview] A Java timezone ID. The maintenance window is resolved with respect to this timezone. See [Java TimeZone](https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html) for details. This field is required. + """ + + +MaintenanceWindowParam = MaintenanceWindowDict | MaintenanceWindow diff --git a/python/databricks/bundles/jobs/_models/node_type_flexibility.py b/python/databricks/bundles/jobs/_models/node_type_flexibility.py index aa582b763a8..418ea9337bd 100644 --- a/python/databricks/bundles/jobs/_models/node_type_flexibility.py +++ b/python/databricks/bundles/jobs/_models/node_type_flexibility.py @@ -5,7 +5,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 VariableOrList +from databricks.bundles.core._variable import VariableOrList, VariableOrOptional if TYPE_CHECKING: from typing_extensions import Self @@ -22,6 +22,12 @@ class NodeTypeFlexibility: A list of node type IDs to use as fallbacks when the primary node type is unavailable. """ + aws_context_id: VariableOrOptional[str] = None + """ + The AWS Context ID for EC2 Fleet. + When set (non-empty), the value is passed to AWS CreateFleet API to create the EC2 Fleet. + """ + @classmethod def from_dict(cls, value: "NodeTypeFlexibilityDict") -> "Self": return _transform(cls, value) @@ -38,5 +44,11 @@ class NodeTypeFlexibilityDict(TypedDict, total=False): A list of node type IDs to use as fallbacks when the primary node type is unavailable. """ + aws_context_id: VariableOrOptional[str] + """ + The AWS Context ID for EC2 Fleet. + When set (non-empty), the value is passed to AWS CreateFleet API to create the EC2 Fleet. + """ + NodeTypeFlexibilityParam = NodeTypeFlexibilityDict | NodeTypeFlexibility diff --git a/python/databricks/bundles/jobs/_models/trigger_configuration.py b/python/databricks/bundles/jobs/_models/trigger_configuration.py index 259c45c7f9d..1437eb582ca 100644 --- a/python/databricks/bundles/jobs/_models/trigger_configuration.py +++ b/python/databricks/bundles/jobs/_models/trigger_configuration.py @@ -44,9 +44,9 @@ class TriggerConfiguration: """ A single trigger attached to a job via `JobSettings.triggers`. Exactly one of the trigger-type fields - (`periodic`, `schedule`, `continuous`, `file_arrival`, `table_update`, `model`) must be set; mutual exclusivity - is enforced in the API handler rather than via `oneof` so that codegen, validation, and JSON serialization - across SDKs and Terraform behave consistently. + (`periodic`, `schedule`, `continuous`, `file_arrival`, `table_update`, `model`, `job_completion`) must be set; + mutual exclusivity is enforced in the API handler rather than via `oneof` so that codegen, validation, and JSON + serialization across SDKs and Terraform behave consistently. """ continuous: VariableOrOptional[ContinuousTriggerConfiguration] = None diff --git a/python/databricks/bundles/pipelines/__init__.py b/python/databricks/bundles/pipelines/__init__.py index c3cdbee96f7..2d1adefe33d 100644 --- a/python/databricks/bundles/pipelines/__init__.py +++ b/python/databricks/bundles/pipelines/__init__.py @@ -200,6 +200,9 @@ "PostgresSlotConfig", "PostgresSlotConfigDict", "PostgresSlotConfigParam", + "RabbitmqOptions", + "RabbitmqOptionsDict", + "RabbitmqOptionsParam", "RedditAdsOptions", "RedditAdsOptionsDict", "RedditAdsOptionsParam", @@ -610,6 +613,11 @@ PostgresSlotConfigDict, PostgresSlotConfigParam, ) +from databricks.bundles.pipelines._models.rabbitmq_options import ( + RabbitmqOptions, + RabbitmqOptionsDict, + RabbitmqOptionsParam, +) from databricks.bundles.pipelines._models.reddit_ads_options import ( RedditAdsOptions, RedditAdsOptionsDict, diff --git a/python/databricks/bundles/pipelines/_models/connector_options.py b/python/databricks/bundles/pipelines/_models/connector_options.py index 5fc9bfce6cc..a55a4e86fcd 100644 --- a/python/databricks/bundles/pipelines/_models/connector_options.py +++ b/python/databricks/bundles/pipelines/_models/connector_options.py @@ -46,6 +46,10 @@ OutlookOptions, OutlookOptionsParam, ) +from databricks.bundles.pipelines._models.rabbitmq_options import ( + RabbitmqOptions, + RabbitmqOptionsParam, +) from databricks.bundles.pipelines._models.reddit_ads_options import ( RedditAdsOptions, RedditAdsOptionsParam, @@ -144,6 +148,14 @@ class ConnectorOptions: [Private Preview] Outlook specific options for ingestion """ + rabbitmq_options: VariableOrOptional[RabbitmqOptions] = None + """ + [Beta] RabbitMQ specific options for ingestion. + Performance tuning options (consumers_per_task, max_messages_per_fetch, etc.) + are intentionally not exposed in the public API. The managed connector uses + sensible defaults internally. These can be added later if user demand arises. + """ + reddit_ads_options: VariableOrOptional[RedditAdsOptions] = None """ :meta private: [EXPERIMENTAL] @@ -255,6 +267,14 @@ class ConnectorOptionsDict(TypedDict, total=False): [Private Preview] Outlook specific options for ingestion """ + rabbitmq_options: VariableOrOptional[RabbitmqOptionsParam] + """ + [Beta] RabbitMQ specific options for ingestion. + Performance tuning options (consumers_per_task, max_messages_per_fetch, etc.) + are intentionally not exposed in the public API. The managed connector uses + sensible defaults internally. These can be added later if user demand arises. + """ + reddit_ads_options: VariableOrOptional[RedditAdsOptionsParam] """ :meta private: [EXPERIMENTAL] diff --git a/python/databricks/bundles/pipelines/_models/ingestion_config.py b/python/databricks/bundles/pipelines/_models/ingestion_config.py index d301a71fb87..218711df402 100644 --- a/python/databricks/bundles/pipelines/_models/ingestion_config.py +++ b/python/databricks/bundles/pipelines/_models/ingestion_config.py @@ -6,7 +6,10 @@ from databricks.bundles.core._transform import _transform from databricks.bundles.core._transform_to_json import _transform_to_json_value from databricks.bundles.core._variable import VariableOrOptional -from databricks.bundles.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/pipeline.py b/python/databricks/bundles/pipelines/_models/pipeline.py index 9f179f7c7a9..69ac527cd70 100644 --- a/python/databricks/bundles/pipelines/_models/pipeline.py +++ b/python/databricks/bundles/pipelines/_models/pipeline.py @@ -102,7 +102,11 @@ class Pipeline(Resource): continuous: VariableOrOptional[bool] = None """ - Whether the pipeline is continuous or triggered. This replaces `trigger`. + [DEPRECATED] Whether the pipeline is continuous or triggered. This replaces `trigger`. + + Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage + of job-level settings such as performance mode. When the pipeline is started by a continuous + job, the job's setting takes precedence and this field is ignored. """ development: VariableOrOptional[bool] = None @@ -293,7 +297,11 @@ class PipelineDict(TypedDict, total=False): continuous: VariableOrOptional[bool] """ - Whether the pipeline is continuous or triggered. This replaces `trigger`. + [DEPRECATED] Whether the pipeline is continuous or triggered. This replaces `trigger`. + + Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage + of job-level settings such as performance mode. When the pipeline is started by a continuous + job, the job's setting takes precedence and this field is ignored. """ development: VariableOrOptional[bool] diff --git a/python/databricks/bundles/pipelines/_models/pipeline_cluster.py b/python/databricks/bundles/pipelines/_models/pipeline_cluster.py index 6261e74e5da..6eda9e865a0 100644 --- a/python/databricks/bundles/pipelines/_models/pipeline_cluster.py +++ b/python/databricks/bundles/pipelines/_models/pipeline_cluster.py @@ -122,7 +122,7 @@ class PipelineCluster: label: VariableOrOptional[str] = None """ - A label for the cluster specification, either `default` to configure the default cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`. + A label for the cluster specification, either `default` to configure the default cluster settings applied to both the update and maintenance clusters, `updates` to configure the update cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`. """ node_type_id: VariableOrOptional[str] = None @@ -268,7 +268,7 @@ class PipelineClusterDict(TypedDict, total=False): label: VariableOrOptional[str] """ - A label for the cluster specification, either `default` to configure the default cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`. + A label for the cluster specification, either `default` to configure the default cluster settings applied to both the update and maintenance clusters, `updates` to configure the update cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`. """ node_type_id: VariableOrOptional[str] diff --git a/python/databricks/bundles/pipelines/_models/pipelines_environment.py b/python/databricks/bundles/pipelines/_models/pipelines_environment.py index 095104bf8a2..0493c5d4fa7 100644 --- a/python/databricks/bundles/pipelines/_models/pipelines_environment.py +++ b/python/databricks/bundles/pipelines/_models/pipelines_environment.py @@ -27,7 +27,7 @@ class PipelinesEnvironment: environment_version: VariableOrOptional[str] = None """ - [Beta] The environment version of the serverless Python environment used to execute + [Public Preview] The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment. @@ -59,7 +59,7 @@ class PipelinesEnvironmentDict(TypedDict, total=False): environment_version: VariableOrOptional[str] """ - [Beta] The environment version of the serverless Python environment used to execute + [Public Preview] The environment version of the serverless Python environment used to execute customer Python code. Each environment version includes a specific Python version and a curated set of pre-installed libraries with defined versions, providing a stable and reproducible execution environment. diff --git a/python/databricks/bundles/pipelines/_models/rabbitmq_options.py b/python/databricks/bundles/pipelines/_models/rabbitmq_options.py new file mode 100644 index 00000000000..cd78ee534f3 --- /dev/null +++ b/python/databricks/bundles/pipelines/_models/rabbitmq_options.py @@ -0,0 +1,45 @@ +# Code generated by pydabs-codegen. DO NOT EDIT. + +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOr + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class RabbitmqOptions: + """ + RabbitMQ specific options for ingestion. + Performance tuning options (consumers_per_task, max_messages_per_fetch, etc.) + are intentionally not exposed in the public API. The managed connector uses + sensible defaults internally. These can be added later if user demand arises. + """ + + queue: VariableOr[str] + """ + [Beta] (Required) RabbitMQ queue name to consume from. + """ + + @classmethod + def from_dict(cls, value: "RabbitmqOptionsDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "RabbitmqOptionsDict": + return _transform_to_json_value(self) # type:ignore + + +class RabbitmqOptionsDict(TypedDict, total=False): + """""" + + queue: VariableOr[str] + """ + [Beta] (Required) RabbitMQ queue name to consume from. + """ + + +RabbitmqOptionsParam = RabbitmqOptionsDict | RabbitmqOptions diff --git a/python/databricks/bundles/pipelines/_models/schema_spec.py b/python/databricks/bundles/pipelines/_models/schema_spec.py index b3dd638c455..bfd9acef17d 100644 --- a/python/databricks/bundles/pipelines/_models/schema_spec.py +++ b/python/databricks/bundles/pipelines/_models/schema_spec.py @@ -37,15 +37,6 @@ class SchemaSpec: [Public Preview] Required. Destination schema to store tables in. Tables with the same name as the source tables are created in this destination schema. The pipeline fails If a table with the same name already exists. """ - source_schema: VariableOr[str] - """ - [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 """ [Public Preview] (Optional) Source Specific Connector Options @@ -64,6 +55,13 @@ class SchemaSpec: [Public Preview] The source catalog name. Might be optional depending on the type of source. """ + source_schema: VariableOrOptional[str] = None + """ + [Public Preview] Schema name in the source database. Optional: some source types (for example streaming or + message-bus connectors) do not use it, so it may be absent from a pipeline's definition. + Clients that assume it is always present should handle its absence. + """ + table_configuration: VariableOrOptional[TableSpecificConfig] = None """ [Public Preview] Configuration settings to control the ingestion of tables. These settings are applied to all tables in this schema and override the table_configuration defined in the IngestionPipelineDefinition object. @@ -90,15 +88,6 @@ class SchemaSpecDict(TypedDict, total=False): [Public Preview] Required. Destination schema to store tables in. Tables with the same name as the source tables are created in this destination schema. The pipeline fails If a table with the same name already exists. """ - source_schema: VariableOr[str] - """ - [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] """ [Public Preview] (Optional) Source Specific Connector Options @@ -117,6 +106,13 @@ class SchemaSpecDict(TypedDict, total=False): [Public Preview] The source catalog name. Might be optional depending on the type of source. """ + source_schema: VariableOrOptional[str] + """ + [Public Preview] Schema name in the source database. Optional: some source types (for example streaming or + message-bus connectors) do not use it, so it may be absent from a pipeline's definition. + Clients that assume it is always present should handle its absence. + """ + table_configuration: VariableOrOptional[TableSpecificConfigParam] """ [Public Preview] Configuration settings to control the ingestion of tables. These settings are applied to all tables in this schema and override the table_configuration defined in the IngestionPipelineDefinition object. diff --git a/python/databricks/bundles/pipelines/_models/table_spec.py b/python/databricks/bundles/pipelines/_models/table_spec.py index 508a4acb7e6..dc75d872c71 100644 --- a/python/databricks/bundles/pipelines/_models/table_spec.py +++ b/python/databricks/bundles/pipelines/_models/table_spec.py @@ -33,15 +33,6 @@ class TableSpec: [Public Preview] Required. Destination schema to store table. """ - source_table: VariableOr[str] - """ - [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 """ [Public Preview] (Optional) Source Specific Connector Options @@ -62,6 +53,13 @@ class TableSpec: [Public Preview] Schema name in the source database. Might be optional depending on the type of source. """ + source_table: VariableOrOptional[str] = None + """ + [Public Preview] Table name in the source database. Optional: some source types (for example streaming or + message-bus connectors) do not use it, so it may be absent from a pipeline's definition. + Clients that assume it is always present should handle its absence. + """ + table_configuration: VariableOrOptional[TableSpecificConfig] = None """ [Public Preview] Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec. @@ -88,15 +86,6 @@ class TableSpecDict(TypedDict, total=False): [Public Preview] Required. Destination schema to store table. """ - source_table: VariableOr[str] - """ - [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] """ [Public Preview] (Optional) Source Specific Connector Options @@ -117,6 +106,13 @@ class TableSpecDict(TypedDict, total=False): [Public Preview] Schema name in the source database. Might be optional depending on the type of source. """ + source_table: VariableOrOptional[str] + """ + [Public Preview] Table name in the source database. Optional: some source types (for example streaming or + message-bus connectors) do not use it, so it may be absent from a pipeline's definition. + Clients that assume it is always present should handle its absence. + """ + table_configuration: VariableOrOptional[TableSpecificConfigParam] """ [Public Preview] Configuration settings to control the ingestion of tables. These settings override the table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec.