Skip to content

Commit f3c5b31

Browse files
Merge branch 'main' into tp/retry-error
2 parents a37722f + efe5aa4 commit f3c5b31

174 files changed

Lines changed: 4269 additions & 542 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.codegen/_openapi_sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
05692f4dcf168be190bb7bcda725ee8b368b7ae3
1+
d4c86c045ee9d0410a41ef07e8ae708673b95fa1

.gitattributes

Lines changed: 32 additions & 4 deletions
Large diffs are not rendered by default.

.release_metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"timestamp": "2025-04-22 12:07:45+0000"
2+
"timestamp": "2025-05-02 16:44:48+0000"
33
}

CHANGELOG.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,82 @@
11
# Version changelog
22

3+
## Release v0.49.0
4+
5+
### Bug Fixes
6+
* Fixed the deserialization of responses in VectorSearchAPI's `queryIndex()` method ([#440](https://github.com/databricks/databricks-sdk-java/pull/440)).
7+
8+
### API Changes
9+
* Added `futureFeatureDataPath` field for `com.databricks.sdk.service.ml.CreateForecastingExperimentRequest`.
10+
* Added `excludeColumns` and `includeColumns` fields for `com.databricks.sdk.service.pipelines.TableSpecificConfig`.
11+
* Added `NETWORK_CHECK_CONTROL_PLANE_FAILURE`, `NETWORK_CHECK_DNS_SERVER_FAILURE`, `NETWORK_CHECK_METADATA_ENDPOINT_FAILURE`, `NETWORK_CHECK_MULTIPLE_COMPONENTS_FAILURE`, `NETWORK_CHECK_NIC_FAILURE`, `NETWORK_CHECK_STORAGE_FAILURE` and `SECRET_PERMISSION_DENIED` enum values for `com.databricks.sdk.service.compute.TerminationReasonCode`.
12+
* [Breaking] Changed `pipelineId` field for `com.databricks.sdk.service.pipelines.EditPipeline` to be required.
13+
* [Breaking] Changed `connectionName`, `gatewayStorageCatalog` and `gatewayStorageSchema` fields for `com.databricks.sdk.service.pipelines.IngestionGatewayPipelineDefinition` to be required.
14+
* Changed `connectionName`, `gatewayStorageCatalog` and `gatewayStorageSchema` fields for `com.databricks.sdk.service.pipelines.IngestionGatewayPipelineDefinition` to be required.
15+
* [Breaking] Changed `kind` field for `com.databricks.sdk.service.pipelines.PipelineDeployment` to be required.
16+
* Changed `kind` field for `com.databricks.sdk.service.pipelines.PipelineDeployment` to be required.
17+
* Changed `destinationCatalog`, `destinationSchema` and `sourceUrl` fields for `com.databricks.sdk.service.pipelines.ReportSpec` to be required.
18+
* [Breaking] Changed `destinationCatalog`, `destinationSchema` and `sourceUrl` fields for `com.databricks.sdk.service.pipelines.ReportSpec` to be required.
19+
* Changed `destinationCatalog`, `destinationSchema` and `sourceSchema` fields for `com.databricks.sdk.service.pipelines.SchemaSpec` to be required.
20+
* [Breaking] Changed `destinationCatalog`, `destinationSchema` and `sourceSchema` fields for `com.databricks.sdk.service.pipelines.SchemaSpec` to be required.
21+
* [Breaking] Changed `destinationCatalog`, `destinationSchema` and `sourceTable` fields for `com.databricks.sdk.service.pipelines.TableSpec` to be required.
22+
* Changed `destinationCatalog`, `destinationSchema` and `sourceTable` fields for `com.databricks.sdk.service.pipelines.TableSpec` to be required.
23+
* [Breaking] Changed `results` field for `com.databricks.sdk.service.sql.ListAlertsV2Response` to type `com.databricks.sdk.service.sql.AlertV2List` class.
24+
* [Breaking] Changed pagination for `workspaceClient.alertsV2().listAlerts()` method.
25+
* [Breaking] Changed waiter for `workspaceClient.genie().createMessage()` method.
26+
27+
28+
## Release v0.48.0
29+
30+
### New Features and Improvements
31+
* Introduce support for Databricks Workload Identity Federation in GitHub workflows ([423](https://github.com/databricks/databricks-sdk-java/pull/423)).
32+
See README.md for instructions.
33+
* [Breaking] Users running their workflows in GitHub Actions, which use Cloud native authentication and also have a `DATABRICKS_CLIENT_ID` and `DATABRICKS_HOST`
34+
environment variables set may see their authentication start failing due to the order in which the SDK tries different authentication methods.
35+
36+
### API Changes
37+
* Added `workspaceClient.alertsV2()` service.
38+
* Added `updateNccAzurePrivateEndpointRulePublic()` method for `accountClient.networkConnectivity()` service.
39+
* Added `createdAt`, `createdBy` and `metastoreId` fields for `com.databricks.sdk.service.catalog.SetArtifactAllowlist`.
40+
* [Breaking] Added `networkConnectivityConfig` field for `com.databricks.sdk.service.settings.CreateNetworkConnectivityConfigRequest`.
41+
* [Breaking] Added `privateEndpointRule` field for `com.databricks.sdk.service.settings.CreatePrivateEndpointRuleRequest`.
42+
* Added `domainNames` field for `com.databricks.sdk.service.settings.NccAzurePrivateEndpointRule`.
43+
* Added `autoResolveDisplayName` field for `com.databricks.sdk.service.sql.CreateAlertRequest`.
44+
* Added `autoResolveDisplayName` field for `com.databricks.sdk.service.sql.CreateQueryRequest`.
45+
* Added `CREATE_CLEAN_ROOM`, `EXECUTE_CLEAN_ROOM_TASK` and `MODIFY_CLEAN_ROOM` enum values for `com.databricks.sdk.service.catalog.Privilege`.
46+
* Added `DNS_RESOLUTION_ERROR` and `GCP_DENIED_BY_ORG_POLICY` enum values for `com.databricks.sdk.service.compute.TerminationReasonCode`.
47+
* Added `EXPIRED` enum value for `com.databricks.sdk.service.settings.NccAzurePrivateEndpointRuleConnectionState`.
48+
* [Breaking] Changed `createNetworkConnectivityConfiguration()` and `createPrivateEndpointRule()` methods for `accountClient.networkConnectivity()` service with new required argument order.
49+
* [Breaking] Changed `workloadSize` field for `com.databricks.sdk.service.serving.ServedModelInput` to type `String` class.
50+
* [Breaking] Changed `groupId` field for `com.databricks.sdk.service.settings.NccAzurePrivateEndpointRule` to type `String` class.
51+
* [Breaking] Changed `targetServices` field for `com.databricks.sdk.service.settings.NccAzureServiceEndpointRule` to type `com.databricks.sdk.service.settings.EgressResourceTypeList` class.
52+
* [Breaking] Removed `name` and `region` fields for `com.databricks.sdk.service.settings.CreateNetworkConnectivityConfigRequest`.
53+
* [Breaking] Removed `groupId` and `resourceId` fields for `com.databricks.sdk.service.settings.CreatePrivateEndpointRuleRequest`.
54+
* [Breaking] Removed `LARGE`, `MEDIUM` and `SMALL` enum values for `com.databricks.sdk.service.serving.ServedModelInputWorkloadSize`.
55+
* [Breaking] Removed `BLOB`, `DFS`, `MYSQL_SERVER` and `SQL_SERVER` enum values for `com.databricks.sdk.service.settings.NccAzurePrivateEndpointRuleGroupId`.
56+
57+
58+
## Release v0.47.0
59+
60+
### API Changes
61+
* Added `updateEndpointBudgetPolicy()` and `updateEndpointCustomTags()` methods for `workspaceClient.vectorSearchEndpoints()` service.
62+
* Added `nodeTypeFlexibility` field for `com.databricks.sdk.service.compute.EditInstancePool`.
63+
* Added `pageSize` and `pageToken` fields for `com.databricks.sdk.service.compute.GetEvents`.
64+
* Added `nextPageToken` and `prevPageToken` fields for `com.databricks.sdk.service.compute.GetEventsResponse`.
65+
* Added `nodeTypeFlexibility` field for `com.databricks.sdk.service.compute.GetInstancePool`.
66+
* Added `nodeTypeFlexibility` field for `com.databricks.sdk.service.compute.InstancePoolAndStats`.
67+
* Added `effectivePerformanceTarget` field for `com.databricks.sdk.service.jobs.RepairHistoryItem`.
68+
* Added `performanceTarget` field for `com.databricks.sdk.service.jobs.RepairRun`.
69+
* Added `budgetPolicyId` field for `com.databricks.sdk.service.vectorsearch.CreateEndpoint`.
70+
* Added `customTags` and `effectiveBudgetPolicyId` fields for `com.databricks.sdk.service.vectorsearch.EndpointInfo`.
71+
* Added `DISABLED` enum value for `com.databricks.sdk.service.jobs.TerminationCodeCode`.
72+
* [Breaking] Changed `createIndex()` method for `workspaceClient.vectorSearchIndexes()` service to return `com.databricks.sdk.service.vectorsearch.VectorIndex` class.
73+
* [Breaking] Changed `deleteDataVectorIndex()` method for `workspaceClient.vectorSearchIndexes()` service . HTTP method/verb has changed.
74+
* [Breaking] Changed `deleteDataVectorIndex()` method for `workspaceClient.vectorSearchIndexes()` service with new required argument order.
75+
* [Breaking] Changed `dataArray` field for `com.databricks.sdk.service.vectorsearch.ResultData` to type `com.databricks.sdk.service.vectorsearch.ListValueList` class.
76+
* [Breaking] Changed waiter for `workspaceClient.vectorSearchEndpoints().createEndpoint()` method.
77+
* [Breaking] Removed `nullValue` field for `com.databricks.sdk.service.vectorsearch.Value`.
78+
79+
380
## Release v0.46.0
481

582
### New Features and Improvements

NEXT_CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# NEXT CHANGELOG
22

3-
## Release v0.47.0
3+
## Release v0.50.0
44

55
### New Features and Improvements
66

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,18 +116,18 @@ Depending on the Databricks authentication method, the SDK uses the following in
116116

117117
### Databricks native authentication
118118

119-
By default, the Databricks SDK for Java initially tries [Databricks token authentication](https://docs.databricks.com/dev-tools/api/latest/authentication.html) (`auth_type='pat'` argument). If the SDK is unsuccessful, it then tries Databricks basic (username/password) authentication (`auth_type="basic"` argument).
119+
By default, the Databricks SDK for Java initially tries [Databricks token authentication](https://docs.databricks.com/dev-tools/api/latest/authentication.html) (`auth_type='pat'` argument). If the SDK is unsuccessful, it then tries Databricks Workload Identity Federation (WIF) authentication using OIDC (`auth_type="github-oidc"` argument).
120120

121121
- For Databricks token authentication, you must provide `host` and `token`; or their environment variable or `.databrickscfg` file field equivalents.
122-
- For Databricks basic authentication, you must provide `host`, `username`, and `password` _(for AWS workspace-level operations)_; or `host`, `account_id`, `username`, and `password` _(for AWS, Azure, or GCP account-level operations)_; or their environment variable or `.databrickscfg` file field equivalents.
122+
- For Databricks OIDC authentication, you must provide the `host`, `client_id` and `token_audience` _(optional)_ either directly, through the corresponding environment variables, or in your `.databrickscfg` configuration file.
123123

124124
| Argument | Description | Environment variable |
125125
|--------------|-------------|-------------------|
126126
| `host` | _(String)_ The Databricks host URL for either the Databricks workspace endpoint or the Databricks accounts endpoint. | `DATABRICKS_HOST` |
127127
| `account_id` | _(String)_ The Databricks account ID for the Databricks accounts endpoint. Only has effect when `Host` is either `https://accounts.cloud.databricks.com/` _(AWS)_, `https://accounts.azuredatabricks.net/` _(Azure)_, or `https://accounts.gcp.databricks.com/` _(GCP)_. | `DATABRICKS_ACCOUNT_ID` |
128128
| `token` | _(String)_ The Databricks personal access token (PAT) _(AWS, Azure, and GCP)_ or Azure Active Directory (Azure AD) token _(Azure)_. | `DATABRICKS_TOKEN` |
129-
| `username` | _(String)_ The Databricks username part of basic authentication. Only possible when `Host` is `*.cloud.databricks.com` _(AWS)_. | `DATABRICKS_USERNAME` |
130-
| `password` | _(String)_ The Databricks password part of basic authentication. Only possible when `Host` is `*.cloud.databricks.com` _(AWS)_. | `DATABRICKS_PASSWORD` |
129+
| `client_id` | _(String)_ The Databricks Service Principal Application ID. | `DATABRICKS_CLIENT_ID` |
130+
| `token_audience` | _(String)_ When using Workload Identity Federation, the audience to specify when fetching an ID token from the ID token supplier. | `TOKEN_AUDIENCE` |
131131

132132
For example, to use Databricks token authentication:
133133

databricks-sdk-java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.databricks</groupId>
77
<artifactId>databricks-sdk-parent</artifactId>
8-
<version>0.46.0</version>
8+
<version>0.49.0</version>
99
</parent>
1010
<artifactId>databricks-sdk-java</artifactId>
1111
<properties>

databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java

Lines changed: 22 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

databricks-sdk-java/src/main/java/com/databricks/sdk/core/DatabricksConfig.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,13 @@ public class DatabricksConfig {
141141

142142
private DatabricksEnvironment databricksEnvironment;
143143

144+
/**
145+
* When using Workload Identity Federation, the audience to specify when fetching an ID token from
146+
* the ID token supplier.
147+
*/
148+
@ConfigAttribute(env = "TOKEN_AUDIENCE")
149+
private String tokenAudience;
150+
144151
public Environment getEnv() {
145152
return env;
146153
}
@@ -512,6 +519,15 @@ public DatabricksConfig setHttpClient(HttpClient httpClient) {
512519
return this;
513520
}
514521

522+
public String getTokenAudience() {
523+
return tokenAudience;
524+
}
525+
526+
public DatabricksConfig setTokenAudience(String tokenAudience) {
527+
this.tokenAudience = tokenAudience;
528+
return this;
529+
}
530+
515531
public boolean isAzure() {
516532
if (azureWorkspaceResourceId != null) {
517533
return true;

0 commit comments

Comments
 (0)