diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 890655a3b..f1223de08 100755 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -805d88b51faa37301c51d1848da2db5a2e6ed921 \ No newline at end of file +0b8f4fd36b4cd47ad6c053f11b7b551c9d7da814 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 859236152..8d685aa26 100755 --- a/.gitattributes +++ b/.gitattributes @@ -1247,6 +1247,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTabl databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableProvisioningStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSchedulingPolicy.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpec.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecPgSpecificType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecTypeOverride.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableState.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableTriggeredUpdateStatus.java linguist-generated=true @@ -2494,6 +2496,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateBran databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateBranchRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateCatalogOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateCatalogRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiOperation.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDatabaseOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDatabaseRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateEndpointOperation.java linguist-generated=true @@ -2504,6 +2508,10 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateRole databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateRoleRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateSyncedTableOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateSyncedTableRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApi.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiSpec.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiStatus.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiOperationMetadata.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/Database.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DatabaseCredential.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DatabaseDatabaseSpec.java linguist-generated=true @@ -2514,6 +2522,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteBran databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteBranchRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteCatalogOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteCatalogRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiOperation.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDatabaseOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDatabaseRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteEndpointOperation.java linguist-generated=true @@ -2539,6 +2549,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ErrorCode. databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GenerateDatabaseCredentialRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetBranchRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetCatalogRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetDataApiRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetDatabaseRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetEndpointRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetOperationRequest.java linguist-generated=true @@ -2557,6 +2568,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListProjec databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListRolesRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListRolesResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/NewPipelineSpec.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/OpenApiMode.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/Operation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java linguist-generated=true @@ -2586,7 +2598,9 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTabl databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTablePosition.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableState.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpec.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecPgSpecificType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecSyncedTableSchedulingPolicy.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecTypeOverride.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchRequest.java linguist-generated=true @@ -2594,6 +2608,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeletePr databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteProjectRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateBranchOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateBranchRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiOperation.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDatabaseOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDatabaseRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateEndpointOperation.java linguist-generated=true diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md old mode 100644 new mode 100755 index 8f7fec8bd..4c28c788c --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -15,3 +15,12 @@ ### Internal Changes ### API Changes +* Add `createDataApi()`, `deleteDataApi()`, `getDataApi()` and `updateDataApi()` methods for `workspaceClient.postgres()` service. +* Add `capacityReservationGroup` field for `com.databricks.sdk.service.compute.AzureAttributes`. +* Add `acceleratedSync` and `typeOverrides` fields for `com.databricks.sdk.service.database.SyncedTableSpec`. +* Add `acceleratedSync` and `typeOverrides` fields for `com.databricks.sdk.service.postgres.SyncedTableSyncedTableSpec`. +* Add `endpointId` field for `com.databricks.sdk.service.vectorsearch.MiniVectorIndex`. +* Add `endpointId` field for `com.databricks.sdk.service.vectorsearch.VectorIndex`. +* Add `DYNAMICS365` enum value for `com.databricks.sdk.service.catalog.ConnectionType`. +* [Breaking] Change `resourceId` field for `com.databricks.sdk.service.bundledeployments.Operation` to no longer be required. +* Change `resourceId` field for `com.databricks.sdk.service.bundledeployments.Operation` to no longer be required. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java index d79958ec0..019073178 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java @@ -640,7 +640,7 @@ public AppsSettingsAPI appsSettings() { /** * In Databricks Runtime 13.3 and above, you can add libraries and init scripts to the `allowlist` - * in UC so that users can leverage these artifacts on compute configured with shared access mode. + * in UC so that users can use these artifacts on compute configured with shared access mode. */ public ArtifactAllowlistsAPI artifactAllowlists() { return artifactAllowlistsAPI; @@ -763,15 +763,14 @@ public CommandExecutionAPI commandExecution() { } /** - * Connections allow for creating a connection to an external data source. + * A connection represents an external data source for use within Databricks. * - *

A connection is an abstraction of an external data source that can be connected from - * Databricks Compute. Creating a connection object is the first step to managing external data - * sources within Unity Catalog, with the second step being creating a data object (catalog, - * schema, or table) using the connection. Data objects derived from a connection can be written - * to or read from similar to other Unity Catalog data objects based on cloud storage. Users may - * create different types of connections with each connection having a unique set of configuration - * options to support credential management and other settings. + *

Creating a connection object is the first step to managing external data sources within + * Unity Catalog. The second step is creating a data object (catalog, schema, or table) using the + * connection. Data objects derived from a connection can be written to or read from similar to + * other Unity Catalog data objects based on cloud storage. You can create different types of + * connections, and each connection has a unique set of configuration options to support + * credential management and other settings. */ public ConnectionsAPI connections() { return connectionsAPI; @@ -934,9 +933,9 @@ public DbsqlPermissionsAPI dbsqlPermissions() { /** * Tags are attributes that include keys and optional values that you can use to organize and - * categorize entities in Unity Catalog. Entity tagging is currently supported on catalogs, - * schemas, tables (including views), columns, volumes. With these APIs, users can create, update, - * delete, and list tag assignments across Unity Catalog entities + * categorize entities in Unity Catalog. Entity tagging is supported on catalogs, schemas, tables + * (including views), columns, and volumes. With these APIs, you can create, update, delete, and + * list tag assignments across Unity Catalog entities. */ public EntityTagAssignmentsAPI entityTagAssignments() { return entityTagAssignmentsAPI; @@ -1104,10 +1103,9 @@ public GlobalInitScriptsAPI globalInitScripts() { * owner of the catalog or schema that contains the object. Securable objects in Unity Catalog are * hierarchical and privileges are inherited downward. * - *

Securable objects in Unity Catalog are hierarchical and privileges are inherited downward. - * This means that granting a privilege on the catalog automatically grants the privilege to all - * current and future objects within the catalog. Similarly, privileges granted on a schema are - * inherited by all current and future objects within that schema. + *

This means that granting a privilege on the catalog automatically grants the privilege to + * all current and future objects within the catalog. Similarly, privileges granted on a schema + * are inherited by all current and future objects within that schema. */ public GrantsAPI grants() { return grantsAPI; @@ -1653,9 +1651,9 @@ public RedashConfigAPI redashConfig() { * *

An MLflow registered model resides in the third layer of Unity Catalog’s three-level * namespace. Registered models contain model versions, which correspond to actual ML models - * (MLflow models). Creating new model versions currently requires use of the MLflow Python - * client. Once model versions are created, you can load them for batch inference using MLflow - * Python client APIs, or deploy them for real-time serving using Databricks Model Serving. + * (MLflow models). Creating new model versions requires use of the MLflow Python client. After + * model versions are created, you can load them for batch inference using MLflow Python client + * APIs, or deploy them for real-time serving using Databricks Model Serving. * *

All operations on registered models and model versions require USE_CATALOG permissions on * the enclosing catalog and USE_SCHEMA permissions on the enclosing schema. In addition, the @@ -1669,8 +1667,8 @@ public RedashConfigAPI redashConfig() { * version metadata (comments, aliases) create a new model version, or update permissions on the * registered model, users must be owners of the registered model. * - *

Note: The securable type for models is FUNCTION. When using REST APIs (e.g. tagging, grants) - * that specify a securable type, use FUNCTION as the securable type. + *

Note: The securable type for models is FUNCTION. When using REST APIs (for example, tagging, + * grants) that specify a securable type, use FUNCTION as the securable type. */ public RegisteredModelsAPI registeredModels() { return registeredModelsAPI; @@ -1718,7 +1716,7 @@ public RfaAPI rfa() { /** * A schema (also called a database) is the second layer of Unity Catalog’s three-level namespace. - * A schema organizes tables, views and functions. To access (or list) a table or view in a + * A schema organizes tables, views, and functions. To access (or list) a table or view in a * schema, users must have the USE_SCHEMA data permission on the schema and its parent catalog, * and they must have the SELECT permission on the table or view. */ @@ -1945,8 +1943,8 @@ public SupervisorAgentsAPI supervisorAgents() { /** * A system schema is a schema that lives within the system catalog. A system schema may contain - * information about customer usage of Unity Catalog such as audit-logs, billing-logs, lineage - * information, etc. + * information about customer usage of Unity Catalog such as audit logs, billing logs, and lineage + * information. */ public SystemSchemasAPI systemSchemas() { return systemSchemasAPI; @@ -1957,8 +1955,8 @@ public SystemSchemasAPI systemSchemas() { * *

Primary and foreign keys are informational only and are not enforced. Foreign keys must * reference a primary key in another table. This primary key is the parent constraint of the - * foreign key and the table this primary key is on is the parent table of the foreign key. - * Similarly, the foreign key is the child constraint of its referenced primary key; the table of + * foreign key, and the table this primary key is on is the parent table of the foreign key. + * Similarly, the foreign key is the child constraint of its referenced primary key. The table of * the foreign key is the child table of the primary key. * *

You can declare primary keys and foreign keys as part of the table specification during @@ -1997,44 +1995,45 @@ public TagPoliciesAPI tagPolicies() { } /** - * Temporary Path Credentials refer to short-lived, downscoped credentials used to access external - * cloud storage locations registered in Databricks. These credentials are employed to provide - * secure and time-limited access to data in cloud environments such as AWS, Azure, and Google - * Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens - * via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for its - * data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Path Credentials are short-lived, downscoped credentials used to access external + * cloud storage locations registered in Databricks. These credentials provide secure and + * time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each + * cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS + * Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage + * services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary path credentials ensure that data access is limited in scope and duration, * reducing the risk of unauthorized access or misuse. To use the temporary path credentials API, - * a metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level. A user needs to be granted the EXTERNAL USE LOCATION permission by external - * location owner. For requests on existing external tables and external volumes, user also needs - * to be granted the EXTERNAL USE SCHEMA permission at the schema level by catalog owner. + * a metastore admin must enable the external_access_enabled flag (off by default) at the + * metastore level. A user must be granted the EXTERNAL USE LOCATION permission by the external + * location owner. For requests on existing external tables and external volumes, the user must + * also be granted the EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. * - *

Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by + *

Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the * catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the * schema for security reasons. Similarly, EXTERNAL USE LOCATION is an external location level - * permission that can only be granted by external location owner explicitly and is not included - * in external location ownership or ALL PRIVILEGES on the external location for security reasons. + * permission that can only be granted by the external location owner explicitly and is not + * included in external location ownership or ALL PRIVILEGES on the external location for security + * reasons. */ public TemporaryPathCredentialsAPI temporaryPathCredentials() { return temporaryPathCredentialsAPI; } /** - * Temporary Table Credentials refer to short-lived, downscoped credentials used to access cloud - * storage locations where table data is stored in Databricks. These credentials are employed to - * provide secure and time-limited access to data in cloud environments such as AWS, Azure, and - * Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session - * tokens via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for - * its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Table Credentials are short-lived, downscoped credentials used to access cloud + * storage locations where table data is stored in Databricks. These credentials provide secure + * and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. + * Each cloud provider has its own type of credentials: AWS uses temporary session tokens through + * AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data + * storage services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary table credentials ensure that data access is limited in scope and duration, * reducing the risk of unauthorized access or misuse. To use the temporary table credentials API, - * a metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema - * level by catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can - * only be granted by catalog owner explicitly and is not included in schema ownership or ALL + * a metastore admin must enable the external_access_enabled flag (off by default) at the + * metastore level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema + * level by the catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can + * only be granted by the catalog owner explicitly and is not included in schema ownership or ALL * PRIVILEGES on the schema for security reasons. */ public TemporaryTableCredentialsAPI temporaryTableCredentials() { @@ -2042,19 +2041,19 @@ public TemporaryTableCredentialsAPI temporaryTableCredentials() { } /** - * Temporary Volume Credentials refer to short-lived, downscoped credentials used to access cloud - * storage locations where volume data is stored in Databricks. These credentials are employed to - * provide secure and time-limited access to data in cloud environments such as AWS, Azure, and - * Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session - * tokens via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for - * its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Volume Credentials are short-lived, downscoped credentials used to access cloud + * storage locations where volume data is stored in Databricks. These credentials provide secure + * and time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. + * Each cloud provider has its own type of credentials: AWS uses temporary session tokens through + * AWS Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data + * storage services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary volume credentials ensure that data access is limited in scope and duration, * reducing the risk of unauthorized access or misuse. To use the temporary volume credentials - * API, a metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema - * level by catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can - * only be granted by catalog owner explicitly and is not included in schema ownership or ALL + * API, a metastore admin must enable the external_access_enabled flag (off by default) at the + * metastore level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema + * level by the catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can + * only be granted by the catalog owner explicitly and is not included in schema ownership or ALL * PRIVILEGES on the schema for security reasons. */ public TemporaryVolumeCredentialsAPI temporaryVolumeCredentials() { @@ -2112,13 +2111,13 @@ public VectorSearchIndexesAPI vectorSearchIndexes() { } /** - * Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing and + * Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing, and * processing files. Use cases include running machine learning on unstructured data such as * image, audio, video, or PDF files, organizing data sets during the data exploration stages in * data science, working with libraries that require access to the local file system on cluster * machines, storing library and config files of arbitrary formats such as .whl or .txt centrally - * and providing secure access across workspaces to it, or transforming and querying non-tabular - * data files in ETL. + * and providing secure access to those files across workspaces, or transforming and querying + * non-tabular data files in ETL. */ public VolumesAPI volumes() { return volumesAPI; @@ -2159,8 +2158,8 @@ public WorkspaceAPI workspace() { * securable. * *

The original path (/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}) is deprecated. - * Please use the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}) - * which introduces the ability to bind a securable in READ_ONLY mode (catalogs only). + * Use the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}), which + * introduces the ability to bind a securable in READ_ONLY mode (catalogs only). * *

Securable types that support binding: - catalog - storage_credential - credential - * external_location diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundledeployments/Operation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundledeployments/Operation.java index 27b1e5854..db53f09c4 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundledeployments/Operation.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundledeployments/Operation.java @@ -37,7 +37,11 @@ public class Operation { @JsonProperty("name") private String name; - /** ID reference for the actual resource in the workspace (e.g. the job ID, pipeline ID). */ + /** + * ID of the actual resource in the workspace (e.g. the job ID, pipeline ID). Required for every + * operation except CREATE and RECREATE, which produce a new resource whose ID is not yet known + * when the operation is recorded. + */ @JsonProperty("resource_id") private String resourceId; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsAPI.java index 91058a327..b0aaf8174 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsAPI.java @@ -8,7 +8,7 @@ /** * In Databricks Runtime 13.3 and above, you can add libraries and init scripts to the `allowlist` - * in UC so that users can leverage these artifacts on compute configured with shared access mode. + * in UC so that users can use these artifacts on compute configured with shared access mode. */ @Generated public class ArtifactAllowlistsAPI { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsService.java index fc6d248df..688e1456b 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ArtifactAllowlistsService.java @@ -5,7 +5,7 @@ /** * In Databricks Runtime 13.3 and above, you can add libraries and init scripts to the `allowlist` - * in UC so that users can leverage these artifacts on compute configured with shared access mode. + * in UC so that users can use these artifacts on compute configured with shared access mode. * *

This is the high-level interface, that contains generated methods. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java index 095dbc1c8..77f7a4661 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java @@ -4,12 +4,13 @@ import com.databricks.sdk.support.Generated; -/** Next Id: 126 */ +/** Next Id: 127 */ @Generated public enum ConnectionType { BIGQUERY, CONFLUENCE, DATABRICKS, + DYNAMICS365, GA4_RAW_DATA, GITHUB, GLUE, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java index 95d7b10c7..117f5f140 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java @@ -8,15 +8,14 @@ import com.databricks.sdk.support.Paginator; /** - * Connections allow for creating a connection to an external data source. + * A connection represents an external data source for use within Databricks. * - *

A connection is an abstraction of an external data source that can be connected from - * Databricks Compute. Creating a connection object is the first step to managing external data - * sources within Unity Catalog, with the second step being creating a data object (catalog, schema, - * or table) using the connection. Data objects derived from a connection can be written to or read - * from similar to other Unity Catalog data objects based on cloud storage. Users may create - * different types of connections with each connection having a unique set of configuration options - * to support credential management and other settings. + *

Creating a connection object is the first step to managing external data sources within Unity + * Catalog. The second step is creating a data object (catalog, schema, or table) using the + * connection. Data objects derived from a connection can be written to or read from similar to + * other Unity Catalog data objects based on cloud storage. You can create different types of + * connections, and each connection has a unique set of configuration options to support credential + * management and other settings. */ @Generated public class ConnectionsAPI { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsService.java index f86a73b2f..b130072e5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsService.java @@ -4,15 +4,14 @@ import com.databricks.sdk.support.Generated; /** - * Connections allow for creating a connection to an external data source. + * A connection represents an external data source for use within Databricks. * - *

A connection is an abstraction of an external data source that can be connected from - * Databricks Compute. Creating a connection object is the first step to managing external data - * sources within Unity Catalog, with the second step being creating a data object (catalog, schema, - * or table) using the connection. Data objects derived from a connection can be written to or read - * from similar to other Unity Catalog data objects based on cloud storage. Users may create - * different types of connections with each connection having a unique set of configuration options - * to support credential management and other settings. + *

Creating a connection object is the first step to managing external data sources within Unity + * Catalog. The second step is creating a data object (catalog, schema, or table) using the + * connection. Data objects derived from a connection can be written to or read from similar to + * other Unity Catalog data objects based on cloud storage. You can create different types of + * connections, and each connection has a unique set of configuration options to support credential + * management and other settings. * *

This is the high-level interface, that contains generated methods. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java index e1e425506..964379bbf 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java @@ -9,9 +9,9 @@ /** * Tags are attributes that include keys and optional values that you can use to organize and - * categorize entities in Unity Catalog. Entity tagging is currently supported on catalogs, schemas, - * tables (including views), columns, volumes. With these APIs, users can create, update, delete, - * and list tag assignments across Unity Catalog entities + * categorize entities in Unity Catalog. Entity tagging is supported on catalogs, schemas, tables + * (including views), columns, and volumes. With these APIs, you can create, update, delete, and + * list tag assignments across Unity Catalog entities. */ @Generated public class EntityTagAssignmentsAPI { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsService.java index 66b13ea63..2e89dcf02 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsService.java @@ -5,9 +5,9 @@ /** * Tags are attributes that include keys and optional values that you can use to organize and - * categorize entities in Unity Catalog. Entity tagging is currently supported on catalogs, schemas, - * tables (including views), columns, volumes. With these APIs, users can create, update, delete, - * and list tag assignments across Unity Catalog entities + * categorize entities in Unity Catalog. Entity tagging is supported on catalogs, schemas, tables + * (including views), columns, and volumes. With these APIs, you can create, update, delete, and + * list tag assignments across Unity Catalog entities. * *

This is the high-level interface, that contains generated methods. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsAPI.java index ccffa0aaf..78ee4773c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsAPI.java @@ -12,8 +12,7 @@ * owner of the catalog or schema that contains the object. Securable objects in Unity Catalog are * hierarchical and privileges are inherited downward. * - *

Securable objects in Unity Catalog are hierarchical and privileges are inherited downward. - * This means that granting a privilege on the catalog automatically grants the privilege to all + *

This means that granting a privilege on the catalog automatically grants the privilege to all * current and future objects within the catalog. Similarly, privileges granted on a schema are * inherited by all current and future objects within that schema. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsService.java index 11f9831f7..528beb8a4 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GrantsService.java @@ -9,8 +9,7 @@ * owner of the catalog or schema that contains the object. Securable objects in Unity Catalog are * hierarchical and privileges are inherited downward. * - *

Securable objects in Unity Catalog are hierarchical and privileges are inherited downward. - * This means that granting a privilege on the catalog automatically grants the privilege to all + *

This means that granting a privilege on the catalog automatically grants the privilege to all * current and future objects within the catalog. Similarly, privileges granted on a schema are * inherited by all current and future objects within that schema. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java index f59ca853e..923b8155e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java @@ -89,7 +89,7 @@ public Iterable list(String fullName) { * *

The returned models are filtered based on the privileges of the calling user. For example, * the metastore admin is able to list all the model versions. A regular user needs to be the - * owner or have the **EXECUTE** privilege on the parent registered model to recieve the model + * owner or have the **EXECUTE** privilege on the parent registered model to receive the model * versions in the response. For the latter case, the caller must also be the owner or have the * **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent * schema. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java index 0fc7c97d5..39a5a87b0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsService.java @@ -53,7 +53,7 @@ public interface ModelVersionsService { * *

The returned models are filtered based on the privileges of the calling user. For example, * the metastore admin is able to list all the model versions. A regular user needs to be the - * owner or have the **EXECUTE** privilege on the parent registered model to recieve the model + * owner or have the **EXECUTE** privilege on the parent registered model to receive the model * versions in the response. For the latter case, the caller must also be the owner or have the * **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent * schema. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java index c7737bf48..0b86e8907 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java @@ -14,9 +14,9 @@ * *

An MLflow registered model resides in the third layer of Unity Catalog’s three-level * namespace. Registered models contain model versions, which correspond to actual ML models (MLflow - * models). Creating new model versions currently requires use of the MLflow Python client. Once - * model versions are created, you can load them for batch inference using MLflow Python client - * APIs, or deploy them for real-time serving using Databricks Model Serving. + * models). Creating new model versions requires use of the MLflow Python client. After model + * versions are created, you can load them for batch inference using MLflow Python client APIs, or + * deploy them for real-time serving using Databricks Model Serving. * *

All operations on registered models and model versions require USE_CATALOG permissions on the * enclosing catalog and USE_SCHEMA permissions on the enclosing schema. In addition, the following @@ -30,8 +30,8 @@ * metadata (comments, aliases) create a new model version, or update permissions on the registered * model, users must be owners of the registered model. * - *

Note: The securable type for models is FUNCTION. When using REST APIs (e.g. tagging, grants) - * that specify a securable type, use FUNCTION as the securable type. + *

Note: The securable type for models is FUNCTION. When using REST APIs (for example, tagging, + * grants) that specify a securable type, use FUNCTION as the securable type. */ @Generated public class RegisteredModelsAPI { @@ -118,7 +118,7 @@ public RegisteredModelInfo get(GetRegisteredModelRequest request) { * *

The returned models are filtered based on the privileges of the calling user. For example, * the metastore admin is able to list all the registered models. A regular user needs to be the - * owner or have the **EXECUTE** privilege on the registered model to recieve the registered + * owner or have the **EXECUTE** privilege on the registered model to receive the registered * models in the response. For the latter case, the caller must also be the owner or have the * **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent * schema. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsService.java index 2573bae72..ce4b5bfba 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsService.java @@ -10,9 +10,9 @@ * *

An MLflow registered model resides in the third layer of Unity Catalog’s three-level * namespace. Registered models contain model versions, which correspond to actual ML models (MLflow - * models). Creating new model versions currently requires use of the MLflow Python client. Once - * model versions are created, you can load them for batch inference using MLflow Python client - * APIs, or deploy them for real-time serving using Databricks Model Serving. + * models). Creating new model versions requires use of the MLflow Python client. After model + * versions are created, you can load them for batch inference using MLflow Python client APIs, or + * deploy them for real-time serving using Databricks Model Serving. * *

All operations on registered models and model versions require USE_CATALOG permissions on the * enclosing catalog and USE_SCHEMA permissions on the enclosing schema. In addition, the following @@ -26,8 +26,8 @@ * metadata (comments, aliases) create a new model version, or update permissions on the registered * model, users must be owners of the registered model. * - *

Note: The securable type for models is FUNCTION. When using REST APIs (e.g. tagging, grants) - * that specify a securable type, use FUNCTION as the securable type. + *

Note: The securable type for models is FUNCTION. When using REST APIs (for example, tagging, + * grants) that specify a securable type, use FUNCTION as the securable type. * *

This is the high-level interface, that contains generated methods. * @@ -84,7 +84,7 @@ public interface RegisteredModelsService { * *

The returned models are filtered based on the privileges of the calling user. For example, * the metastore admin is able to list all the registered models. A regular user needs to be the - * owner or have the **EXECUTE** privilege on the registered model to recieve the registered + * owner or have the **EXECUTE** privilege on the registered model to receive the registered * models in the response. For the latter case, the caller must also be the owner or have the * **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent * schema. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java index 28bf44a5c..7666dc5c1 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java @@ -9,7 +9,7 @@ /** * A schema (also called a database) is the second layer of Unity Catalog’s three-level namespace. A - * schema organizes tables, views and functions. To access (or list) a table or view in a schema, + * schema organizes tables, views, and functions. To access (or list) a table or view in a schema, * users must have the USE_SCHEMA data permission on the schema and its parent catalog, and they * must have the SELECT permission on the table or view. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasService.java index e47e7ee0d..68d20ecdd 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasService.java @@ -5,7 +5,7 @@ /** * A schema (also called a database) is the second layer of Unity Catalog’s three-level namespace. A - * schema organizes tables, views and functions. To access (or list) a table or view in a schema, + * schema organizes tables, views, and functions. To access (or list) a table or view in a schema, * users must have the USE_SCHEMA data permission on the schema and its parent catalog, and they * must have the SELECT permission on the table or view. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java index 2077d9589..88eaf89ce 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java @@ -5,8 +5,8 @@ import com.databricks.sdk.support.Generated; /** - * Latest kind: CONNECTION_ADOBE_CAMPAIGNS_OAUTH_M2M = 345; Next id: 346. Reserved numbers: 316, - * 317, 327, 330, 341 (former ENDPOINT_LLM_*, MODEL_SERVICE_STANDARD, + * Latest kind: CONNECTION_CONFLUENT_SCHEMA_REGISTRY_BASIC = 346; Next id: 347. Reserved numbers: + * 316, 317, 327, 330, 341 (former ENDPOINT_LLM_*, MODEL_SERVICE_STANDARD, * MODEL_SERVICE_SYSTEM_DELTASHARING, MCP_SERVICE_STANDARD). */ @Generated diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java index 03c34a27e..834b4c5c5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java @@ -9,8 +9,8 @@ /** * A system schema is a schema that lives within the system catalog. A system schema may contain - * information about customer usage of Unity Catalog such as audit-logs, billing-logs, lineage - * information, etc. + * information about customer usage of Unity Catalog such as audit logs, billing logs, and lineage + * information. */ @Generated public class SystemSchemasAPI { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasService.java index 71b277295..2b9e09b5f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasService.java @@ -5,8 +5,8 @@ /** * A system schema is a schema that lives within the system catalog. A system schema may contain - * information about customer usage of Unity Catalog such as audit-logs, billing-logs, lineage - * information, etc. + * information about customer usage of Unity Catalog such as audit logs, billing logs, and lineage + * information. * *

This is the high-level interface, that contains generated methods. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsAPI.java index 4a8a02a5f..43d223a20 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsAPI.java @@ -11,8 +11,8 @@ * *

Primary and foreign keys are informational only and are not enforced. Foreign keys must * reference a primary key in another table. This primary key is the parent constraint of the - * foreign key and the table this primary key is on is the parent table of the foreign key. - * Similarly, the foreign key is the child constraint of its referenced primary key; the table of + * foreign key, and the table this primary key is on is the parent table of the foreign key. + * Similarly, the foreign key is the child constraint of its referenced primary key. The table of * the foreign key is the child table of the primary key. * *

You can declare primary keys and foreign keys as part of the table specification during table diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsService.java index 9fb50719c..ab368b442 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TableConstraintsService.java @@ -8,8 +8,8 @@ * *

Primary and foreign keys are informational only and are not enforced. Foreign keys must * reference a primary key in another table. This primary key is the parent constraint of the - * foreign key and the table this primary key is on is the parent table of the foreign key. - * Similarly, the foreign key is the child constraint of its referenced primary key; the table of + * foreign key, and the table this primary key is on is the parent table of the foreign key. + * Similarly, the foreign key is the child constraint of its referenced primary key. The table of * the foreign key is the child table of the primary key. * *

You can declare primary keys and foreign keys as part of the table specification during table diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsAPI.java index 8ba3bec52..702ef27db 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsAPI.java @@ -7,25 +7,25 @@ import com.databricks.sdk.support.Generated; /** - * Temporary Path Credentials refer to short-lived, downscoped credentials used to access external - * cloud storage locations registered in Databricks. These credentials are employed to provide - * secure and time-limited access to data in cloud environments such as AWS, Azure, and Google - * Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens via - * AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for its data - * storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Path Credentials are short-lived, downscoped credentials used to access external cloud + * storage locations registered in Databricks. These credentials provide secure and time-limited + * access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider + * has its own type of credentials: AWS uses temporary session tokens through AWS Security Token + * Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and + * Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary path credentials ensure that data access is limited in scope and duration, reducing * the risk of unauthorized access or misuse. To use the temporary path credentials API, a metastore - * admin needs to enable the external_access_enabled flag (off by default) at the metastore level. A - * user needs to be granted the EXTERNAL USE LOCATION permission by external location owner. For - * requests on existing external tables and external volumes, user also needs to be granted the - * EXTERNAL USE SCHEMA permission at the schema level by catalog owner. + * admin must enable the external_access_enabled flag (off by default) at the metastore level. A + * user must be granted the EXTERNAL USE LOCATION permission by the external location owner. For + * requests on existing external tables and external volumes, the user must also be granted the + * EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. * - *

Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by catalog - * owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for - * security reasons. Similarly, EXTERNAL USE LOCATION is an external location level permission that - * can only be granted by external location owner explicitly and is not included in external - * location ownership or ALL PRIVILEGES on the external location for security reasons. + *

Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the + * catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema + * for security reasons. Similarly, EXTERNAL USE LOCATION is an external location level permission + * that can only be granted by the external location owner explicitly and is not included in + * external location ownership or ALL PRIVILEGES on the external location for security reasons. */ @Generated public class TemporaryPathCredentialsAPI { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsService.java index a77a2663d..4c7fc2ded 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryPathCredentialsService.java @@ -4,25 +4,25 @@ import com.databricks.sdk.support.Generated; /** - * Temporary Path Credentials refer to short-lived, downscoped credentials used to access external - * cloud storage locations registered in Databricks. These credentials are employed to provide - * secure and time-limited access to data in cloud environments such as AWS, Azure, and Google - * Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session tokens via - * AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for its data - * storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Path Credentials are short-lived, downscoped credentials used to access external cloud + * storage locations registered in Databricks. These credentials provide secure and time-limited + * access to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider + * has its own type of credentials: AWS uses temporary session tokens through AWS Security Token + * Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage services, and + * Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary path credentials ensure that data access is limited in scope and duration, reducing * the risk of unauthorized access or misuse. To use the temporary path credentials API, a metastore - * admin needs to enable the external_access_enabled flag (off by default) at the metastore level. A - * user needs to be granted the EXTERNAL USE LOCATION permission by external location owner. For - * requests on existing external tables and external volumes, user also needs to be granted the - * EXTERNAL USE SCHEMA permission at the schema level by catalog owner. + * admin must enable the external_access_enabled flag (off by default) at the metastore level. A + * user must be granted the EXTERNAL USE LOCATION permission by the external location owner. For + * requests on existing external tables and external volumes, the user must also be granted the + * EXTERNAL USE SCHEMA permission at the schema level by the catalog owner. * - *

Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by catalog - * owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for - * security reasons. Similarly, EXTERNAL USE LOCATION is an external location level permission that - * can only be granted by external location owner explicitly and is not included in external - * location ownership or ALL PRIVILEGES on the external location for security reasons. + *

Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by the + * catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema + * for security reasons. Similarly, EXTERNAL USE LOCATION is an external location level permission + * that can only be granted by the external location owner explicitly and is not included in + * external location ownership or ALL PRIVILEGES on the external location for security reasons. * *

This is the high-level interface, that contains generated methods. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsAPI.java index 337b5f8ae..e164eaf9d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsAPI.java @@ -7,19 +7,19 @@ import com.databricks.sdk.support.Generated; /** - * Temporary Table Credentials refer to short-lived, downscoped credentials used to access cloud - * storage locations where table data is stored in Databricks. These credentials are employed to - * provide secure and time-limited access to data in cloud environments such as AWS, Azure, and - * Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session - * tokens via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for - * its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Table Credentials are short-lived, downscoped credentials used to access cloud storage + * locations where table data is stored in Databricks. These credentials provide secure and + * time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each + * cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS + * Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage + * services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary table credentials ensure that data access is limited in scope and duration, reducing * the risk of unauthorized access or misuse. To use the temporary table credentials API, a - * metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema - * level by catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only - * be granted by catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES + * metastore admin must enable the external_access_enabled flag (off by default) at the metastore + * level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the + * catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be + * granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES * on the schema for security reasons. */ @Generated diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsService.java index f5057721c..108dbfe27 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryTableCredentialsService.java @@ -4,19 +4,19 @@ import com.databricks.sdk.support.Generated; /** - * Temporary Table Credentials refer to short-lived, downscoped credentials used to access cloud - * storage locations where table data is stored in Databricks. These credentials are employed to - * provide secure and time-limited access to data in cloud environments such as AWS, Azure, and - * Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session - * tokens via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for - * its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Table Credentials are short-lived, downscoped credentials used to access cloud storage + * locations where table data is stored in Databricks. These credentials provide secure and + * time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each + * cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS + * Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage + * services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary table credentials ensure that data access is limited in scope and duration, reducing * the risk of unauthorized access or misuse. To use the temporary table credentials API, a - * metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema - * level by catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only - * be granted by catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES + * metastore admin must enable the external_access_enabled flag (off by default) at the metastore + * level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the + * catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be + * granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES * on the schema for security reasons. * *

This is the high-level interface, that contains generated methods. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsAPI.java index d91363f13..e901bb890 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsAPI.java @@ -7,19 +7,19 @@ import com.databricks.sdk.support.Generated; /** - * Temporary Volume Credentials refer to short-lived, downscoped credentials used to access cloud - * storage locations where volume data is stored in Databricks. These credentials are employed to - * provide secure and time-limited access to data in cloud environments such as AWS, Azure, and - * Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session - * tokens via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for - * its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Volume Credentials are short-lived, downscoped credentials used to access cloud storage + * locations where volume data is stored in Databricks. These credentials provide secure and + * time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each + * cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS + * Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage + * services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary volume credentials ensure that data access is limited in scope and duration, * reducing the risk of unauthorized access or misuse. To use the temporary volume credentials API, - * a metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema - * level by catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only - * be granted by catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES + * a metastore admin must enable the external_access_enabled flag (off by default) at the metastore + * level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the + * catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be + * granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES * on the schema for security reasons. */ @Generated diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsService.java index 726abe937..242efb242 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TemporaryVolumeCredentialsService.java @@ -4,19 +4,19 @@ import com.databricks.sdk.support.Generated; /** - * Temporary Volume Credentials refer to short-lived, downscoped credentials used to access cloud - * storage locations where volume data is stored in Databricks. These credentials are employed to - * provide secure and time-limited access to data in cloud environments such as AWS, Azure, and - * Google Cloud. Each cloud provider has its own type of credentials: AWS uses temporary session - * tokens via AWS Security Token Service (STS), Azure utilizes Shared Access Signatures (SAS) for - * its data storage services, and Google Cloud supports temporary credentials through OAuth 2.0. + * Temporary Volume Credentials are short-lived, downscoped credentials used to access cloud storage + * locations where volume data is stored in Databricks. These credentials provide secure and + * time-limited access to data in cloud environments such as AWS, Azure, and Google Cloud. Each + * cloud provider has its own type of credentials: AWS uses temporary session tokens through AWS + * Security Token Service (STS), Azure uses Shared Access Signatures (SAS) for its data storage + * services, and Google Cloud supports temporary credentials through OAuth 2.0. * *

Temporary volume credentials ensure that data access is limited in scope and duration, * reducing the risk of unauthorized access or misuse. To use the temporary volume credentials API, - * a metastore admin needs to enable the external_access_enabled flag (off by default) at the - * metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema - * level by catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only - * be granted by catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES + * a metastore admin must enable the external_access_enabled flag (off by default) at the metastore + * level, and the user must be granted the EXTERNAL USE SCHEMA permission at the schema level by the + * catalog owner. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be + * granted by the catalog owner explicitly and is not included in schema ownership or ALL PRIVILEGES * on the schema for security reasons. * *

This is the high-level interface, that contains generated methods. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java index ebbf25311..cfe043d21 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java @@ -8,13 +8,13 @@ import com.databricks.sdk.support.Paginator; /** - * Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing and + * Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing, and * processing files. Use cases include running machine learning on unstructured data such as image, * audio, video, or PDF files, organizing data sets during the data exploration stages in data * science, working with libraries that require access to the local file system on cluster machines, * storing library and config files of arbitrary formats such as .whl or .txt centrally and - * providing secure access across workspaces to it, or transforming and querying non-tabular data - * files in ETL. + * providing secure access to those files across workspaces, or transforming and querying + * non-tabular data files in ETL. */ @Generated public class VolumesAPI { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesService.java index 14a3115b4..fd74b2630 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesService.java @@ -4,13 +4,13 @@ import com.databricks.sdk.support.Generated; /** - * Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing and + * Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing, and * processing files. Use cases include running machine learning on unstructured data such as image, * audio, video, or PDF files, organizing data sets during the data exploration stages in data * science, working with libraries that require access to the local file system on cluster machines, * storing library and config files of arbitrary formats such as .whl or .txt centrally and - * providing secure access across workspaces to it, or transforming and querying non-tabular data - * files in ETL. + * providing secure access to those files across workspaces, or transforming and querying + * non-tabular data files in ETL. * *

This is the high-level interface, that contains generated methods. * diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java index ad41bcda5..c88f90337 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java @@ -20,7 +20,7 @@ * securable. * *

The original path (/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}) is deprecated. - * Please use the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}) which + * Use the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}), which * introduces the ability to bind a securable in READ_ONLY mode (catalogs only). * *

Securable types that support binding: - catalog - storage_credential - credential - diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsService.java index 5b7b2ccf3..69e7247e5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsService.java @@ -16,7 +16,7 @@ * securable. * *

The original path (/api/2.1/unity-catalog/workspace-bindings/catalogs/{name}) is deprecated. - * Please use the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}) which + * Use the new path (/api/2.1/unity-catalog/bindings/{securable_type}/{securable_name}), which * introduces the ability to bind a securable in READ_ONLY mode (catalogs only). * *

Securable types that support binding: - catalog - storage_credential - credential - diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/AzureAttributes.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/AzureAttributes.java index ec8f49702..bbe79b8b8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/AzureAttributes.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/AzureAttributes.java @@ -17,6 +17,24 @@ public class AzureAttributes { @JsonProperty("availability") private AzureAvailability availability; + /** + * The Azure capacity reservation group resource ID to use for launching VMs. When specified, VMs + * will be launched using the provided capacity reservation. + * + *

Capacity reservations can only be specified when the workspace uses injected vnet (i.e. + * customer defined vnet not managed by databricks). Ensure the databricks-login-prod Enterprise + * Application is granted the following four permissions: 1. + * Microsoft.Compute/capacityReservationGroups/read 2. + * Microsoft.Compute/capacityReservationGroups/deploy/action 3. + * Microsoft.Compute/capacityReservationGroups/capacityReservations/read 4. + * Microsoft.Compute/capacityReservationGroups/capacityReservations/deploy/action + * + *

Format: + * `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}` + */ + @JsonProperty("capacity_reservation_group") + private String capacityReservationGroup; + /** * The first `first_on_demand` nodes of the cluster will be placed on on-demand instances. This * value should be greater than 0, to make sure the cluster driver node is placed on an on-demand @@ -51,6 +69,15 @@ public AzureAvailability getAvailability() { return availability; } + public AzureAttributes setCapacityReservationGroup(String capacityReservationGroup) { + this.capacityReservationGroup = capacityReservationGroup; + return this; + } + + public String getCapacityReservationGroup() { + return capacityReservationGroup; + } + public AzureAttributes setFirstOnDemand(Long firstOnDemand) { this.firstOnDemand = firstOnDemand; return this; @@ -84,6 +111,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; AzureAttributes that = (AzureAttributes) o; return Objects.equals(availability, that.availability) + && Objects.equals(capacityReservationGroup, that.capacityReservationGroup) && Objects.equals(firstOnDemand, that.firstOnDemand) && Objects.equals(logAnalyticsInfo, that.logAnalyticsInfo) && Objects.equals(spotBidMaxPrice, that.spotBidMaxPrice); @@ -91,13 +119,15 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(availability, firstOnDemand, logAnalyticsInfo, spotBidMaxPrice); + return Objects.hash( + availability, capacityReservationGroup, firstOnDemand, logAnalyticsInfo, spotBidMaxPrice); } @Override public String toString() { return new ToStringer(AzureAttributes.class) .add("availability", availability) + .add("capacityReservationGroup", capacityReservationGroup) .add("firstOnDemand", firstOnDemand) .add("logAnalyticsInfo", logAnalyticsInfo) .add("spotBidMaxPrice", spotBidMaxPrice) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/NodeType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/NodeType.java index 77a487607..04178573b 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/NodeType.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/NodeType.java @@ -76,7 +76,7 @@ public class NodeType { /** * Number of CPU cores available for this node type. Note that this can be fractional, e.g., 2.5 - * cores, if the the number of cores on a machine instance is not divisible by the number of Spark + * cores, if the number of cores on a machine instance is not divisible by the number of Spark * nodes on that machine. */ @JsonProperty("num_cores") diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardRequest.java index 59857321b..f9cfe3701 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardRequest.java @@ -16,8 +16,7 @@ public class RevertDashboardRequest { /** * The etag for the dashboard. Optionally, it can be provided to verify that the dashboard has not - * been modified from its last retrieval. TODO(TSE-3937): update to new non-CMK-encrypted label - * when available + * been modified from its last retrieval. */ @JsonProperty("etag") private String etag; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseCatalog.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseCatalog.java index 06049eb18..aca405880 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseCatalog.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseCatalog.java @@ -17,7 +17,7 @@ public class DatabaseCatalog { @JsonProperty("database_instance_name") private String databaseInstanceName; - /** The name of the database (in a instance) associated with the catalog. */ + /** The name of the database (in an instance) associated with the catalog. */ @JsonProperty("database_name") private String databaseName; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DeleteDatabaseInstanceRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DeleteDatabaseInstanceRequest.java index 77efb764f..919f36b0a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DeleteDatabaseInstanceRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DeleteDatabaseInstanceRequest.java @@ -11,7 +11,7 @@ @Generated public class DeleteDatabaseInstanceRequest { /** - * By default, a instance cannot be deleted if it has descendant instances created via PITR. If + * By default, an instance cannot be deleted if it has descendant instances created via PITR. If * this flag is specified as true, all descendent instances will be deleted as well. */ @JsonIgnore diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpec.java index 6d156777a..c2ad8abd5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpec.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpec.java @@ -11,6 +11,13 @@ /** Specification of a synced database table. */ @Generated public class SyncedTableSpec { + /** + * When true, enables accelerated sync mode for the initial data load. This significantly improves + * performance for large tables. Requires workspace-level enablement. + */ + @JsonProperty("accelerated_sync") + private Boolean acceleratedSync; + /** * If true, the synced table's logical database and schema resources in PG will be created if they * do not already exist. @@ -57,6 +64,22 @@ public class SyncedTableSpec { @JsonProperty("timeseries_key") private String timeseriesKey; + /** + * Override the default Delta->PG type mapping for specific columns. A TypeOverride with + * PG_SPECIFIC_TYPE_UNSPECIFIED is rejected; a valid pg_type must be set. + */ + @JsonProperty("type_overrides") + private Collection typeOverrides; + + public SyncedTableSpec setAcceleratedSync(Boolean acceleratedSync) { + this.acceleratedSync = acceleratedSync; + return this; + } + + public Boolean getAcceleratedSync() { + return acceleratedSync; + } + public SyncedTableSpec setCreateDatabaseObjectsIfMissing(Boolean createDatabaseObjectsIfMissing) { this.createDatabaseObjectsIfMissing = createDatabaseObjectsIfMissing; return this; @@ -120,35 +143,49 @@ public String getTimeseriesKey() { return timeseriesKey; } + public SyncedTableSpec setTypeOverrides(Collection typeOverrides) { + this.typeOverrides = typeOverrides; + return this; + } + + public Collection getTypeOverrides() { + return typeOverrides; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SyncedTableSpec that = (SyncedTableSpec) o; - return Objects.equals(createDatabaseObjectsIfMissing, that.createDatabaseObjectsIfMissing) + return Objects.equals(acceleratedSync, that.acceleratedSync) + && Objects.equals(createDatabaseObjectsIfMissing, that.createDatabaseObjectsIfMissing) && Objects.equals(existingPipelineId, that.existingPipelineId) && Objects.equals(newPipelineSpec, that.newPipelineSpec) && Objects.equals(primaryKeyColumns, that.primaryKeyColumns) && Objects.equals(schedulingPolicy, that.schedulingPolicy) && Objects.equals(sourceTableFullName, that.sourceTableFullName) - && Objects.equals(timeseriesKey, that.timeseriesKey); + && Objects.equals(timeseriesKey, that.timeseriesKey) + && Objects.equals(typeOverrides, that.typeOverrides); } @Override public int hashCode() { return Objects.hash( + acceleratedSync, createDatabaseObjectsIfMissing, existingPipelineId, newPipelineSpec, primaryKeyColumns, schedulingPolicy, sourceTableFullName, - timeseriesKey); + timeseriesKey, + typeOverrides); } @Override public String toString() { return new ToStringer(SyncedTableSpec.class) + .add("acceleratedSync", acceleratedSync) .add("createDatabaseObjectsIfMissing", createDatabaseObjectsIfMissing) .add("existingPipelineId", existingPipelineId) .add("newPipelineSpec", newPipelineSpec) @@ -156,6 +193,7 @@ public String toString() { .add("schedulingPolicy", schedulingPolicy) .add("sourceTableFullName", sourceTableFullName) .add("timeseriesKey", timeseriesKey) + .add("typeOverrides", typeOverrides) .toString(); } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecPgSpecificType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecPgSpecificType.java new file mode 100755 index 000000000..90d026bf9 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecPgSpecificType.java @@ -0,0 +1,11 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.database; + +import com.databricks.sdk.support.Generated; + +/** PostgreSQL-specific target types that can override the default Delta-to-PG mapping. */ +@Generated +public enum SyncedTableSpecPgSpecificType { + PG_SPECIFIC_TYPE_VECTOR, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecTypeOverride.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecTypeOverride.java new file mode 100755 index 000000000..5f43ab17a --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/SyncedTableSpecTypeOverride.java @@ -0,0 +1,78 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.database; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Overrides the default Delta-to-PostgreSQL type mapping for a single column. */ +@Generated +public class SyncedTableSpecTypeOverride { + /** Name of the source column whose target PostgreSQL type should be overridden. */ + @JsonProperty("column_name") + private String columnName; + + /** PostgreSQL-specific target type to use for the column. */ + @JsonProperty("pg_type") + private SyncedTableSpecPgSpecificType pgType; + + /** + * Size parameter for the target type. Required when pg_type is PG_SPECIFIC_TYPE_VECTOR (specifies + * the vector dimension, e.g., 1024). + */ + @JsonProperty("size") + private Long size; + + public SyncedTableSpecTypeOverride setColumnName(String columnName) { + this.columnName = columnName; + return this; + } + + public String getColumnName() { + return columnName; + } + + public SyncedTableSpecTypeOverride setPgType(SyncedTableSpecPgSpecificType pgType) { + this.pgType = pgType; + return this; + } + + public SyncedTableSpecPgSpecificType getPgType() { + return pgType; + } + + public SyncedTableSpecTypeOverride setSize(Long size) { + this.size = size; + return this; + } + + public Long getSize() { + return size; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SyncedTableSpecTypeOverride that = (SyncedTableSpecTypeOverride) o; + return Objects.equals(columnName, that.columnName) + && Objects.equals(pgType, that.pgType) + && Objects.equals(size, that.size); + } + + @Override + public int hashCode() { + return Objects.hash(columnName, pgType, size); + } + + @Override + public String toString() { + return new ToStringer(SyncedTableSpecTypeOverride.class) + .add("columnName", columnName) + .add("pgType", pgType) + .add("size", size) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java index 7a1de488d..f05437b57 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java @@ -122,7 +122,7 @@ public Iterable listDirectoryContents(String directoryPath) { /** * Returns the contents of a directory. If there is no directory at the specified path, the API - * returns a HTTP 404 error. + * returns an HTTP 404 error. */ public Iterable listDirectoryContents(ListDirectoryContentsRequest request) { return Paginator.newTokenPagination( diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesService.java index 86fb44603..91b942fd1 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesService.java @@ -71,7 +71,7 @@ public interface FilesService { /** * Returns the contents of a directory. If there is no directory at the specified path, the API - * returns a HTTP 404 error. + * returns an HTTP 404 error. */ ListDirectoryResponse listDirectoryContents( ListDirectoryContentsRequest listDirectoryContentsRequest); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java index 435bf1409..b0ce460b7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java @@ -91,7 +91,11 @@ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails(lon new ListWorkspaceAssignmentDetailsRequest().setWorkspaceId(workspaceId)); } - /** Lists workspace assignment details for a workspace. */ + /** + * Lists workspace assignment details for a workspace. For scalability, the response omits the + * per-principal entitlement fields (`entitlements` and `effective_entitlements`); call + * GetWorkspaceAssignmentDetail to read entitlements for a single principal. + */ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails( ListWorkspaceAssignmentDetailsRequest request) { return impl.listWorkspaceAssignmentDetails(request); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java index 9c3422fc0..d61010f20 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2Service.java @@ -45,7 +45,11 @@ WorkspaceAccessDetail getWorkspaceAccessDetail( WorkspaceAssignmentDetail getWorkspaceAssignmentDetail( GetWorkspaceAssignmentDetailRequest getWorkspaceAssignmentDetailRequest); - /** Lists workspace assignment details for a workspace. */ + /** + * Lists workspace assignment details for a workspace. For scalability, the response omits the + * per-principal entitlement fields (`entitlements` and `effective_entitlements`); call + * GetWorkspaceAssignmentDetail to read entitlements for a single principal. + */ ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetails( ListWorkspaceAssignmentDetailsRequest listWorkspaceAssignmentDetailsRequest); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignmentDetail.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignmentDetail.java index f8690e186..91084a6ed 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignmentDetail.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceAssignmentDetail.java @@ -15,7 +15,12 @@ public class WorkspaceAssignmentDetail { @JsonProperty("account_id") private String accountId; - /** */ + /** + * Entitlements granted directly to the principal on this workspace. The only client-settable + * field: create and update manage exactly this set (including entitlements the principal also + * holds via a group). Not populated by ListWorkspaceAssignmentDetails (omitted for scalability); + * call GetWorkspaceAssignmentDetail to read the entitlements for a single principal. + */ @JsonProperty("entitlements") private Collection entitlements; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java index c295aed36..092608d8e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2API.java @@ -82,7 +82,12 @@ public WorkspaceAssignmentDetail getWorkspaceAssignmentDetailProxy( return impl.getWorkspaceAssignmentDetailProxy(request); } - /** Lists workspace assignment details for a workspace (workspace-level proxy). */ + /** + * Lists workspace assignment details for a workspace (workspace-level proxy). For scalability, + * the response omits the per-principal entitlement fields (`entitlements` and + * `effective_entitlements`); call GetWorkspaceAssignmentDetailProxy to read entitlements for a + * single principal. + */ public ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetailsProxy( ListWorkspaceAssignmentDetailsProxyRequest request) { return impl.listWorkspaceAssignmentDetailsProxy(request); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java index fb6c66af4..1d9551c5d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/WorkspaceIamV2Service.java @@ -46,7 +46,12 @@ WorkspaceAccessDetail getWorkspaceAccessDetailLocal( WorkspaceAssignmentDetail getWorkspaceAssignmentDetailProxy( GetWorkspaceAssignmentDetailProxyRequest getWorkspaceAssignmentDetailProxyRequest); - /** Lists workspace assignment details for a workspace (workspace-level proxy). */ + /** + * Lists workspace assignment details for a workspace (workspace-level proxy). For scalability, + * the response omits the per-principal entitlement fields (`entitlements` and + * `effective_entitlements`); call GetWorkspaceAssignmentDetailProxy to read entitlements for a + * single principal. + */ ListWorkspaceAssignmentDetailsResponse listWorkspaceAssignmentDetailsProxy( ListWorkspaceAssignmentDetailsProxyRequest listWorkspaceAssignmentDetailsProxyRequest); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/BaseRun.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/BaseRun.java index 3b1b2da28..4d890aad6 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/BaseRun.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/BaseRun.java @@ -206,7 +206,7 @@ public class BaseRun { /** * The list of tasks performed by the run. Each task has its own `run_id` which you can use to - * call `JobsGetOutput` to retrieve the run resutls. If more than 100 tasks are available, you can + * call `JobsGetOutput` to retrieve the run results. If more than 100 tasks are available, you can * paginate through them using :method:jobs/getrun. Use the `next_page_token` field at the object * root to determine if more results are available. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/ForEachTaskErrorMessageStats.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/ForEachTaskErrorMessageStats.java index 4546b54d5..ca34850f3 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/ForEachTaskErrorMessageStats.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/ForEachTaskErrorMessageStats.java @@ -13,7 +13,7 @@ public class ForEachTaskErrorMessageStats { @JsonProperty("count") private Long count; - /** Describes the error message occured during the iterations. */ + /** Describes the error message occurred during the iterations. */ @JsonProperty("error_message") private String errorMessage; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Run.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Run.java index f46de2d24..6258f24fa 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Run.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Run.java @@ -215,7 +215,7 @@ public class Run { /** * The list of tasks performed by the run. Each task has its own `run_id` which you can use to - * call `JobsGetOutput` to retrieve the run resutls. If more than 100 tasks are available, you can + * call `JobsGetOutput` to retrieve the run results. If more than 100 tasks are available, you can * paginate through them using :method:jobs/getrun. Use the `next_page_token` field at the object * root to determine if more results are available. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunForEachTask.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunForEachTask.java index c146ae3cb..ce2176674 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunForEachTask.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunForEachTask.java @@ -24,7 +24,7 @@ public class RunForEachTask { /** * Read only field. Populated for GetRun and ListRuns RPC calls and stores the execution stats of - * an For each task + * a `For each` task. */ @JsonProperty("stats") private ForEachStats stats; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/FileParent.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/FileParent.java index d5c91c318..506a76628 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/FileParent.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/FileParent.java @@ -15,7 +15,7 @@ public class FileParent { @QueryParam("file_parent_type") private FileParentType fileParentType; - /** TODO make the following fields required */ + /** */ @JsonProperty("parent_id") @QueryParam("parent_id") private String parentId; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListingDetail.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListingDetail.java index dcf891232..5a80dbc00 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListingDetail.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListingDetail.java @@ -63,7 +63,7 @@ public class ListingDetail { /** * What the pricing model is (e.g. paid, subscription, paid upfront); should only be present if - * cost is paid TODO: Not used yet, should deprecate if we will never use it + * cost is paid */ @JsonProperty("pricing_model") private String pricingModel; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java index 3d04bca5e..048805404 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java @@ -12,9 +12,9 @@ public class AvgFunction { /** * The input column from which the average is computed. For Kafka sources, use dot-prefixed path - * notation (e.g., "value.amount"). For nested fields, the leaf node name is used. TODO(FS-939): - * Colon-prefixed notation (e.g., "value:amount") is supported for backwards compatibility but is - * deprecated; migrate to dot notation. + * notation (e.g., "value.amount"). For nested fields, the leaf node name is used. Colon-prefixed + * notation (e.g., "value:amount") is supported for backwards compatibility but is deprecated; + * migrate to dot notation. */ @JsonProperty("input") private String input; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java index 78ea3774e..879a11f51 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java @@ -12,9 +12,9 @@ public class CountFunction { /** * The input column from which the count is computed. For Kafka sources, use dot-prefixed path - * notation (e.g., "value.amount"). For nested fields, the leaf node name is used. TODO(FS-939): - * Colon-prefixed notation (e.g., "value:amount") is supported for backwards compatibility but is - * deprecated; migrate to dot notation. + * notation (e.g., "value.amount"). For nested fields, the leaf node name is used. Colon-prefixed + * notation (e.g., "value:amount") is supported for backwards compatibility but is deprecated; + * migrate to dot notation. */ @JsonProperty("input") private String input; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DirectMtlsConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DirectMtlsConfig.java index 00f861701..e9b6aaafa 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DirectMtlsConfig.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DirectMtlsConfig.java @@ -8,8 +8,8 @@ import java.util.Objects; /** - * Direct connection configs for mTLS, as Kafka Connections do not support mTLS yet (XTA-18030). - * Temporarily used until UC Kafka Connections gain mTLS support. + * Direct connection configs for mTLS, as Kafka Connections do not support mTLS yet . Temporarily + * used until UC Kafka Connections gain mTLS support. */ @Generated public class DirectMtlsConfig { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java index 17e0cf207..07684946e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java @@ -13,9 +13,9 @@ public class EntityColumn { * The name of the entity column. For Kafka sources, use dot-prefixed path notation to reference * fields within the key or value schema (e.g., "value.user_id", "key.partition_key"). For nested * fields, the leaf node name (e.g., "user_id" from "value.trip_details.user_id") is what will be - * present in materialized tables and expected to match at query time. TODO(FS-939): - * Colon-prefixed notation (e.g., "value:user_id") is supported for backwards compatibility but is - * deprecated; migrate to dot notation. + * present in materialized tables and expected to match at query time. Colon-prefixed notation + * (e.g., "value:user_id") is supported for backwards compatibility but is deprecated; migrate to + * dot notation. */ @JsonProperty("name") private String name; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaStreamConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaStreamConfig.java index 59330f031..5866457f9 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaStreamConfig.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaStreamConfig.java @@ -12,9 +12,12 @@ @Generated public class KafkaStreamConfig { /** - * Miscellaneous source options. Accepted keys are source options or Kafka consumer options - * (kafka.*), validated against an allow-list at request time. All auth configuration goes through - * the underlying UC Connection(s) or configs and should not be stored here. + * Optional Kafka source or consumer options, validated against a server-side allowlist at request + * time. Allowed keys: - `maxOffsetsPerTrigger` - `startingOffsets` - `includeHeaders` - + * `kafka.request.timeout.ms` - `kafka.session.timeout.ms` - `kafka.max.partition.fetch.bytes` The + * following keys are ingestion-only and are stripped before being forwarded to the + * materialization pipeline: - `maxOffsetsPerTrigger` - `startingOffsets` Auth and connection + * details belong on the parent Stream's `connection_config`, not here. */ @JsonProperty("extra_options") private Map extraOptions; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LinkedFeature.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LinkedFeature.java index 5842cdf45..bc4e305d3 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LinkedFeature.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LinkedFeature.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; -/** Feature for model version. ([ML-57150] Renamed from Feature to LinkedFeature) */ +/** Feature for model version. */ @Generated public class LinkedFeature { /** Feature name */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java index b9e551b15..483b534ab 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java @@ -13,8 +13,8 @@ public class StddevPopFunction { /** * The input column from which the population standard deviation is computed. For Kafka sources, * use dot-prefixed path notation (e.g., "value.amount"). For nested fields, the leaf node name is - * used. TODO(FS-939): Colon-prefixed notation (e.g., "value:amount") is supported for backwards - * compatibility but is deprecated; migrate to dot notation. + * used. Colon-prefixed notation (e.g., "value:amount") is supported for backwards compatibility + * but is deprecated; migrate to dot notation. */ @JsonProperty("input") private String input; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StreamConnectionConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StreamConnectionConfig.java index 758f1ba5d..1b2f9da58 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StreamConnectionConfig.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StreamConnectionConfig.java @@ -12,8 +12,8 @@ public class StreamConnectionConfig { /** * Direct mTLS configuration for stream platform access. This is only used in the short term until - * UC Kafka Connections support mTLS (XTA-18030). Once UC Kafka Connections support mTLS, this - * will be deprecated. + * UC Kafka Connections support mTLS . Once UC Kafka Connections support mTLS, this will be + * deprecated. */ @JsonProperty("direct_mtls_config") private DirectMtlsConfig directMtlsConfig; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java index 8da774fe0..18783544d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java @@ -12,9 +12,9 @@ public class SumFunction { /** * The input column from which the sum is computed. For Kafka sources, use dot-prefixed path - * notation (e.g., "value.amount"). For nested fields, the leaf node name is used. TODO(FS-939): - * Colon-prefixed notation (e.g., "value:amount") is supported for backwards compatibility but is - * deprecated; migrate to dot notation. + * notation (e.g., "value.amount"). For nested fields, the leaf node name is used. Colon-prefixed + * notation (e.g., "value:amount") is supported for backwards compatibility but is deprecated; + * migrate to dot notation. */ @JsonProperty("input") private String input; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java index fef3a9662..951c7030d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java @@ -14,8 +14,8 @@ public class TimeseriesColumn { * reference fields within the key or value schema (e.g., "value.event_timestamp"). For nested * fields, the leaf node name (e.g., "event_timestamp" from "value.event_details.event_timestamp") * is what will be present in materialized tables and expected to match at query time. - * TODO(FS-939): Colon-prefixed notation (e.g., "value:event_timestamp") is supported for - * backwards compatibility but is deprecated; migrate to dot notation. + * Colon-prefixed notation (e.g., "value:event_timestamp") is supported for backwards + * compatibility but is deprecated; migrate to dot notation. */ @JsonProperty("name") private String name; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiOperation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiOperation.java new file mode 100755 index 000000000..79568a30a --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiOperation.java @@ -0,0 +1,162 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.core.DatabricksException; +import com.databricks.sdk.core.logging.Logger; +import com.databricks.sdk.core.logging.LoggerFactory; +import com.databricks.sdk.core.utils.SerDeUtils; +import com.databricks.sdk.service.common.lro.LroOptions; +import com.databricks.sdk.support.Generated; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.Duration; +import java.util.Optional; +import java.util.concurrent.TimeoutException; + +/** + * Wrapper for interacting with a long-running createDataApi operation. Provides methods to wait for + * completion, check status, cancel, and access metadata. + */ +@Generated +public class CreateDataApiOperation { + private static final Logger LOG = LoggerFactory.getLogger(CreateDataApiOperation.class); + + private final PostgresService impl; + private Operation operation; + private final ObjectMapper objectMapper; + + public CreateDataApiOperation(PostgresService impl, Operation operation) { + this.impl = impl; + this.operation = operation; + this.objectMapper = SerDeUtils.createMapper(); + } + + /** + * Wait for the operation to complete and return the resulting DataApi. Waits indefinitely if no + * timeout is specified. + * + * @return the created DataApi + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public DataApi waitForCompletion() throws TimeoutException { + return waitForCompletion(Optional.empty()); + } + + /** + * Wait for the operation to complete and return the resulting DataApi. + * + * @param options the options for configuring the wait behavior, can be empty for defaults + * @return the created DataApi + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public DataApi waitForCompletion(Optional options) throws TimeoutException { + Optional timeout = options.flatMap(LroOptions::getTimeout); + long deadline = + timeout.isPresent() + ? System.currentTimeMillis() + timeout.get().toMillis() + : Long.MAX_VALUE; + String statusMessage = "polling operation..."; + int attempt = 1; + + while (System.currentTimeMillis() < deadline) { + // Refresh the operation state + refreshOperation(); + + if (operation.getDone() != null && operation.getDone()) { + // Operation completed, check for success or failure + if (operation.getError() != null) { + String errorMsg = "unknown error"; + if (operation.getError().getMessage() != null + && !operation.getError().getMessage().isEmpty()) { + errorMsg = operation.getError().getMessage(); + } + + if (operation.getError().getErrorCode() != null) { + errorMsg = String.format("[%s] %s", operation.getError().getErrorCode(), errorMsg); + } + + throw new DatabricksException("Operation failed: " + errorMsg); + } + + // Operation completed successfully, unmarshal response + if (operation.getResponse() == null) { + throw new DatabricksException("Operation completed but no response available"); + } + + try { + JsonNode responseJson = objectMapper.valueToTree(operation.getResponse()); + return objectMapper.treeToValue(responseJson, DataApi.class); + } catch (JsonProcessingException e) { + throw new DatabricksException( + "Failed to unmarshal dataApi response: " + e.getMessage(), e); + } + } + + // Operation still in progress, wait before polling again + String prefix = String.format("operation=%s", operation.getName()); + int sleep = Math.min(attempt, 10); // sleep 10s max per attempt + LOG.info("{}: operation in progress (sleeping ~{}s)", prefix, sleep); + + try { + Thread.sleep((long) (sleep * 1000L + Math.random() * 1000)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new DatabricksException("Current thread was interrupted", e); + } + attempt++; + } + + String timeoutMessage = + timeout.isPresent() + ? String.format("Operation timed out after %s: %s", timeout.get(), statusMessage) + : String.format("Operation timed out: %s", statusMessage); + throw new TimeoutException(timeoutMessage); + } + + /** + * Get the operation name. + * + * @return the operation name + */ + public String getName() { + return operation.getName(); + } + + /** + * Get the operation metadata. + * + * @return the operation metadata, or null if not available + * @throws DatabricksException if the metadata cannot be deserialized + */ + public DataApiOperationMetadata getMetadata() { + if (operation.getMetadata() == null) { + return null; + } + + try { + JsonNode metadataJson = objectMapper.valueToTree(operation.getMetadata()); + return objectMapper.treeToValue(metadataJson, DataApiOperationMetadata.class); + } catch (JsonProcessingException e) { + throw new DatabricksException("Failed to unmarshal operation metadata: " + e.getMessage(), e); + } + } + + /** + * Check if the operation is done. This method refreshes the operation state before checking. + * + * @return true if the operation is complete, false otherwise + * @throws DatabricksException if the status check fails + */ + public boolean isDone() { + refreshOperation(); + return operation.getDone() != null && operation.getDone(); + } + + /** Refresh the operation state by polling the server. */ + private void refreshOperation() { + operation = impl.getOperation(new GetOperationRequest().setName(operation.getName())); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiRequest.java new file mode 100755 index 000000000..b481a3120 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/CreateDataApiRequest.java @@ -0,0 +1,58 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CreateDataApiRequest { + /** The Data API configuration to create. */ + @JsonProperty("data_api") + private DataApi dataApi; + + /** Parent database: projects/{project_id}/branches/{branch_id}/databases/{database_id} */ + @JsonIgnore private String parent; + + public CreateDataApiRequest setDataApi(DataApi dataApi) { + this.dataApi = dataApi; + return this; + } + + public DataApi getDataApi() { + return dataApi; + } + + public CreateDataApiRequest setParent(String parent) { + this.parent = parent; + return this; + } + + public String getParent() { + return parent; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CreateDataApiRequest that = (CreateDataApiRequest) o; + return Objects.equals(dataApi, that.dataApi) && Objects.equals(parent, that.parent); + } + + @Override + public int hashCode() { + return Objects.hash(dataApi, parent); + } + + @Override + public String toString() { + return new ToStringer(CreateDataApiRequest.class) + .add("dataApi", dataApi) + .add("parent", parent) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApi.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApi.java new file mode 100755 index 000000000..c3974bcaa --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApi.java @@ -0,0 +1,127 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.Timestamp; +import java.util.Objects; + +/** + * DataApi represents the Data API (PostgREST) configuration for a Database. At most one DataApi per + * database. Create enables Data API, Delete disables it. + */ +@Generated +public class DataApi { + /** A timestamp indicating when the Data API was first enabled. */ + @JsonProperty("create_time") + private Timestamp createTime; + + /** Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api */ + @JsonProperty("name") + private String name; + + /** + * The database containing this Data API configuration. Format: + * projects/{project_id}/branches/{branch_id}/databases/{database_id} + */ + @JsonProperty("parent") + private String parent; + + /** The desired Data API configuration. */ + @JsonProperty("spec") + private DataApiDataApiSpec spec; + + /** The observed Data API state (read-only). */ + @JsonProperty("status") + private DataApiDataApiStatus status; + + /** A timestamp indicating when the Data API configuration was last updated. */ + @JsonProperty("update_time") + private Timestamp updateTime; + + public DataApi setCreateTime(Timestamp createTime) { + this.createTime = createTime; + return this; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public DataApi setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public DataApi setParent(String parent) { + this.parent = parent; + return this; + } + + public String getParent() { + return parent; + } + + public DataApi setSpec(DataApiDataApiSpec spec) { + this.spec = spec; + return this; + } + + public DataApiDataApiSpec getSpec() { + return spec; + } + + public DataApi setStatus(DataApiDataApiStatus status) { + this.status = status; + return this; + } + + public DataApiDataApiStatus getStatus() { + return status; + } + + public DataApi setUpdateTime(Timestamp updateTime) { + this.updateTime = updateTime; + return this; + } + + public Timestamp getUpdateTime() { + return updateTime; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DataApi that = (DataApi) o; + return Objects.equals(createTime, that.createTime) + && Objects.equals(name, that.name) + && Objects.equals(parent, that.parent) + && Objects.equals(spec, that.spec) + && Objects.equals(status, that.status) + && Objects.equals(updateTime, that.updateTime); + } + + @Override + public int hashCode() { + return Objects.hash(createTime, name, parent, spec, status, updateTime); + } + + @Override + public String toString() { + return new ToStringer(DataApi.class) + .add("createTime", createTime) + .add("name", name) + .add("parent", parent) + .add("spec", spec) + .add("status", status) + .add("updateTime", updateTime) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiSpec.java new file mode 100755 index 000000000..dd3eec9fd --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiSpec.java @@ -0,0 +1,186 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.Duration; +import java.util.Collection; +import java.util.Objects; + +/** Desired PostgREST configuration (input). */ +@Generated +public class DataApiDataApiSpec { + /** Enable aggregate functions (count, sum, avg, etc.) in Data API responses. Default: true. */ + @JsonProperty("db_aggregates_enabled") + private Boolean dbAggregatesEnabled; + + /** + * Additional schemas to include in the PostgreSQL search path. Each entry must be a valid + * PostgreSQL schema name. + */ + @JsonProperty("db_extra_search_path") + private Collection dbExtraSearchPath; + + /** Maximum number of rows returned in a single Data API response. Must be a positive integer. */ + @JsonProperty("db_max_rows") + private Long dbMaxRows; + + /** + * Database schemas exposed through the Data API. Each entry must be a valid PostgreSQL schema + * name (1-63 chars, [a-zA-Z_][a-zA-Z0-9_$]*). Maximum 100 entries. Default: ["public"]. + */ + @JsonProperty("db_schemas") + private Collection dbSchemas; + + /** Maximum lifetime for cached JWT tokens. Zero duration disables caching. */ + @JsonProperty("jwt_cache_max_lifetime") + private Duration jwtCacheMaxLifetime; + + /** JSON path to the role claim in JWT tokens (e.g., ".sub"). Default: ".sub". */ + @JsonProperty("jwt_role_claim_key") + private String jwtRoleClaimKey; + + /** OpenAPI documentation mode for the Data API endpoint. */ + @JsonProperty("openapi_mode") + private OpenApiMode openapiMode; + + /** + * Allowed origins for CORS requests. Each entry should be a valid origin URL, or use "*" to allow + * all origins. + */ + @JsonProperty("server_cors_allowed_origins") + private Collection serverCorsAllowedOrigins; + + /** Enable the Server-Timing header in Data API responses. */ + @JsonProperty("server_timing_enabled") + private Boolean serverTimingEnabled; + + public DataApiDataApiSpec setDbAggregatesEnabled(Boolean dbAggregatesEnabled) { + this.dbAggregatesEnabled = dbAggregatesEnabled; + return this; + } + + public Boolean getDbAggregatesEnabled() { + return dbAggregatesEnabled; + } + + public DataApiDataApiSpec setDbExtraSearchPath(Collection dbExtraSearchPath) { + this.dbExtraSearchPath = dbExtraSearchPath; + return this; + } + + public Collection getDbExtraSearchPath() { + return dbExtraSearchPath; + } + + public DataApiDataApiSpec setDbMaxRows(Long dbMaxRows) { + this.dbMaxRows = dbMaxRows; + return this; + } + + public Long getDbMaxRows() { + return dbMaxRows; + } + + public DataApiDataApiSpec setDbSchemas(Collection dbSchemas) { + this.dbSchemas = dbSchemas; + return this; + } + + public Collection getDbSchemas() { + return dbSchemas; + } + + public DataApiDataApiSpec setJwtCacheMaxLifetime(Duration jwtCacheMaxLifetime) { + this.jwtCacheMaxLifetime = jwtCacheMaxLifetime; + return this; + } + + public Duration getJwtCacheMaxLifetime() { + return jwtCacheMaxLifetime; + } + + public DataApiDataApiSpec setJwtRoleClaimKey(String jwtRoleClaimKey) { + this.jwtRoleClaimKey = jwtRoleClaimKey; + return this; + } + + public String getJwtRoleClaimKey() { + return jwtRoleClaimKey; + } + + public DataApiDataApiSpec setOpenapiMode(OpenApiMode openapiMode) { + this.openapiMode = openapiMode; + return this; + } + + public OpenApiMode getOpenapiMode() { + return openapiMode; + } + + public DataApiDataApiSpec setServerCorsAllowedOrigins( + Collection serverCorsAllowedOrigins) { + this.serverCorsAllowedOrigins = serverCorsAllowedOrigins; + return this; + } + + public Collection getServerCorsAllowedOrigins() { + return serverCorsAllowedOrigins; + } + + public DataApiDataApiSpec setServerTimingEnabled(Boolean serverTimingEnabled) { + this.serverTimingEnabled = serverTimingEnabled; + return this; + } + + public Boolean getServerTimingEnabled() { + return serverTimingEnabled; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DataApiDataApiSpec that = (DataApiDataApiSpec) o; + return Objects.equals(dbAggregatesEnabled, that.dbAggregatesEnabled) + && Objects.equals(dbExtraSearchPath, that.dbExtraSearchPath) + && Objects.equals(dbMaxRows, that.dbMaxRows) + && Objects.equals(dbSchemas, that.dbSchemas) + && Objects.equals(jwtCacheMaxLifetime, that.jwtCacheMaxLifetime) + && Objects.equals(jwtRoleClaimKey, that.jwtRoleClaimKey) + && Objects.equals(openapiMode, that.openapiMode) + && Objects.equals(serverCorsAllowedOrigins, that.serverCorsAllowedOrigins) + && Objects.equals(serverTimingEnabled, that.serverTimingEnabled); + } + + @Override + public int hashCode() { + return Objects.hash( + dbAggregatesEnabled, + dbExtraSearchPath, + dbMaxRows, + dbSchemas, + jwtCacheMaxLifetime, + jwtRoleClaimKey, + openapiMode, + serverCorsAllowedOrigins, + serverTimingEnabled); + } + + @Override + public String toString() { + return new ToStringer(DataApiDataApiSpec.class) + .add("dbAggregatesEnabled", dbAggregatesEnabled) + .add("dbExtraSearchPath", dbExtraSearchPath) + .add("dbMaxRows", dbMaxRows) + .add("dbSchemas", dbSchemas) + .add("jwtCacheMaxLifetime", jwtCacheMaxLifetime) + .add("jwtRoleClaimKey", jwtRoleClaimKey) + .add("openapiMode", openapiMode) + .add("serverCorsAllowedOrigins", serverCorsAllowedOrigins) + .add("serverTimingEnabled", serverTimingEnabled) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiStatus.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiStatus.java new file mode 100755 index 000000000..98cdad25b --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiDataApiStatus.java @@ -0,0 +1,209 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.Duration; +import java.util.Collection; +import java.util.Objects; + +/** Observed state (output-only). */ +@Generated +public class DataApiDataApiStatus { + /** Schemas available in the database (for reference when configuring db_schemas). */ + @JsonProperty("available_schemas") + private Collection availableSchemas; + + /** Actual aggregate function setting read from the database. */ + @JsonProperty("db_aggregates_enabled") + private Boolean dbAggregatesEnabled; + + /** Actual extra search path schemas read from the database. */ + @JsonProperty("db_extra_search_path") + private Collection dbExtraSearchPath; + + /** Actual max rows setting read from the database. */ + @JsonProperty("db_max_rows") + private Long dbMaxRows; + + /** Actual exposed schemas read from the database. */ + @JsonProperty("db_schemas") + private Collection dbSchemas; + + /** Actual JWT cache max lifetime read from the database. */ + @JsonProperty("jwt_cache_max_lifetime") + private Duration jwtCacheMaxLifetime; + + /** Actual JWT role claim key read from the database. */ + @JsonProperty("jwt_role_claim_key") + private String jwtRoleClaimKey; + + /** Actual OpenAPI mode read from the database. */ + @JsonProperty("openapi_mode") + private OpenApiMode openapiMode; + + /** Actual CORS allowed origins read from the database. */ + @JsonProperty("server_cors_allowed_origins") + private Collection serverCorsAllowedOrigins; + + /** Actual Server-Timing header setting read from the database. */ + @JsonProperty("server_timing_enabled") + private Boolean serverTimingEnabled; + + /** Data API endpoint URL. */ + @JsonProperty("url") + private String url; + + public DataApiDataApiStatus setAvailableSchemas(Collection availableSchemas) { + this.availableSchemas = availableSchemas; + return this; + } + + public Collection getAvailableSchemas() { + return availableSchemas; + } + + public DataApiDataApiStatus setDbAggregatesEnabled(Boolean dbAggregatesEnabled) { + this.dbAggregatesEnabled = dbAggregatesEnabled; + return this; + } + + public Boolean getDbAggregatesEnabled() { + return dbAggregatesEnabled; + } + + public DataApiDataApiStatus setDbExtraSearchPath(Collection dbExtraSearchPath) { + this.dbExtraSearchPath = dbExtraSearchPath; + return this; + } + + public Collection getDbExtraSearchPath() { + return dbExtraSearchPath; + } + + public DataApiDataApiStatus setDbMaxRows(Long dbMaxRows) { + this.dbMaxRows = dbMaxRows; + return this; + } + + public Long getDbMaxRows() { + return dbMaxRows; + } + + public DataApiDataApiStatus setDbSchemas(Collection dbSchemas) { + this.dbSchemas = dbSchemas; + return this; + } + + public Collection getDbSchemas() { + return dbSchemas; + } + + public DataApiDataApiStatus setJwtCacheMaxLifetime(Duration jwtCacheMaxLifetime) { + this.jwtCacheMaxLifetime = jwtCacheMaxLifetime; + return this; + } + + public Duration getJwtCacheMaxLifetime() { + return jwtCacheMaxLifetime; + } + + public DataApiDataApiStatus setJwtRoleClaimKey(String jwtRoleClaimKey) { + this.jwtRoleClaimKey = jwtRoleClaimKey; + return this; + } + + public String getJwtRoleClaimKey() { + return jwtRoleClaimKey; + } + + public DataApiDataApiStatus setOpenapiMode(OpenApiMode openapiMode) { + this.openapiMode = openapiMode; + return this; + } + + public OpenApiMode getOpenapiMode() { + return openapiMode; + } + + public DataApiDataApiStatus setServerCorsAllowedOrigins( + Collection serverCorsAllowedOrigins) { + this.serverCorsAllowedOrigins = serverCorsAllowedOrigins; + return this; + } + + public Collection getServerCorsAllowedOrigins() { + return serverCorsAllowedOrigins; + } + + public DataApiDataApiStatus setServerTimingEnabled(Boolean serverTimingEnabled) { + this.serverTimingEnabled = serverTimingEnabled; + return this; + } + + public Boolean getServerTimingEnabled() { + return serverTimingEnabled; + } + + public DataApiDataApiStatus setUrl(String url) { + this.url = url; + return this; + } + + public String getUrl() { + return url; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DataApiDataApiStatus that = (DataApiDataApiStatus) o; + return Objects.equals(availableSchemas, that.availableSchemas) + && Objects.equals(dbAggregatesEnabled, that.dbAggregatesEnabled) + && Objects.equals(dbExtraSearchPath, that.dbExtraSearchPath) + && Objects.equals(dbMaxRows, that.dbMaxRows) + && Objects.equals(dbSchemas, that.dbSchemas) + && Objects.equals(jwtCacheMaxLifetime, that.jwtCacheMaxLifetime) + && Objects.equals(jwtRoleClaimKey, that.jwtRoleClaimKey) + && Objects.equals(openapiMode, that.openapiMode) + && Objects.equals(serverCorsAllowedOrigins, that.serverCorsAllowedOrigins) + && Objects.equals(serverTimingEnabled, that.serverTimingEnabled) + && Objects.equals(url, that.url); + } + + @Override + public int hashCode() { + return Objects.hash( + availableSchemas, + dbAggregatesEnabled, + dbExtraSearchPath, + dbMaxRows, + dbSchemas, + jwtCacheMaxLifetime, + jwtRoleClaimKey, + openapiMode, + serverCorsAllowedOrigins, + serverTimingEnabled, + url); + } + + @Override + public String toString() { + return new ToStringer(DataApiDataApiStatus.class) + .add("availableSchemas", availableSchemas) + .add("dbAggregatesEnabled", dbAggregatesEnabled) + .add("dbExtraSearchPath", dbExtraSearchPath) + .add("dbMaxRows", dbMaxRows) + .add("dbSchemas", dbSchemas) + .add("jwtCacheMaxLifetime", jwtCacheMaxLifetime) + .add("jwtRoleClaimKey", jwtRoleClaimKey) + .add("openapiMode", openapiMode) + .add("serverCorsAllowedOrigins", serverCorsAllowedOrigins) + .add("serverTimingEnabled", serverTimingEnabled) + .add("url", url) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiOperationMetadata.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiOperationMetadata.java new file mode 100755 index 000000000..bd07b226a --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DataApiOperationMetadata.java @@ -0,0 +1,28 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import java.util.Objects; + +@Generated +public class DataApiOperationMetadata { + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + return true; + } + + @Override + public int hashCode() { + return Objects.hash(); + } + + @Override + public String toString() { + return new ToStringer(DataApiOperationMetadata.class).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiOperation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiOperation.java new file mode 100755 index 000000000..2096575b9 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiOperation.java @@ -0,0 +1,162 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.core.DatabricksException; +import com.databricks.sdk.core.logging.Logger; +import com.databricks.sdk.core.logging.LoggerFactory; +import com.databricks.sdk.core.utils.SerDeUtils; +import com.databricks.sdk.service.common.lro.LroOptions; +import com.databricks.sdk.support.Generated; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.Duration; +import java.util.Optional; +import java.util.concurrent.TimeoutException; + +/** + * Wrapper for interacting with a long-running deleteDataApi operation. Provides methods to wait for + * completion, check status, cancel, and access metadata. + */ +@Generated +public class DeleteDataApiOperation { + private static final Logger LOG = LoggerFactory.getLogger(DeleteDataApiOperation.class); + + private final PostgresService impl; + private Operation operation; + private final ObjectMapper objectMapper; + + public DeleteDataApiOperation(PostgresService impl, Operation operation) { + this.impl = impl; + this.operation = operation; + this.objectMapper = SerDeUtils.createMapper(); + } + + /** + * Wait for the operation to complete and return the resulting . Waits indefinitely if no timeout + * is specified. + * + * @return the created + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public void waitForCompletion() throws TimeoutException { + waitForCompletion(Optional.empty()); + } + + /** + * Wait for the operation to complete and return the resulting . + * + * @param options the options for configuring the wait behavior, can be empty for defaults + * @return the created + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public void waitForCompletion(Optional options) throws TimeoutException { + Optional timeout = options.flatMap(LroOptions::getTimeout); + long deadline = + timeout.isPresent() + ? System.currentTimeMillis() + timeout.get().toMillis() + : Long.MAX_VALUE; + String statusMessage = "polling operation..."; + int attempt = 1; + + while (System.currentTimeMillis() < deadline) { + // Refresh the operation state + refreshOperation(); + + if (operation.getDone() != null && operation.getDone()) { + // Operation completed, check for success or failure + if (operation.getError() != null) { + String errorMsg = "unknown error"; + if (operation.getError().getMessage() != null + && !operation.getError().getMessage().isEmpty()) { + errorMsg = operation.getError().getMessage(); + } + + if (operation.getError().getErrorCode() != null) { + errorMsg = String.format("[%s] %s", operation.getError().getErrorCode(), errorMsg); + } + + throw new DatabricksException("Operation failed: " + errorMsg); + } + + // Operation completed successfully, unmarshal response + if (operation.getResponse() == null) { + throw new DatabricksException("Operation completed but no response available"); + } + + try { + JsonNode responseJson = objectMapper.valueToTree(operation.getResponse()); + objectMapper.treeToValue(responseJson, Void.class); + return; + } catch (JsonProcessingException e) { + throw new DatabricksException("Failed to unmarshal response: " + e.getMessage(), e); + } + } + + // Operation still in progress, wait before polling again + String prefix = String.format("operation=%s", operation.getName()); + int sleep = Math.min(attempt, 10); // sleep 10s max per attempt + LOG.info("{}: operation in progress (sleeping ~{}s)", prefix, sleep); + + try { + Thread.sleep((long) (sleep * 1000L + Math.random() * 1000)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new DatabricksException("Current thread was interrupted", e); + } + attempt++; + } + + String timeoutMessage = + timeout.isPresent() + ? String.format("Operation timed out after %s: %s", timeout.get(), statusMessage) + : String.format("Operation timed out: %s", statusMessage); + throw new TimeoutException(timeoutMessage); + } + + /** + * Get the operation name. + * + * @return the operation name + */ + public String getName() { + return operation.getName(); + } + + /** + * Get the operation metadata. + * + * @return the operation metadata, or null if not available + * @throws DatabricksException if the metadata cannot be deserialized + */ + public DataApiOperationMetadata getMetadata() { + if (operation.getMetadata() == null) { + return null; + } + + try { + JsonNode metadataJson = objectMapper.valueToTree(operation.getMetadata()); + return objectMapper.treeToValue(metadataJson, DataApiOperationMetadata.class); + } catch (JsonProcessingException e) { + throw new DatabricksException("Failed to unmarshal operation metadata: " + e.getMessage(), e); + } + } + + /** + * Check if the operation is done. This method refreshes the operation state before checking. + * + * @return true if the operation is complete, false otherwise + * @throws DatabricksException if the status check fails + */ + public boolean isDone() { + refreshOperation(); + return operation.getDone() != null && operation.getDone(); + } + + /** Refresh the operation state by polling the server. */ + private void refreshOperation() { + operation = impl.getOperation(new GetOperationRequest().setName(operation.getName())); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiRequest.java new file mode 100755 index 000000000..9ffcc78ba --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteDataApiRequest.java @@ -0,0 +1,41 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class DeleteDataApiRequest { + /** Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api */ + @JsonIgnore private String name; + + public DeleteDataApiRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DeleteDataApiRequest that = (DeleteDataApiRequest) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(DeleteDataApiRequest.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetDataApiRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetDataApiRequest.java new file mode 100755 index 000000000..80700de62 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/GetDataApiRequest.java @@ -0,0 +1,41 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class GetDataApiRequest { + /** Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api */ + @JsonIgnore private String name; + + public GetDataApiRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetDataApiRequest that = (GetDataApiRequest) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(GetDataApiRequest.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/OpenApiMode.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/OpenApiMode.java new file mode 100755 index 000000000..a0be3dd95 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/OpenApiMode.java @@ -0,0 +1,16 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; + +/** + * Controls how the Data API exposes the OpenAPI documentation endpoint. Only IGNORE_PRIVILEGES and + * DISABLED are supported today; "follow-privileges" is not implemented yet (it may be added later + * as value 3 — adding new enum values is backward-compatible). + */ +@Generated +public enum OpenApiMode { + OPEN_API_MODE_DISABLED, + OPEN_API_MODE_IGNORE_PRIVILEGES, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java index 9db4ad53c..7557fb4e0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java @@ -49,6 +49,12 @@ public CreateCatalogOperation createCatalog(CreateCatalogRequest request) { return new CreateCatalogOperation(impl, operation); } + /** Enable Data API for a database. */ + public CreateDataApiOperation createDataApi(CreateDataApiRequest request) { + Operation operation = impl.createDataApi(request); + return new CreateDataApiOperation(impl, operation); + } + /** * Create a Database. * @@ -106,6 +112,16 @@ public DeleteCatalogOperation deleteCatalog(DeleteCatalogRequest request) { return new DeleteCatalogOperation(impl, operation); } + public DeleteDataApiOperation deleteDataApi(String name) { + return deleteDataApi(new DeleteDataApiRequest().setName(name)); + } + + /** Disable Data API for a database. */ + public DeleteDataApiOperation deleteDataApi(DeleteDataApiRequest request) { + Operation operation = impl.deleteDataApi(request); + return new DeleteDataApiOperation(impl, operation); + } + public DeleteDatabaseOperation deleteDatabase(String name) { return deleteDatabase(new DeleteDatabaseRequest().setName(name)); } @@ -179,6 +195,15 @@ public Catalog getCatalog(GetCatalogRequest request) { return impl.getCatalog(request); } + public DataApi getDataApi(String name) { + return getDataApi(new GetDataApiRequest().setName(name)); + } + + /** Get Data API configuration for a database. */ + public DataApi getDataApi(GetDataApiRequest request) { + return impl.getDataApi(request); + } + public Database getDatabase(String name) { return getDatabase(new GetDatabaseRequest().setName(name)); } @@ -354,6 +379,12 @@ public UpdateBranchOperation updateBranch(UpdateBranchRequest request) { return new UpdateBranchOperation(impl, operation); } + /** Update Data API configuration for a database. */ + public UpdateDataApiOperation updateDataApi(UpdateDataApiRequest request) { + Operation operation = impl.updateDataApi(request); + return new UpdateDataApiOperation(impl, operation); + } + /** Update a Database. */ public UpdateDatabaseOperation updateDatabase(UpdateDatabaseRequest request) { Operation operation = impl.updateDatabase(request); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java index 70bb0f9e5..b00572fab 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java @@ -52,6 +52,24 @@ public Operation createCatalog(CreateCatalogRequest request) { } } + @Override + public Operation createDataApi(CreateDataApiRequest request) { + String path = String.format("/api/2.0/postgres/%s/data-api", request.getParent()); + try { + Request req = new Request("POST", path, apiClient.serialize(request.getDataApi())); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Operation.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public Operation createDatabase(CreateDatabaseRequest request) { String path = String.format("/api/2.0/postgres/%s/databases", request.getParent()); @@ -176,6 +194,23 @@ public Operation deleteCatalog(DeleteCatalogRequest request) { } } + @Override + public Operation deleteDataApi(DeleteDataApiRequest request) { + String path = String.format("/api/2.0/postgres/%s", request.getName()); + try { + Request req = new Request("DELETE", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Operation.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public Operation deleteDatabase(DeleteDatabaseRequest request) { String path = String.format("/api/2.0/postgres/%s", request.getName()); @@ -313,6 +348,23 @@ public Catalog getCatalog(GetCatalogRequest request) { } } + @Override + public DataApi getDataApi(GetDataApiRequest request) { + String path = String.format("/api/2.0/postgres/%s", request.getName()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, DataApi.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public Database getDatabase(GetDatabaseRequest request) { String path = String.format("/api/2.0/postgres/%s", request.getName()); @@ -554,6 +606,24 @@ public Operation updateBranch(UpdateBranchRequest request) { } } + @Override + public Operation updateDataApi(UpdateDataApiRequest request) { + String path = String.format("/api/2.0/postgres/%s", request.getName()); + try { + Request req = new Request("PATCH", path, apiClient.serialize(request.getDataApi())); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Workspace-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Operation.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public Operation updateDatabase(UpdateDatabaseRequest request) { String path = String.format("/api/2.0/postgres/%s", request.getName()); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresService.java index a728f5e23..782e9f964 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresService.java @@ -29,6 +29,9 @@ public interface PostgresService { /** Register a Postgres database in the Unity Catalog. */ Operation createCatalog(CreateCatalogRequest createCatalogRequest); + /** Enable Data API for a database. */ + Operation createDataApi(CreateDataApiRequest createDataApiRequest); + /** * Create a Database. * @@ -57,6 +60,9 @@ public interface PostgresService { /** Delete a Database Catalog. */ Operation deleteCatalog(DeleteCatalogRequest deleteCatalogRequest); + /** Disable Data API for a database. */ + Operation deleteDataApi(DeleteDataApiRequest deleteDataApiRequest); + /** Delete a Database. */ Operation deleteDatabase(DeleteDatabaseRequest deleteDatabaseRequest); @@ -82,6 +88,9 @@ DatabaseCredential generateDatabaseCredential( /** Get a Database Catalog. */ Catalog getCatalog(GetCatalogRequest getCatalogRequest); + /** Get Data API configuration for a database. */ + DataApi getDataApi(GetDataApiRequest getDataApiRequest); + /** Get a Database. */ Database getDatabase(GetDatabaseRequest getDatabaseRequest); @@ -136,6 +145,9 @@ DatabaseCredential generateDatabaseCredential( */ Operation updateBranch(UpdateBranchRequest updateBranchRequest); + /** Update Data API configuration for a database. */ + Operation updateDataApi(UpdateDataApiRequest updateDataApiRequest); + /** Update a Database. */ Operation updateDatabase(UpdateDatabaseRequest updateDatabaseRequest); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpec.java index 745692c75..f586e1951 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpec.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpec.java @@ -10,6 +10,14 @@ @Generated public class SyncedTableSyncedTableSpec { + /** + * When true, enables accelerated sync mode for the initial data load. This significantly improves + * performance for large tables. Requires workspace-level enablement through Lakebase Accelerated + * Sync preview. + */ + @JsonProperty("accelerated_sync") + private Boolean acceleratedSync; + /** * The full resource name the branch associated with the table. * @@ -81,6 +89,22 @@ public class SyncedTableSyncedTableSpec { @JsonProperty("timeseries_key") private String timeseriesKey; + /** + * Override the default Delta->PG type mapping for specific columns. A TypeOverride with + * PG_SPECIFIC_TYPE_UNSPECIFIED is rejected; a valid pg_type must be set. + */ + @JsonProperty("type_overrides") + private Collection typeOverrides; + + public SyncedTableSyncedTableSpec setAcceleratedSync(Boolean acceleratedSync) { + this.acceleratedSync = acceleratedSync; + return this; + } + + public Boolean getAcceleratedSync() { + return acceleratedSync; + } + public SyncedTableSyncedTableSpec setBranch(String branch) { this.branch = branch; return this; @@ -164,12 +188,23 @@ public String getTimeseriesKey() { return timeseriesKey; } + public SyncedTableSyncedTableSpec setTypeOverrides( + Collection typeOverrides) { + this.typeOverrides = typeOverrides; + return this; + } + + public Collection getTypeOverrides() { + return typeOverrides; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SyncedTableSyncedTableSpec that = (SyncedTableSyncedTableSpec) o; - return Objects.equals(branch, that.branch) + return Objects.equals(acceleratedSync, that.acceleratedSync) + && Objects.equals(branch, that.branch) && Objects.equals(createDatabaseObjectsIfMissing, that.createDatabaseObjectsIfMissing) && Objects.equals(existingPipelineId, that.existingPipelineId) && Objects.equals(newPipelineSpec, that.newPipelineSpec) @@ -177,12 +212,14 @@ public boolean equals(Object o) { && Objects.equals(primaryKeyColumns, that.primaryKeyColumns) && Objects.equals(schedulingPolicy, that.schedulingPolicy) && Objects.equals(sourceTableFullName, that.sourceTableFullName) - && Objects.equals(timeseriesKey, that.timeseriesKey); + && Objects.equals(timeseriesKey, that.timeseriesKey) + && Objects.equals(typeOverrides, that.typeOverrides); } @Override public int hashCode() { return Objects.hash( + acceleratedSync, branch, createDatabaseObjectsIfMissing, existingPipelineId, @@ -191,12 +228,14 @@ public int hashCode() { primaryKeyColumns, schedulingPolicy, sourceTableFullName, - timeseriesKey); + timeseriesKey, + typeOverrides); } @Override public String toString() { return new ToStringer(SyncedTableSyncedTableSpec.class) + .add("acceleratedSync", acceleratedSync) .add("branch", branch) .add("createDatabaseObjectsIfMissing", createDatabaseObjectsIfMissing) .add("existingPipelineId", existingPipelineId) @@ -206,6 +245,7 @@ public String toString() { .add("schedulingPolicy", schedulingPolicy) .add("sourceTableFullName", sourceTableFullName) .add("timeseriesKey", timeseriesKey) + .add("typeOverrides", typeOverrides) .toString(); } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecPgSpecificType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecPgSpecificType.java new file mode 100755 index 000000000..ac762b8fa --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecPgSpecificType.java @@ -0,0 +1,11 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; + +/** PostgreSQL-specific target types that can override the default Delta-to-PG mapping. */ +@Generated +public enum SyncedTableSyncedTableSpecPgSpecificType { + PG_SPECIFIC_TYPE_VECTOR, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecTypeOverride.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecTypeOverride.java new file mode 100755 index 000000000..71cf85e26 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTableSyncedTableSpecTypeOverride.java @@ -0,0 +1,79 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Overrides the default Delta-to-PostgreSQL type mapping for a single column. */ +@Generated +public class SyncedTableSyncedTableSpecTypeOverride { + /** Name of the source column whose target PostgreSQL type should be overridden. */ + @JsonProperty("column_name") + private String columnName; + + /** PostgreSQL-specific target type to use for the column. */ + @JsonProperty("pg_type") + private SyncedTableSyncedTableSpecPgSpecificType pgType; + + /** + * Size parameter for the target type. Required when pg_type is PG_SPECIFIC_TYPE_VECTOR (specifies + * the vector dimension, e.g., 1024). + */ + @JsonProperty("size") + private Long size; + + public SyncedTableSyncedTableSpecTypeOverride setColumnName(String columnName) { + this.columnName = columnName; + return this; + } + + public String getColumnName() { + return columnName; + } + + public SyncedTableSyncedTableSpecTypeOverride setPgType( + SyncedTableSyncedTableSpecPgSpecificType pgType) { + this.pgType = pgType; + return this; + } + + public SyncedTableSyncedTableSpecPgSpecificType getPgType() { + return pgType; + } + + public SyncedTableSyncedTableSpecTypeOverride setSize(Long size) { + this.size = size; + return this; + } + + public Long getSize() { + return size; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SyncedTableSyncedTableSpecTypeOverride that = (SyncedTableSyncedTableSpecTypeOverride) o; + return Objects.equals(columnName, that.columnName) + && Objects.equals(pgType, that.pgType) + && Objects.equals(size, that.size); + } + + @Override + public int hashCode() { + return Objects.hash(columnName, pgType, size); + } + + @Override + public String toString() { + return new ToStringer(SyncedTableSyncedTableSpecTypeOverride.class) + .add("columnName", columnName) + .add("pgType", pgType) + .add("size", size) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiOperation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiOperation.java new file mode 100755 index 000000000..0416bfaaa --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiOperation.java @@ -0,0 +1,162 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.core.DatabricksException; +import com.databricks.sdk.core.logging.Logger; +import com.databricks.sdk.core.logging.LoggerFactory; +import com.databricks.sdk.core.utils.SerDeUtils; +import com.databricks.sdk.service.common.lro.LroOptions; +import com.databricks.sdk.support.Generated; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.Duration; +import java.util.Optional; +import java.util.concurrent.TimeoutException; + +/** + * Wrapper for interacting with a long-running updateDataApi operation. Provides methods to wait for + * completion, check status, cancel, and access metadata. + */ +@Generated +public class UpdateDataApiOperation { + private static final Logger LOG = LoggerFactory.getLogger(UpdateDataApiOperation.class); + + private final PostgresService impl; + private Operation operation; + private final ObjectMapper objectMapper; + + public UpdateDataApiOperation(PostgresService impl, Operation operation) { + this.impl = impl; + this.operation = operation; + this.objectMapper = SerDeUtils.createMapper(); + } + + /** + * Wait for the operation to complete and return the resulting DataApi. Waits indefinitely if no + * timeout is specified. + * + * @return the created DataApi + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public DataApi waitForCompletion() throws TimeoutException { + return waitForCompletion(Optional.empty()); + } + + /** + * Wait for the operation to complete and return the resulting DataApi. + * + * @param options the options for configuring the wait behavior, can be empty for defaults + * @return the created DataApi + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public DataApi waitForCompletion(Optional options) throws TimeoutException { + Optional timeout = options.flatMap(LroOptions::getTimeout); + long deadline = + timeout.isPresent() + ? System.currentTimeMillis() + timeout.get().toMillis() + : Long.MAX_VALUE; + String statusMessage = "polling operation..."; + int attempt = 1; + + while (System.currentTimeMillis() < deadline) { + // Refresh the operation state + refreshOperation(); + + if (operation.getDone() != null && operation.getDone()) { + // Operation completed, check for success or failure + if (operation.getError() != null) { + String errorMsg = "unknown error"; + if (operation.getError().getMessage() != null + && !operation.getError().getMessage().isEmpty()) { + errorMsg = operation.getError().getMessage(); + } + + if (operation.getError().getErrorCode() != null) { + errorMsg = String.format("[%s] %s", operation.getError().getErrorCode(), errorMsg); + } + + throw new DatabricksException("Operation failed: " + errorMsg); + } + + // Operation completed successfully, unmarshal response + if (operation.getResponse() == null) { + throw new DatabricksException("Operation completed but no response available"); + } + + try { + JsonNode responseJson = objectMapper.valueToTree(operation.getResponse()); + return objectMapper.treeToValue(responseJson, DataApi.class); + } catch (JsonProcessingException e) { + throw new DatabricksException( + "Failed to unmarshal dataApi response: " + e.getMessage(), e); + } + } + + // Operation still in progress, wait before polling again + String prefix = String.format("operation=%s", operation.getName()); + int sleep = Math.min(attempt, 10); // sleep 10s max per attempt + LOG.info("{}: operation in progress (sleeping ~{}s)", prefix, sleep); + + try { + Thread.sleep((long) (sleep * 1000L + Math.random() * 1000)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new DatabricksException("Current thread was interrupted", e); + } + attempt++; + } + + String timeoutMessage = + timeout.isPresent() + ? String.format("Operation timed out after %s: %s", timeout.get(), statusMessage) + : String.format("Operation timed out: %s", statusMessage); + throw new TimeoutException(timeoutMessage); + } + + /** + * Get the operation name. + * + * @return the operation name + */ + public String getName() { + return operation.getName(); + } + + /** + * Get the operation metadata. + * + * @return the operation metadata, or null if not available + * @throws DatabricksException if the metadata cannot be deserialized + */ + public DataApiOperationMetadata getMetadata() { + if (operation.getMetadata() == null) { + return null; + } + + try { + JsonNode metadataJson = objectMapper.valueToTree(operation.getMetadata()); + return objectMapper.treeToValue(metadataJson, DataApiOperationMetadata.class); + } catch (JsonProcessingException e) { + throw new DatabricksException("Failed to unmarshal operation metadata: " + e.getMessage(), e); + } + } + + /** + * Check if the operation is done. This method refreshes the operation state before checking. + * + * @return true if the operation is complete, false otherwise + * @throws DatabricksException if the status check fails + */ + public boolean isDone() { + refreshOperation(); + return operation.getDone() != null && operation.getDone(); + } + + /** Refresh the operation state by polling the server. */ + private void refreshOperation() { + operation = impl.getOperation(new GetOperationRequest().setName(operation.getName())); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiRequest.java new file mode 100755 index 000000000..a7ffef655 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateDataApiRequest.java @@ -0,0 +1,77 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.QueryParam; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.FieldMask; +import java.util.Objects; + +@Generated +public class UpdateDataApiRequest { + /** The Data API configuration to update. The data_api's `name` field identifies the resource. */ + @JsonProperty("data_api") + private DataApi dataApi; + + /** Resource name: projects/{project_id}/branches/{branch_id}/databases/{database_id}/data-api */ + @JsonIgnore private String name; + + /** The list of fields to update. If unspecified, all fields will be updated when possible. */ + @JsonIgnore + @QueryParam("update_mask") + private FieldMask updateMask; + + public UpdateDataApiRequest setDataApi(DataApi dataApi) { + this.dataApi = dataApi; + return this; + } + + public DataApi getDataApi() { + return dataApi; + } + + public UpdateDataApiRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public UpdateDataApiRequest setUpdateMask(FieldMask updateMask) { + this.updateMask = updateMask; + return this; + } + + public FieldMask getUpdateMask() { + return updateMask; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + UpdateDataApiRequest that = (UpdateDataApiRequest) o; + return Objects.equals(dataApi, that.dataApi) + && Objects.equals(name, that.name) + && Objects.equals(updateMask, that.updateMask); + } + + @Override + public int hashCode() { + return Objects.hash(dataApi, name, updateMask); + } + + @Override + public String toString() { + return new ToStringer(UpdateDataApiRequest.class) + .add("dataApi", dataApi) + .add("name", name) + .add("updateMask", updateMask) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/VpcEndpoint.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/VpcEndpoint.java index 7cd94edc4..9de473172 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/VpcEndpoint.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/VpcEndpoint.java @@ -10,10 +10,7 @@ /** * */ @Generated public class VpcEndpoint { - /** - * The Databricks account ID that hosts the VPC endpoint configuration. TODO - This may signal an - * OpenAPI diff; it does not show up in the generated spec - */ + /** The Databricks account ID that hosts the VPC endpoint configuration. */ @JsonProperty("account_id") private String accountId; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceNetwork.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceNetwork.java index 478a1fd93..0963a4fb9 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceNetwork.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceNetwork.java @@ -20,8 +20,7 @@ public class WorkspaceNetwork { /** * The mutually exclusive network deployment modes. The option decides which network mode the * workspace will use. The network config for GCP workspace with Databricks managed network. This - * object is input-only and will not be provided when listing workspaces. See - * go/gcp-byovpc-alpha-design for interface decisions. + * object is input-only and will not be provided when listing workspaces. */ @JsonProperty("gcp_managed_network_config") private GcpManagedNetworkConfig gcpManagedNetworkConfig; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceStatus.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceStatus.java index 628d49e35..9e5f6bf25 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceStatus.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/WorkspaceStatus.java @@ -10,7 +10,6 @@ * RUNNING -> FAILED -> CANCELLED (note that this transition is disallowed in the MultiWorkspace * Project) RUNNING -> PROVISIONING -> BANNED -> CANCELLED FAILED -> PROVISIONING -> CANCELLED * BANNED -> RUNNING -> CANCELLED Note that a transition from any state to itself is also valid. - * TODO(PLAT-5867): add a transition from CANCELLED to some other value (e.g. RECOVERING) */ @Generated public enum WorkspaceStatus { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServedModelInputWorkloadType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServedModelInputWorkloadType.java index 5673717c5..7bcbec5da 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServedModelInputWorkloadType.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServedModelInputWorkloadType.java @@ -4,7 +4,7 @@ import com.databricks.sdk.support.Generated; -/** Please keep this in sync with with workload types in InferenceEndpointEntities.scala */ +/** Please keep this in sync with workload types in InferenceEndpointEntities.scala. */ @Generated public enum ServedModelInputWorkloadType { CPU, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingModelWorkloadType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingModelWorkloadType.java index 390845c3a..ba07a7605 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingModelWorkloadType.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingModelWorkloadType.java @@ -4,7 +4,7 @@ import com.databricks.sdk.support.Generated; -/** Please keep this in sync with with workload types in InferenceEndpointEntities.scala */ +/** Please keep this in sync with workload types in InferenceEndpointEntities.scala. */ @Generated public enum ServingModelWorkloadType { CPU, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java index 3e081bcc5..9cc26ae21 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java @@ -8,6 +8,7 @@ import java.util.Collection; import java.util.Objects; +/** Matches account-level Databricks API endpoints for an ingress network policy rule. */ @Generated public class CustomerFacingIngressNetworkPolicyAccountApiDestination { /** Qualifies the breadth of API access for the listed scopes. See ApiScopeQualifier. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java index 4aa56bea7..111f4f8ef 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java @@ -8,6 +8,7 @@ import java.util.Collection; import java.util.Objects; +/** Matches workspace-level Databricks API endpoints for an ingress network policy rule. */ @Generated public class CustomerFacingIngressNetworkPolicyWorkspaceApiDestination { /** Qualifies the breadth of API access for the listed scopes. See ApiScopeQualifier. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java index a3b0dea02..d21cafce2 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java @@ -7,13 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; -/** - * The network policies applying for egress traffic. This message is used by the UI/REST API. We - * translate this message to the format expected by the dataplane in Lakehouse Network Manager (for - * the format expected by the dataplane, see networkconfig.textproto). This policy should be - * consistent with [[com.databricks.api.proto.settingspolicy.EgressNetworkPolicy]]. Details see - * API-design: https://docs.google.com/document/d/1DKWO_FpZMCY4cF2O62LpwII1lx8gsnDGG-qgE3t3TOA/ - */ +/** The network policies applying for egress traffic. */ @Generated public class NetworkPolicyEgress { /** The access policy enforced for egress traffic to the internet. */ diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequest.java index eceace425..70425ff22 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequest.java @@ -31,7 +31,7 @@ public class CreateWarehouseRequest { * queries, please tune max_num_clusters. * *

Supported values: - 2X-Small - X-Small - Small - Medium - Large - X-Large - 2X-Large - - * 3X-Large - 4X-Large - 5X-Large + * 3X-Large - 4X-Large - 5X-Large - Auto */ @JsonProperty("cluster_size") private String clusterSize; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequest.java index b64211012..823cd3f6e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequest.java @@ -36,7 +36,7 @@ public class EditWarehouseRequest { * queries, please tune max_num_clusters. * *

Supported values: - 2X-Small - X-Small - Small - Medium - Large - X-Large - 2X-Large - - * 3X-Large - 4X-Large - 5X-Large + * 3X-Large - 4X-Large - 5X-Large - Auto */ @JsonProperty("cluster_size") private String clusterSize; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfo.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfo.java index 88173f3a0..b5aefd8c7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfo.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfo.java @@ -30,7 +30,7 @@ public class EndpointInfo { * queries, please tune max_num_clusters. * *

Supported values: - 2X-Small - X-Small - Small - Medium - Large - X-Large - 2X-Large - - * 3X-Large - 4X-Large - 5X-Large + * 3X-Large - 4X-Large - 5X-Large - Auto */ @JsonProperty("cluster_size") private String clusterSize; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponse.java index 74bb54bd3..be145307d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponse.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponse.java @@ -30,7 +30,7 @@ public class GetWarehouseResponse { * queries, please tune max_num_clusters. * *

Supported values: - 2X-Small - X-Small - Small - Medium - Large - X-Large - 2X-Large - - * 3X-Large - 4X-Large - 5X-Large + * 3X-Large - 4X-Large - 5X-Large - Auto */ @JsonProperty("cluster_size") private String clusterSize; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SpotInstancePolicy.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SpotInstancePolicy.java index bd5ec7c05..262a17545 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SpotInstancePolicy.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SpotInstancePolicy.java @@ -15,10 +15,6 @@ * Demand Driver with Spot Executors | On Demand Driver and Executors | | AZURE | On Demand Driver * and Executors | On Demand Driver and Executors | * +-------+--------------------------------------+--------------------------------+ - * - *

While including "spot" in the enum name may limit the the future extensibility of this field - * because it limits this enum to denoting "spot or not", this is the field that PM recommends after - * discussion with customers per SC-48783. */ @Generated public enum SpotInstancePolicy { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePair.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePair.java index bf221ba27..b634eeaca 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePair.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePair.java @@ -14,8 +14,8 @@ @Generated public class WarehouseTypePair { /** - * If set to false the specific warehouse type will not be be allowed as a value for - * warehouse_type in CreateWarehouse and EditWarehouse + * If set to false the specific warehouse type will not be allowed as a value for warehouse_type + * in CreateWarehouse and EditWarehouse */ @JsonProperty("enabled") private Boolean enabled; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/MiniVectorIndex.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/MiniVectorIndex.java index 9ad729064..0b73f5c1e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/MiniVectorIndex.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/MiniVectorIndex.java @@ -13,6 +13,10 @@ public class MiniVectorIndex { @JsonProperty("creator") private String creator; + /** ID of the endpoint associated with the index. */ + @JsonProperty("endpoint_id") + private String endpointId; + /** Name of the endpoint associated with the index */ @JsonProperty("endpoint_name") private String endpointName; @@ -42,6 +46,15 @@ public String getCreator() { return creator; } + public MiniVectorIndex setEndpointId(String endpointId) { + this.endpointId = endpointId; + return this; + } + + public String getEndpointId() { + return endpointId; + } + public MiniVectorIndex setEndpointName(String endpointName) { this.endpointName = endpointName; return this; @@ -93,6 +106,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; MiniVectorIndex that = (MiniVectorIndex) o; return Objects.equals(creator, that.creator) + && Objects.equals(endpointId, that.endpointId) && Objects.equals(endpointName, that.endpointName) && Objects.equals(indexSubtype, that.indexSubtype) && Objects.equals(indexType, that.indexType) @@ -102,13 +116,15 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(creator, endpointName, indexSubtype, indexType, name, primaryKey); + return Objects.hash( + creator, endpointId, endpointName, indexSubtype, indexType, name, primaryKey); } @Override public String toString() { return new ToStringer(MiniVectorIndex.class) .add("creator", creator) + .add("endpointId", endpointId) .add("endpointName", endpointName) .add("indexSubtype", indexSubtype) .add("indexType", indexType) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndex.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndex.java index 769e515ff..7ebcd6f09 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndex.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndex.java @@ -21,6 +21,10 @@ public class VectorIndex { @JsonProperty("direct_access_index_spec") private DirectAccessVectorIndexSpec directAccessIndexSpec; + /** ID of the endpoint associated with the index. */ + @JsonProperty("endpoint_id") + private String endpointId; + /** Name of the endpoint associated with the index */ @JsonProperty("endpoint_name") private String endpointName; @@ -72,6 +76,15 @@ public DirectAccessVectorIndexSpec getDirectAccessIndexSpec() { return directAccessIndexSpec; } + public VectorIndex setEndpointId(String endpointId) { + this.endpointId = endpointId; + return this; + } + + public String getEndpointId() { + return endpointId; + } + public VectorIndex setEndpointName(String endpointName) { this.endpointName = endpointName; return this; @@ -134,6 +147,7 @@ public boolean equals(Object o) { return Objects.equals(creator, that.creator) && Objects.equals(deltaSyncIndexSpec, that.deltaSyncIndexSpec) && Objects.equals(directAccessIndexSpec, that.directAccessIndexSpec) + && Objects.equals(endpointId, that.endpointId) && Objects.equals(endpointName, that.endpointName) && Objects.equals(indexSubtype, that.indexSubtype) && Objects.equals(indexType, that.indexType) @@ -148,6 +162,7 @@ public int hashCode() { creator, deltaSyncIndexSpec, directAccessIndexSpec, + endpointId, endpointName, indexSubtype, indexType, @@ -162,6 +177,7 @@ public String toString() { .add("creator", creator) .add("deltaSyncIndexSpec", deltaSyncIndexSpec) .add("directAccessIndexSpec", directAccessIndexSpec) + .add("endpointId", endpointId) .add("endpointName", endpointName) .add("indexSubtype", indexSubtype) .add("indexType", indexType)