diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha
index 73633aa1e..f24617852 100755
--- a/.codegen/_openapi_sha
+++ b/.codegen/_openapi_sha
@@ -1 +1 @@
-bd6e15a1d13c8bf0fcaa1675bde0fd8fa37df2d0
\ No newline at end of file
+993160f9786ab5532bba61a5b56c2c47c2e2b745
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
index 6c402aa3c..dc8e5329e 100755
--- a/.gitattributes
+++ b/.gitattributes
@@ -1121,6 +1121,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/PublishR
databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/PublishedDashboard.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/QueryAttachmentParameter.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/Result.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/Schedule.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/SchedulePauseStatus.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/ScoreReason.java linguist-generated=true
@@ -1404,6 +1406,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ListSortOrder.j
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ListUsersRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ListUsersResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ListWorkspaceAssignmentRequest.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/MeRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/MigratePermissionsRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/MigratePermissionsResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/Name.java linguist-generated=true
@@ -2507,6 +2510,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/SyncedTabl
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/SyncedTableSyncedTableSpecSyncedTableSchedulingPolicy.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
databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteProjectOperation.java linguist-generated=true
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
diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md
old mode 100644
new mode 100755
index 4cde6fca1..7327317db
--- a/NEXT_CHANGELOG.md
+++ b/NEXT_CHANGELOG.md
@@ -15,3 +15,18 @@
### Internal Changes
### API Changes
+* Add `revert()` method for `workspaceClient.lakeview()` service.
+* Add `undeleteBranch()` method for `workspaceClient.postgres()` service.
+* Add `parentPath` field for `com.databricks.sdk.service.dashboards.GenieUpdateSpaceRequest`.
+* Add `attributes` and `excludedAttributes` fields for `com.databricks.sdk.service.iam.MeRequest`.
+* Add `includeTriggerState` field for `com.databricks.sdk.service.jobs.GetJobRequest`.
+* Add `deleteTime` and `purgeTime` fields for `com.databricks.sdk.service.postgres.BranchStatus`.
+* Add `purge` field for `com.databricks.sdk.service.postgres.DeleteBranchRequest`.
+* Add `showDeleted` field for `com.databricks.sdk.service.postgres.ListBranchesRequest`.
+* Add `DELETED` enum value for `com.databricks.sdk.service.postgres.BranchStatusState`.
+* Change `actionType` and `resourceId` fields for `com.databricks.sdk.service.bundle.Operation` to be required.
+* [Breaking] Change `actionType` and `resourceId` fields for `com.databricks.sdk.service.bundle.Operation` to be required.
+* Change `cliVersion` field for `com.databricks.sdk.service.bundle.Version` to be required.
+* [Breaking] Change `cliVersion` field for `com.databricks.sdk.service.bundle.Version` to be required.
+* [Breaking] Change `tags` field for `com.databricks.sdk.service.marketplace.ListListingsRequest` to type `com.databricks.sdk.service.marketplace.ListingTag` class.
+* [Breaking] Change pagination for `workspaceClient.clusters().events()` method.
\ No newline at end of file
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/Operation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/Operation.java
index cb9298c97..ea8faae37 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/Operation.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/Operation.java
@@ -37,10 +37,7 @@ public class Operation {
@JsonProperty("name")
private String name;
- /**
- * ID reference for the actual resource in the workspace (e.g. the job ID, pipeline ID). Should be
- * unset for delete operations.
- */
+ /** ID reference for the actual resource in the workspace (e.g. the job ID, pipeline ID). */
@JsonProperty("resource_id")
private String resourceId;
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 e53628277..a02389611 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
@@ -4,12 +4,7 @@
import com.databricks.sdk.support.Generated;
-/**
- * Specific variant of a SecurableType: identifies the concrete implementation or backing system for
- * a UC securable (e.g. CATALOG_STANDARD vs CATALOG_DELTASHARING; MEMORY_STORE_STANDARD for
- * Conversations-backed memory stores). Used to dispatch type-specific handling in the entity model.
- * Latest kind: MEMORY_STORE_STANDARD = 330; Next id: 331
- */
+/** Latest kind: AGENT_SERVICE_STANDARD = 331; Next id: 332 */
@Generated
public enum SecurableKind {
TABLE_DB_STORAGE,
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/Environment.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/Environment.java
index ed2aff3d6..4c9b5894d 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/Environment.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/Environment.java
@@ -22,7 +22,10 @@ public class Environment {
* Databricks-provided base environment ID (e.g., `workspace-base-environments/databricks_ai_v4`)
* and workspace base environment ID (e.g.,
* `workspace-base-environments/dbe_b849b66e-b31a-4cb5-b161-1f2b10877fb7`) is in Beta. Either
- * `environment_version` or `base_environment` can be provided. For more information, see
+ * `environment_version` or `base_environment` can be provided. For more information about
+ * Databricks-provided base environments, see the [list workspace base
+ * environments](:method:Environments/ListWorkspaceBaseEnvironments) API. For more information,
+ * see
*/
@JsonProperty("base_environment")
private String baseEnvironment;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieUpdateSpaceRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieUpdateSpaceRequest.java
index e81c46a49..763052f59 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieUpdateSpaceRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/GenieUpdateSpaceRequest.java
@@ -21,6 +21,10 @@ public class GenieUpdateSpaceRequest {
@JsonProperty("etag")
private String etag;
+ /** Parent workspace folder path to move this Genie space under. */
+ @JsonProperty("parent_path")
+ private String parentPath;
+
/**
* The contents of the Genie Space in serialized string form (full replacement). Use the [Get
* Genie Space](:method:genie/getspace) API to retrieve an example response, which includes the
@@ -59,6 +63,15 @@ public String getEtag() {
return etag;
}
+ public GenieUpdateSpaceRequest setParentPath(String parentPath) {
+ this.parentPath = parentPath;
+ return this;
+ }
+
+ public String getParentPath() {
+ return parentPath;
+ }
+
public GenieUpdateSpaceRequest setSerializedSpace(String serializedSpace) {
this.serializedSpace = serializedSpace;
return this;
@@ -102,6 +115,7 @@ public boolean equals(Object o) {
GenieUpdateSpaceRequest that = (GenieUpdateSpaceRequest) o;
return Objects.equals(description, that.description)
&& Objects.equals(etag, that.etag)
+ && Objects.equals(parentPath, that.parentPath)
&& Objects.equals(serializedSpace, that.serializedSpace)
&& Objects.equals(spaceId, that.spaceId)
&& Objects.equals(title, that.title)
@@ -110,7 +124,8 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(description, etag, serializedSpace, spaceId, title, warehouseId);
+ return Objects.hash(
+ description, etag, parentPath, serializedSpace, spaceId, title, warehouseId);
}
@Override
@@ -118,6 +133,7 @@ public String toString() {
return new ToStringer(GenieUpdateSpaceRequest.class)
.add("description", description)
.add("etag", etag)
+ .add("parentPath", parentPath)
.add("serializedSpace", serializedSpace)
.add("spaceId", spaceId)
.add("title", title)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java
index 4217638b9..cfb035a8a 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java
@@ -171,6 +171,11 @@ public PublishedDashboard publish(PublishRequest request) {
return impl.publish(request);
}
+ /** Revert a dashboard's definition in draft mode to the last published version. */
+ public RevertDashboardResponse revert(RevertDashboardRequest request) {
+ return impl.revert(request);
+ }
+
public void trash(String dashboardId) {
trash(new TrashDashboardRequest().setDashboardId(dashboardId));
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewImpl.java
index c84f0b953..9cff4616b 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewImpl.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewImpl.java
@@ -281,6 +281,24 @@ public PublishedDashboard publish(PublishRequest request) {
}
}
+ @Override
+ public RevertDashboardResponse revert(RevertDashboardRequest request) {
+ String path = String.format("/api/2.0/lakeview/dashboards/%s/revert", request.getDashboardId());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, RevertDashboardResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void trash(TrashDashboardRequest request) {
String path = String.format("/api/2.0/lakeview/dashboards/%s", request.getDashboardId());
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewService.java
index 9baa2f5e0..d8d78e215 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewService.java
@@ -55,6 +55,9 @@ public interface LakeviewService {
/** Publish the current draft dashboard. */
PublishedDashboard publish(PublishRequest publishRequest);
+ /** Revert a dashboard's definition in draft mode to the last published version. */
+ RevertDashboardResponse revert(RevertDashboardRequest revertDashboardRequest);
+
/** Trash a dashboard. */
void trash(TrashDashboardRequest trashDashboardRequest);
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
new file mode 100755
index 000000000..59857321b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardRequest.java
@@ -0,0 +1,63 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.dashboards;
+
+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;
+
+/** Request to revert a dashboard draft to its last published state. */
+@Generated
+public class RevertDashboardRequest {
+ /** UUID identifying the dashboard. */
+ @JsonIgnore private String dashboardId;
+
+ /**
+ * 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
+ */
+ @JsonProperty("etag")
+ private String etag;
+
+ public RevertDashboardRequest setDashboardId(String dashboardId) {
+ this.dashboardId = dashboardId;
+ return this;
+ }
+
+ public String getDashboardId() {
+ return dashboardId;
+ }
+
+ public RevertDashboardRequest setEtag(String etag) {
+ this.etag = etag;
+ return this;
+ }
+
+ public String getEtag() {
+ return etag;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ RevertDashboardRequest that = (RevertDashboardRequest) o;
+ return Objects.equals(dashboardId, that.dashboardId) && Objects.equals(etag, that.etag);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(dashboardId, etag);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(RevertDashboardRequest.class)
+ .add("dashboardId", dashboardId)
+ .add("etag", etag)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardResponse.java
new file mode 100755
index 000000000..9417f8e87
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/RevertDashboardResponse.java
@@ -0,0 +1,43 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.dashboards;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Response to revert a dashboard draft to its last published state. */
+@Generated
+public class RevertDashboardResponse {
+ /** The reverted dashboard. */
+ @JsonProperty("dashboard")
+ private Dashboard dashboard;
+
+ public RevertDashboardResponse setDashboard(Dashboard dashboard) {
+ this.dashboard = dashboard;
+ return this;
+ }
+
+ public Dashboard getDashboard() {
+ return dashboard;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ RevertDashboardResponse that = (RevertDashboardResponse) o;
+ return Objects.equals(dashboard, that.dashboard);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(dashboard);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(RevertDashboardResponse.class).add("dashboard", dashboard).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java
index 6f37f8f89..c00f8101c 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java
@@ -91,7 +91,21 @@ public WorkspaceBaseEnvironment getWorkspaceBaseEnvironment(
return impl.getWorkspaceBaseEnvironment(request);
}
- /** Lists all WorkspaceBaseEnvironments in the workspace. */
+ /**
+ * Lists all WorkspaceBaseEnvironments in the workspace.
+ *
+ *
Databricks provides the following base environments:
+ *
+ *
- `workspace-base-environments/databricks_ai_...`: includes popular AI and deep learning
+ * packages for serverless GPU compute.
+ *
+ *
- `workspace-base-environments/databricks_ml_...`: includes popular ML packages for
+ * serverless compute.
+ *
+ *
Databricks-provided base environments are versioned. For example,
+ * `workspace-base-environments/databricks_ml_v5` corresponds to the ML environment built on
+ * environment version 5.
+ */
public Iterable listWorkspaceBaseEnvironments(
ListWorkspaceBaseEnvironmentsRequest request) {
return new Paginator<>(
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsService.java
index 3016ef103..945f703d8 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsService.java
@@ -50,7 +50,21 @@ DefaultWorkspaceBaseEnvironment getDefaultWorkspaceBaseEnvironment(
WorkspaceBaseEnvironment getWorkspaceBaseEnvironment(
GetWorkspaceBaseEnvironmentRequest getWorkspaceBaseEnvironmentRequest);
- /** Lists all WorkspaceBaseEnvironments in the workspace. */
+ /**
+ * Lists all WorkspaceBaseEnvironments in the workspace.
+ *
+ * Databricks provides the following base environments:
+ *
+ *
- `workspace-base-environments/databricks_ai_...`: includes popular AI and deep learning
+ * packages for serverless GPU compute.
+ *
+ *
- `workspace-base-environments/databricks_ml_...`: includes popular ML packages for
+ * serverless compute.
+ *
+ *
Databricks-provided base environments are versioned. For example,
+ * `workspace-base-environments/databricks_ml_v5` corresponds to the ML environment built on
+ * environment version 5.
+ */
ListWorkspaceBaseEnvironmentsResponse listWorkspaceBaseEnvironments(
ListWorkspaceBaseEnvironmentsRequest listWorkspaceBaseEnvironmentsRequest);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserAPI.java
index 302fcff03..9434e2b50 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserAPI.java
@@ -26,8 +26,8 @@ public CurrentUserAPI(CurrentUserService mock) {
}
/** Get details about the current method caller's identity. */
- public User me() {
- return impl.me();
+ public User me(MeRequest request) {
+ return impl.me(request);
}
public CurrentUserService impl() {
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserImpl.java
index 8c22d2f91..8b04e6aae 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserImpl.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserImpl.java
@@ -17,11 +17,12 @@ public CurrentUserImpl(ApiClient apiClient) {
}
@Override
- public User me() {
+ public User me(MeRequest request) {
String path = "/api/2.0/preview/scim/v2/Me";
try {
Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
req.withHeader("Accept", "application/json");
if (apiClient.workspaceId() != null) {
req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId());
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserService.java
index ae5466cce..b34451e8f 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/CurrentUserService.java
@@ -13,5 +13,5 @@
@Generated
public interface CurrentUserService {
/** Get details about the current method caller's identity. */
- User me();
+ User me(MeRequest meRequest);
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/MeRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/MeRequest.java
new file mode 100755
index 000000000..83cb7525b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/MeRequest.java
@@ -0,0 +1,62 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.iam;
+
+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 java.util.Objects;
+
+@Generated
+public class MeRequest {
+ /** Comma-separated list of attributes to return in response. */
+ @JsonIgnore
+ @QueryParam("attributes")
+ private String attributes;
+
+ /** Comma-separated list of attributes to exclude in response. */
+ @JsonIgnore
+ @QueryParam("excludedAttributes")
+ private String excludedAttributes;
+
+ public MeRequest setAttributes(String attributes) {
+ this.attributes = attributes;
+ return this;
+ }
+
+ public String getAttributes() {
+ return attributes;
+ }
+
+ public MeRequest setExcludedAttributes(String excludedAttributes) {
+ this.excludedAttributes = excludedAttributes;
+ return this;
+ }
+
+ public String getExcludedAttributes() {
+ return excludedAttributes;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ MeRequest that = (MeRequest) o;
+ return Objects.equals(attributes, that.attributes)
+ && Objects.equals(excludedAttributes, that.excludedAttributes);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, excludedAttributes);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(MeRequest.class)
+ .add("attributes", attributes)
+ .add("excludedAttributes", excludedAttributes)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/GetJobRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/GetJobRequest.java
index 782000d0b..2496d1d02 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/GetJobRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/GetJobRequest.java
@@ -10,6 +10,11 @@
@Generated
public class GetJobRequest {
+ /** Flag that indicates that trigger state should be included in the response. */
+ @JsonIgnore
+ @QueryParam("include_trigger_state")
+ private Boolean includeTriggerState;
+
/** The canonical identifier of the job to retrieve information about. This field is required. */
@JsonIgnore
@QueryParam("job_id")
@@ -23,6 +28,15 @@ public class GetJobRequest {
@QueryParam("page_token")
private String pageToken;
+ public GetJobRequest setIncludeTriggerState(Boolean includeTriggerState) {
+ this.includeTriggerState = includeTriggerState;
+ return this;
+ }
+
+ public Boolean getIncludeTriggerState() {
+ return includeTriggerState;
+ }
+
public GetJobRequest setJobId(Long jobId) {
this.jobId = jobId;
return this;
@@ -46,17 +60,20 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GetJobRequest that = (GetJobRequest) o;
- return Objects.equals(jobId, that.jobId) && Objects.equals(pageToken, that.pageToken);
+ return Objects.equals(includeTriggerState, that.includeTriggerState)
+ && Objects.equals(jobId, that.jobId)
+ && Objects.equals(pageToken, that.pageToken);
}
@Override
public int hashCode() {
- return Objects.hash(jobId, pageToken);
+ return Objects.hash(includeTriggerState, jobId, pageToken);
}
@Override
public String toString() {
return new ToStringer(GetJobRequest.class)
+ .add("includeTriggerState", includeTriggerState)
.add("jobId", jobId)
.add("pageToken", pageToken)
.toString();
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListListingsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListListingsRequest.java
index 2cc8fd092..c6a6cdc6d 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListListingsRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ListListingsRequest.java
@@ -51,10 +51,10 @@ public class ListListingsRequest {
@QueryParam("provider_ids")
private Collection providerIds;
- /** Matches any of the following tags */
+ /** Matches listings with this tag */
@JsonIgnore
@QueryParam("tags")
- private Collection tags;
+ private ListingTag tags;
public ListListingsRequest setAssets(Collection assets) {
this.assets = assets;
@@ -128,12 +128,12 @@ public Collection getProviderIds() {
return providerIds;
}
- public ListListingsRequest setTags(Collection tags) {
+ public ListListingsRequest setTags(ListingTag tags) {
this.tags = tags;
return this;
}
- public Collection getTags() {
+ public ListingTag getTags() {
return tags;
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeature.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeature.java
index 0351eaf8c..f939f14ad 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeature.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeature.java
@@ -34,15 +34,15 @@ public class MaterializedFeature {
@JsonProperty("last_materialization_time")
private String lastMaterializationTime;
- /** Unique identifier for the materialized feature. */
+ /** Server-assigned unique identifier for the materialized feature. */
@JsonProperty("materialized_feature_id")
private String materializedFeatureId;
- /** */
+ /** Destination for writing feature values to an offline Delta table. */
@JsonProperty("offline_store_config")
private OfflineStoreConfig offlineStoreConfig;
- /** */
+ /** Destination for writing feature values to an online Lakebase table. */
@JsonProperty("online_store_config")
private OnlineStoreConfig onlineStoreConfig;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateMaterializedFeatureRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateMaterializedFeatureRequest.java
index d0a3869f0..3bba2ae27 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateMaterializedFeatureRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateMaterializedFeatureRequest.java
@@ -15,7 +15,7 @@ public class UpdateMaterializedFeatureRequest {
@JsonProperty("materialized_feature")
private MaterializedFeature materializedFeature;
- /** Unique identifier for the materialized feature. */
+ /** Server-assigned unique identifier for the materialized feature. */
@JsonIgnore private String materializedFeatureId;
/**
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatus.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatus.java
index 584b6ebcf..9b4dde230 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatus.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatus.java
@@ -29,6 +29,10 @@ public class BranchStatus {
@JsonProperty("default")
private Boolean defaultValue;
+ /** A timestamp indicating when the branch was deleted. Empty if the branch is not deleted. */
+ @JsonProperty("delete_time")
+ private Timestamp deleteTime;
+
/** Absolute expiration time for the branch. Empty if expiration is disabled. */
@JsonProperty("expire_time")
private Timestamp expireTime;
@@ -45,6 +49,13 @@ public class BranchStatus {
@JsonProperty("pending_state")
private BranchStatusState pendingState;
+ /**
+ * A timestamp indicating when the branch is scheduled to be purged. Empty if the branch is not
+ * deleted, otherwise set to a timestamp in the future.
+ */
+ @JsonProperty("purge_time")
+ private Timestamp purgeTime;
+
/**
* The name of the source branch from which this branch was created. Format:
* projects/{project_id}/branches/{branch_id}
@@ -91,6 +102,15 @@ public Boolean getDefault() {
return defaultValue;
}
+ public BranchStatus setDeleteTime(Timestamp deleteTime) {
+ this.deleteTime = deleteTime;
+ return this;
+ }
+
+ public Timestamp getDeleteTime() {
+ return deleteTime;
+ }
+
public BranchStatus setExpireTime(Timestamp expireTime) {
this.expireTime = expireTime;
return this;
@@ -127,6 +147,15 @@ public BranchStatusState getPendingState() {
return pendingState;
}
+ public BranchStatus setPurgeTime(Timestamp purgeTime) {
+ this.purgeTime = purgeTime;
+ return this;
+ }
+
+ public Timestamp getPurgeTime() {
+ return purgeTime;
+ }
+
public BranchStatus setSourceBranch(String sourceBranch) {
this.sourceBranch = sourceBranch;
return this;
@@ -171,10 +200,12 @@ public boolean equals(Object o) {
return Objects.equals(branchId, that.branchId)
&& Objects.equals(currentState, that.currentState)
&& Objects.equals(defaultValue, that.defaultValue)
+ && Objects.equals(deleteTime, that.deleteTime)
&& Objects.equals(expireTime, that.expireTime)
&& Objects.equals(isProtected, that.isProtected)
&& Objects.equals(logicalSizeBytes, that.logicalSizeBytes)
&& Objects.equals(pendingState, that.pendingState)
+ && Objects.equals(purgeTime, that.purgeTime)
&& Objects.equals(sourceBranch, that.sourceBranch)
&& Objects.equals(sourceBranchLsn, that.sourceBranchLsn)
&& Objects.equals(sourceBranchTime, that.sourceBranchTime)
@@ -187,10 +218,12 @@ public int hashCode() {
branchId,
currentState,
defaultValue,
+ deleteTime,
expireTime,
isProtected,
logicalSizeBytes,
pendingState,
+ purgeTime,
sourceBranch,
sourceBranchLsn,
sourceBranchTime,
@@ -203,10 +236,12 @@ public String toString() {
.add("branchId", branchId)
.add("currentState", currentState)
.add("defaultValue", defaultValue)
+ .add("deleteTime", deleteTime)
.add("expireTime", expireTime)
.add("isProtected", isProtected)
.add("logicalSizeBytes", logicalSizeBytes)
.add("pendingState", pendingState)
+ .add("purgeTime", purgeTime)
.add("sourceBranch", sourceBranch)
.add("sourceBranchLsn", sourceBranchLsn)
.add("sourceBranchTime", sourceBranchTime)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatusState.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatusState.java
index a617f80a0..ff89f0cc7 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatusState.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/BranchStatusState.java
@@ -8,6 +8,7 @@
@Generated
public enum BranchStatusState {
ARCHIVED,
+ DELETED,
IMPORTING,
INIT,
READY,
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteBranchRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteBranchRequest.java
index 00f0f3460..f65faca4a 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteBranchRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/DeleteBranchRequest.java
@@ -3,6 +3,7 @@
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 java.util.Objects;
@@ -15,6 +16,11 @@ public class DeleteBranchRequest {
*/
@JsonIgnore private String name;
+ /** If true, permanently delete the branch; if false, soft delete. */
+ @JsonIgnore
+ @QueryParam("purge")
+ private Boolean purge;
+
public DeleteBranchRequest setName(String name) {
this.name = name;
return this;
@@ -24,21 +30,33 @@ public String getName() {
return name;
}
+ public DeleteBranchRequest setPurge(Boolean purge) {
+ this.purge = purge;
+ return this;
+ }
+
+ public Boolean getPurge() {
+ return purge;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DeleteBranchRequest that = (DeleteBranchRequest) o;
- return Objects.equals(name, that.name);
+ return Objects.equals(name, that.name) && Objects.equals(purge, that.purge);
}
@Override
public int hashCode() {
- return Objects.hash(name);
+ return Objects.hash(name, purge);
}
@Override
public String toString() {
- return new ToStringer(DeleteBranchRequest.class).add("name", name).toString();
+ return new ToStringer(DeleteBranchRequest.class)
+ .add("name", name)
+ .add("purge", purge)
+ .toString();
}
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListBranchesRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListBranchesRequest.java
index 4957cac59..86988f9c3 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListBranchesRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListBranchesRequest.java
@@ -23,6 +23,14 @@ public class ListBranchesRequest {
/** The Project that owns this collection of branches. Format: projects/{project_id} */
@JsonIgnore private String parent;
+ /**
+ * Whether to include soft-deleted branches in the response. When true, deleted branches are
+ * included alongside active branches. Purged branches are never returned.
+ */
+ @JsonIgnore
+ @QueryParam("show_deleted")
+ private Boolean showDeleted;
+
public ListBranchesRequest setPageSize(Long pageSize) {
this.pageSize = pageSize;
return this;
@@ -50,6 +58,15 @@ public String getParent() {
return parent;
}
+ public ListBranchesRequest setShowDeleted(Boolean showDeleted) {
+ this.showDeleted = showDeleted;
+ return this;
+ }
+
+ public Boolean getShowDeleted() {
+ return showDeleted;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -57,12 +74,13 @@ public boolean equals(Object o) {
ListBranchesRequest that = (ListBranchesRequest) o;
return Objects.equals(pageSize, that.pageSize)
&& Objects.equals(pageToken, that.pageToken)
- && Objects.equals(parent, that.parent);
+ && Objects.equals(parent, that.parent)
+ && Objects.equals(showDeleted, that.showDeleted);
}
@Override
public int hashCode() {
- return Objects.hash(pageSize, pageToken, parent);
+ return Objects.hash(pageSize, pageToken, parent, showDeleted);
}
@Override
@@ -71,6 +89,7 @@ public String toString() {
.add("pageSize", pageSize)
.add("pageToken", pageToken)
.add("parent", parent)
+ .add("showDeleted", showDeleted)
.toString();
}
}
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 abe5c04ec..255b88164 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
@@ -333,6 +333,12 @@ public Iterable listRoles(ListRolesRequest request) {
});
}
+ /** Undeletes the specified database branch. */
+ public UndeleteBranchOperation undeleteBranch(UndeleteBranchRequest request) {
+ Operation operation = impl.undeleteBranch(request);
+ return new UndeleteBranchOperation(impl, operation);
+ }
+
/** Undeletes a soft-deleted project. */
public UndeleteProjectOperation undeleteProject(UndeleteProjectRequest request) {
Operation operation = impl.undeleteProject(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 b6981a62d..396c52f34 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
@@ -500,6 +500,24 @@ public ListRolesResponse listRoles(ListRolesRequest request) {
}
}
+ @Override
+ public Operation undeleteBranch(UndeleteBranchRequest request) {
+ String path = String.format("/api/2.0/postgres/%s/undelete", request.getName());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request));
+
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ if (apiClient.workspaceId() != null) {
+ req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, Operation.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public Operation undeleteProject(UndeleteProjectRequest request) {
String path = String.format("/api/2.0/postgres/%s/undelete", 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 4c767cb90..a728f5e23 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
@@ -124,6 +124,9 @@ DatabaseCredential generateDatabaseCredential(
/** Returns a paginated list of Postgres roles in the branch. */
ListRolesResponse listRoles(ListRolesRequest listRolesRequest);
+ /** Undeletes the specified database branch. */
+ Operation undeleteBranch(UndeleteBranchRequest undeleteBranchRequest);
+
/** Undeletes a soft-deleted project. */
Operation undeleteProject(UndeleteProjectRequest undeleteProjectRequest);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ProjectSpec.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ProjectSpec.java
index 6cee8dcd3..75a1cd608 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ProjectSpec.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ProjectSpec.java
@@ -44,7 +44,7 @@ public class ProjectSpec {
private String displayName;
/**
- * Whether to enable PG native password login on all endpoints in this project. Defaults to true.
+ * Whether to enable PG native password login on all endpoints in this project. Defaults to false.
*/
@JsonProperty("enable_pg_native_login")
private Boolean enablePgNativeLogin;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchOperation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchOperation.java
new file mode 100755
index 000000000..b02c73fb5
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchOperation.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 undeleteBranch operation. Provides methods to wait
+ * for completion, check status, cancel, and access metadata.
+ */
+@Generated
+public class UndeleteBranchOperation {
+ private static final Logger LOG = LoggerFactory.getLogger(UndeleteBranchOperation.class);
+
+ private final PostgresService impl;
+ private Operation operation;
+ private final ObjectMapper objectMapper;
+
+ public UndeleteBranchOperation(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 BranchOperationMetadata getMetadata() {
+ if (operation.getMetadata() == null) {
+ return null;
+ }
+
+ try {
+ JsonNode metadataJson = objectMapper.valueToTree(operation.getMetadata());
+ return objectMapper.treeToValue(metadataJson, BranchOperationMetadata.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/UndeleteBranchRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchRequest.java
new file mode 100755
index 000000000..1431d082b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UndeleteBranchRequest.java
@@ -0,0 +1,44 @@
+// 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 UndeleteBranchRequest {
+ /**
+ * The full resource path of the branch to undelete. Format:
+ * projects/{project_id}/branches/{branch_id}
+ */
+ @JsonIgnore private String name;
+
+ public UndeleteBranchRequest 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;
+ UndeleteBranchRequest that = (UndeleteBranchRequest) o;
+ return Objects.equals(name, that.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UndeleteBranchRequest.class).add("name", name).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/benchmark/WorkspaceClientLoadIT.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/benchmark/WorkspaceClientLoadIT.java
index 687822145..af410ef80 100644
--- a/databricks-sdk-java/src/test/java/com/databricks/sdk/benchmark/WorkspaceClientLoadIT.java
+++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/benchmark/WorkspaceClientLoadIT.java
@@ -7,6 +7,7 @@
import com.databricks.sdk.integration.framework.EnvContext;
import com.databricks.sdk.integration.framework.EnvOrSkip;
import com.databricks.sdk.integration.framework.EnvTest;
+import com.databricks.sdk.service.iam.MeRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.*;
@@ -46,7 +47,7 @@ public void testConcurrentCurrentUserMe(
WorkspaceClient w = new WorkspaceClient(config);
// This should not throw an exception.
- w.currentUser().me();
+ w.currentUser().me(new MeRequest());
return true;
} catch (Exception e) {
diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/AccountClientIT.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/AccountClientIT.java
index 47a65baa1..bec5298fc 100644
--- a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/AccountClientIT.java
+++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/AccountClientIT.java
@@ -5,6 +5,7 @@
import com.databricks.sdk.integration.framework.EnvContext;
import com.databricks.sdk.integration.framework.EnvOrSkip;
import com.databricks.sdk.integration.framework.EnvTest;
+import com.databricks.sdk.service.iam.MeRequest;
import com.databricks.sdk.service.provisioning.Workspace;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -19,6 +20,6 @@ public void getWorkspaceClient(
long workspaceId = Long.parseLong(workspaceIdStr);
Workspace workspace = a.workspaces().get(workspaceId);
WorkspaceClient w = a.getWorkspaceClient(workspace);
- assert w.currentUser().me().getActive();
+ assert w.currentUser().me(new MeRequest()).getActive();
}
}
diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksOidcWorkspaceIT.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksOidcWorkspaceIT.java
index e81fd90c6..67090eb14 100644
--- a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksOidcWorkspaceIT.java
+++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksOidcWorkspaceIT.java
@@ -7,6 +7,7 @@
import com.databricks.sdk.integration.framework.EnvContext;
import com.databricks.sdk.integration.framework.EnvOrSkip;
import com.databricks.sdk.integration.framework.EnvTest;
+import com.databricks.sdk.service.iam.MeRequest;
import com.databricks.sdk.service.iam.User;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -37,7 +38,7 @@ void testWorkspaceOAuthM2MAuth(
WorkspaceClient ws = new WorkspaceClient(config);
// Call the "me" API
- User me = ws.currentUser().me();
+ User me = ws.currentUser().me(new MeRequest());
// Verify we got a valid response
assertNotNull(me.getUserName(), "Expected non-empty UserName");
@@ -64,7 +65,7 @@ void testWorkspaceAzureClientSecretAuth(
WorkspaceClient ws = new WorkspaceClient(config);
// Call the "me" API
- User me = ws.currentUser().me();
+ User me = ws.currentUser().me(new MeRequest());
// Verify we got a valid response
assertNotNull(me.getUserName(), "Expected non-empty UserName");
diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksWifIT.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksWifIT.java
index b50f2267d..a818b564e 100644
--- a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksWifIT.java
+++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/DatabricksWifIT.java
@@ -63,7 +63,7 @@ void workspace(
WorkspaceClient ws = new WorkspaceClient(config);
- ws.currentUser().me();
+ ws.currentUser().me(new MeRequest());
}
// This test cannot run on local machines. We use ACTIONS_ID_TOKEN_REQUEST_URL
diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/UnifiedHostWorkspaceIT.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/UnifiedHostWorkspaceIT.java
index 933b6f22f..c1dd79111 100644
--- a/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/UnifiedHostWorkspaceIT.java
+++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/integration/UnifiedHostWorkspaceIT.java
@@ -8,6 +8,7 @@
import com.databricks.sdk.integration.framework.EnvContext;
import com.databricks.sdk.integration.framework.EnvOrSkip;
import com.databricks.sdk.integration.framework.EnvTest;
+import com.databricks.sdk.service.iam.MeRequest;
import com.databricks.sdk.service.iam.User;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledIfEnvironmentVariable;
@@ -40,7 +41,7 @@ void currentUserMe(
WorkspaceClient ws = new WorkspaceClient(config);
- User me = ws.currentUser().me();
+ User me = ws.currentUser().me(new MeRequest());
assertNotNull(me.getUserName(), "Expected non-empty UserName");
}
}
diff --git a/examples/docs/src/main/java/com/databricks/example/TriggerJobToRunPythonProgram.java b/examples/docs/src/main/java/com/databricks/example/TriggerJobToRunPythonProgram.java
index 724a3b56c..0ed094992 100644
--- a/examples/docs/src/main/java/com/databricks/example/TriggerJobToRunPythonProgram.java
+++ b/examples/docs/src/main/java/com/databricks/example/TriggerJobToRunPythonProgram.java
@@ -4,6 +4,7 @@
import com.databricks.sdk.core.DatabricksConfig;
import com.databricks.sdk.service.compute.ClusterDetails;
import com.databricks.sdk.service.compute.CreateCluster;
+import com.databricks.sdk.service.iam.MeRequest;
import com.databricks.sdk.service.jobs.*;
import com.databricks.sdk.support.Wait;
@@ -69,7 +70,7 @@ private static ClusterDetails getCluster(WorkspaceClient testWorkspace) {
@return a list of strings that contains the results of the job for each task in the job
*/
private static List triggerJobOn(WorkspaceClient testWorkspace, ClusterDetails cluster) {
- String pyFileOnDBFS = String.format("/home/%s/java-sdk-test-sample.py", testWorkspace.currentUser().me().getUserName());
+ String pyFileOnDBFS = String.format("/home/%s/java-sdk-test-sample.py", testWorkspace.currentUser().me(new MeRequest()).getUserName());
String pyProgram = getSamplePythonProgram();
try {