listIdentityVisibilityFilters(
ListIdentityVisibilityFiltersRequest request) {
return Paginator.newTokenPagination(
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 426cb859e..20d99d799 100644
--- 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
@@ -33,7 +33,13 @@ DirectGroupMember createDirectGroupMember(
*/
Group createGroup(CreateGroupRequest createGroupRequest);
- /** Creates an identity-visibility filter in the account. */
+ /**
+ * Creates a group visibility filter in the account. Requires account admin privileges. Set
+ * `principal_type` to `GROUP` and specify exactly one of `exact` (external ID) or `prefix`
+ * (display-name starts with). The filter applies across all workspaces in the account. A
+ * duplicate filter ID or an existing rule with the same type and match value returns
+ * `ALREADY_EXISTS`. Filters are immutable; to change a rule, delete it and create a new one.
+ */
IdentityVisibilityFilter createIdentityVisibilityFilter(
CreateIdentityVisibilityFilterRequest createIdentityVisibilityFilterRequest);
@@ -89,7 +95,13 @@ WorkspaceAssignmentDetail createWorkspaceAssignmentDetail(
*/
void deleteGroup(DeleteGroupRequest deleteGroupRequest);
- /** Deletes an identity-visibility filter by resource name. */
+ /**
+ * Deletes a group visibility filter by its resource name. Requires account admin privileges.
+ * Deleting a filter does not delete groups or revoke access. Groups covered only by this rule
+ * stop being discoverable unless they or a transitive parent are already provisioned in the
+ * account. If no group filters remain, all groups become visible again. Deleting a filter that
+ * does not exist succeeds without making any changes.
+ */
void deleteIdentityVisibilityFilter(
DeleteIdentityVisibilityFilterRequest deleteIdentityVisibilityFilterRequest);
@@ -142,7 +154,10 @@ ExternalServicePrincipal getExternalServicePrincipal(
/** Fetches a group from the Databricks account by its internal ID. */
Group getGroup(GetGroupRequest getGroupRequest);
- /** Fetches an identity-visibility filter by resource name. */
+ /**
+ * Gets a group visibility filter by its resource name. Requires account admin privileges. Returns
+ * the filter rule, not the groups matched by the rule.
+ */
IdentityVisibilityFilter getIdentityVisibilityFilter(
GetIdentityVisibilityFilterRequest getIdentityVisibilityFilterRequest);
@@ -183,7 +198,12 @@ ListDirectGroupMembersResponse listDirectGroupMembers(
*/
ListGroupsResponse listGroups(ListGroupsRequest listGroupsRequest);
- /** Lists the identity-visibility filters in the account, returning one page per call. */
+ /**
+ * Lists group visibility filters in the account, returning one page per call. Requires account
+ * admin privileges. Returns filter rules, not the groups matched by those rules. To retrieve the
+ * next page, pass the response's `next_page_token` as `page_token` in the next request. If
+ * `next_page_token` is omitted, there are no more pages.
+ */
ListIdentityVisibilityFiltersResponse listIdentityVisibilityFilters(
ListIdentityVisibilityFiltersRequest listIdentityVisibilityFiltersRequest);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateIdentityVisibilityFilterRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateIdentityVisibilityFilterRequest.java
index 6486b3209..8c001020b 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateIdentityVisibilityFilterRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/CreateIdentityVisibilityFilterRequest.java
@@ -11,13 +11,16 @@
@Generated
public class CreateIdentityVisibilityFilterRequest {
- /** Required. The filter to create. */
+ /**
+ * Required. The filter to create. Set `principal_type` to `GROUP` and specify exactly one of
+ * `exact` or `prefix`. The server assigns the resource name; any supplied `name` is ignored.
+ */
@JsonProperty("identity_visibility_filter")
private IdentityVisibilityFilter identityVisibilityFilter;
/**
* Optional. The ID to use for the filter, which becomes the final component of its resource name.
- * If not specified, the server generates one.
+ * If not specified or empty, the server generates one. Must not contain `/`.
*/
@JsonIgnore
@QueryParam("identity_visibility_filter_id")
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ExactMatchRule.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ExactMatchRule.java
index aa36bb1be..b93249b02 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ExactMatchRule.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ExactMatchRule.java
@@ -7,12 +7,13 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Objects;
-/**
- * A rule that matches an identity whose external ID (from the identity provider) equals the value.
- */
+/** An exact-match rule that matches a group's external ID from the identity provider. */
@Generated
public class ExactMatchRule {
- /** The external ID to match exactly. */
+ /**
+ * The identity provider's external ID for the group to match. This is not the Databricks group
+ * ID. The value must be non-empty and is matched exactly, including case.
+ */
@JsonProperty("external_id")
private String externalId;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/IdentityVisibilityFilter.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/IdentityVisibilityFilter.java
index 7552d7254..8d310610b 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/IdentityVisibilityFilter.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/IdentityVisibilityFilter.java
@@ -8,16 +8,21 @@
import java.util.Objects;
/**
- * A rule controlling which externally provisioned identities are visible in the account. Filters
- * are scoped by principal_type: an identity is only ever evaluated against filters whose
- * principal_type matches its own. When the account has no filter for an identity's principal_type,
- * all identities of that type are visible; once it has at least one filter for that type, an
- * identity of that type is visible only if it matches at least one of those filters. So a set of
- * group-only filters gates groups but leaves users and service principals fully visible.
+ * An account-level rule that controls which identity provider groups are discoverable in directory
+ * search and group pickers when automatic identity management is enabled. Filters apply across all
+ * workspaces in the account.
+ *
+ * If no group filters are configured, all groups are visible. Otherwise, a group is visible if
+ * it or any of its transitive parent groups matches at least one rule. A group is also visible if
+ * it or any transitive parent group is already provisioned in the account. Local Databricks groups
+ * remain visible regardless of the filters.
+ *
+ *
Only group filters can be created. Filters do not change provisioning or sign-in for users and
+ * service principals. Filters are immutable: to change a rule, delete it and create a new one.
*/
@Generated
public class IdentityVisibilityFilter {
- /** Exact match on the identity's external ID. */
+ /** Exact match on the group's external ID from the identity provider. */
@JsonProperty("exact")
private ExactMatchRule exact;
@@ -28,11 +33,14 @@ public class IdentityVisibilityFilter {
@JsonProperty("name")
private String name;
- /** Prefix match on the identity's display name. */
+ /** Case-sensitive starts-with match on the group's display name. */
@JsonProperty("prefix")
private PrefixMatchRule prefix;
- /** Which type of principal (user, service principal, or group) this rule applies to. */
+ /**
+ * The type of principal this rule applies to. Set to `GROUP` when creating a filter. Other
+ * principal types are not supported for creation.
+ */
@JsonProperty("principal_type")
private PrincipalType principalType;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersRequest.java
index 3b7ba2b4b..da07f9dd1 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersRequest.java
@@ -10,7 +10,10 @@
@Generated
public class ListIdentityVisibilityFiltersRequest {
- /** The maximum number of filters to return. The service may return fewer than this value. */
+ /**
+ * The maximum number of filters to return. The service may return fewer than this value. If
+ * omitted or non-positive, defaults to 100. Values above 1000 are reduced to 1000.
+ */
@JsonIgnore
@QueryParam("page_size")
private Long pageSize;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersResponse.java
index 9bb17cb8a..330d3ec01 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersResponse.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/ListIdentityVisibilityFiltersResponse.java
@@ -11,7 +11,7 @@
/** Response message containing a page of identity-visibility filters in the account. */
@Generated
public class ListIdentityVisibilityFiltersResponse {
- /** */
+ /** The filters in this page. These are filter rules, not the groups matched by the rules. */
@JsonProperty("identity_visibility_filters")
private Collection identityVisibilityFilters;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/PrefixMatchRule.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/PrefixMatchRule.java
index 88dc9d1ee..0de1e380a 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/PrefixMatchRule.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/PrefixMatchRule.java
@@ -7,10 +7,16 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Objects;
-/** A rule that matches an identity whose display name starts with the value. */
+/**
+ * A starts-with rule that matches groups whose display name begins with a specified prefix.
+ * Matching is case-sensitive. For example, the prefix `data-` matches `data-platform`.
+ */
@Generated
public class PrefixMatchRule {
- /** The display-name prefix to match. */
+ /**
+ * The display-name prefix to match. Must contain at least one non-whitespace character. Leading
+ * and trailing whitespace are preserved, and matching is case-sensitive.
+ */
@JsonProperty("display_name_prefix")
private String displayNamePrefix;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java
index fb29d03f0..d4125be6e 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java
@@ -244,10 +244,7 @@ public Iterable list(ListJobsRequest request) {
});
}
- /**
- * List runs in descending order by end time. If a run has not finished, it falls back to start
- * time.
- */
+ /** List runs in descending order by start time. */
public Iterable listRuns(ListRunsRequest request) {
return Paginator.newTokenPagination(
request,
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsService.java
index 38ece5467..fc317fde5 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsService.java
@@ -101,10 +101,7 @@ GetJobPermissionLevelsResponse getPermissionLevels(
/** Retrieves a list of jobs. */
ListJobsResponse list(ListJobsRequest listJobsRequest);
- /**
- * List runs in descending order by end time. If a run has not finished, it falls back to start
- * time.
- */
+ /** List runs in descending order by start time. */
ListRunsResponse listRuns(ListRunsRequest listRunsRequest);
/**
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunTask.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunTask.java
index e45da37be..842696a0f 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunTask.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/RunTask.java
@@ -126,13 +126,6 @@ public class RunTask {
@JsonProperty("effective_performance_target")
private PerformanceTarget effectivePerformanceTarget;
- /**
- * The id of the serverless compute this task ran on, either explicitly configured on the task or
- * the workspace default. Only set once the compute has been resolved at run trigger.
- */
- @JsonProperty("effective_serverless_compute_id")
- private String effectiveServerlessComputeId;
-
/**
* An optional set of email addresses notified when the task run begins or completes. The default
* behavior is to not send any emails.
@@ -531,15 +524,6 @@ public PerformanceTarget getEffectivePerformanceTarget() {
return effectivePerformanceTarget;
}
- public RunTask setEffectiveServerlessComputeId(String effectiveServerlessComputeId) {
- this.effectiveServerlessComputeId = effectiveServerlessComputeId;
- return this;
- }
-
- public String getEffectiveServerlessComputeId() {
- return effectiveServerlessComputeId;
- }
-
public RunTask setEmailNotifications(JobEmailNotifications emailNotifications) {
this.emailNotifications = emailNotifications;
return this;
@@ -913,7 +897,6 @@ public boolean equals(Object o) {
&& Objects.equals(disableAutoOptimization, that.disableAutoOptimization)
&& Objects.equals(disabled, that.disabled)
&& Objects.equals(effectivePerformanceTarget, that.effectivePerformanceTarget)
- && Objects.equals(effectiveServerlessComputeId, that.effectiveServerlessComputeId)
&& Objects.equals(emailNotifications, that.emailNotifications)
&& Objects.equals(endTime, that.endTime)
&& Objects.equals(environmentKey, that.environmentKey)
@@ -975,7 +958,6 @@ public int hashCode() {
disableAutoOptimization,
disabled,
effectivePerformanceTarget,
- effectiveServerlessComputeId,
emailNotifications,
endTime,
environmentKey,
@@ -1037,7 +1019,6 @@ public String toString() {
.add("disableAutoOptimization", disableAutoOptimization)
.add("disabled", disabled)
.add("effectivePerformanceTarget", effectivePerformanceTarget)
- .add("effectiveServerlessComputeId", effectiveServerlessComputeId)
.add("emailNotifications", emailNotifications)
.add("endTime", endTime)
.add("environmentKey", environmentKey)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Subscription.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Subscription.java
index 5a9d182b0..52983b0c4 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Subscription.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/Subscription.java
@@ -10,6 +10,15 @@
@Generated
public class Subscription {
+ /**
+ * Optional: The configuration for the files attached to the dashboard snapshot notification. It
+ * controls the underlying data of dashboard widgets that is attached as data files and which
+ * pages are included in the attached PDF. If not specified, the notification is sent with only
+ * the default snapshot.
+ */
+ @JsonProperty("attachment")
+ private SubscriptionAttachment attachment;
+
/** Optional: Allows users to specify a custom subject line on the email sent to subscribers. */
@JsonProperty("custom_subject")
private String customSubject;
@@ -22,6 +31,15 @@ public class Subscription {
@JsonProperty("subscribers")
private Collection subscribers;
+ public Subscription setAttachment(SubscriptionAttachment attachment) {
+ this.attachment = attachment;
+ return this;
+ }
+
+ public SubscriptionAttachment getAttachment() {
+ return attachment;
+ }
+
public Subscription setCustomSubject(String customSubject) {
this.customSubject = customSubject;
return this;
@@ -54,19 +72,21 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Subscription that = (Subscription) o;
- return Objects.equals(customSubject, that.customSubject)
+ return Objects.equals(attachment, that.attachment)
+ && Objects.equals(customSubject, that.customSubject)
&& Objects.equals(paused, that.paused)
&& Objects.equals(subscribers, that.subscribers);
}
@Override
public int hashCode() {
- return Objects.hash(customSubject, paused, subscribers);
+ return Objects.hash(attachment, customSubject, paused, subscribers);
}
@Override
public String toString() {
return new ToStringer(Subscription.class)
+ .add("attachment", attachment)
.add("customSubject", customSubject)
.add("paused", paused)
.add("subscribers", subscribers)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachment.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachment.java
new file mode 100644
index 000000000..bc25d0faf
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachment.java
@@ -0,0 +1,73 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.jobs;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/**
+ * The configuration for the files attached to the dashboard snapshot notification sent to
+ * subscribers. `data_attachment` describes the underlying data of dashboard widgets attached as
+ * data files, and `page_attachment` describes which dashboard pages are included in the attached
+ * PDF.
+ */
+@Generated
+public class SubscriptionAttachment {
+ /**
+ * Optional: The configuration for the underlying data of dashboard widgets attached as tabular
+ * data files. If not specified, no tabular data is attached.
+ */
+ @JsonProperty("data_attachment")
+ private SubscriptionAttachmentDataAttachment dataAttachment;
+
+ /**
+ * Optional: The selection of dashboard pages included in the attached PDF. If not specified, only
+ * the first page is included.
+ */
+ @JsonProperty("page_attachment")
+ private SubscriptionAttachmentPageAttachment pageAttachment;
+
+ public SubscriptionAttachment setDataAttachment(
+ SubscriptionAttachmentDataAttachment dataAttachment) {
+ this.dataAttachment = dataAttachment;
+ return this;
+ }
+
+ public SubscriptionAttachmentDataAttachment getDataAttachment() {
+ return dataAttachment;
+ }
+
+ public SubscriptionAttachment setPageAttachment(
+ SubscriptionAttachmentPageAttachment pageAttachment) {
+ this.pageAttachment = pageAttachment;
+ return this;
+ }
+
+ public SubscriptionAttachmentPageAttachment getPageAttachment() {
+ return pageAttachment;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SubscriptionAttachment that = (SubscriptionAttachment) o;
+ return Objects.equals(dataAttachment, that.dataAttachment)
+ && Objects.equals(pageAttachment, that.pageAttachment);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(dataAttachment, pageAttachment);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(SubscriptionAttachment.class)
+ .add("dataAttachment", dataAttachment)
+ .add("pageAttachment", pageAttachment)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachment.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachment.java
new file mode 100644
index 000000000..bc4966eee
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachment.java
@@ -0,0 +1,86 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.jobs;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/**
+ * The configuration for the tabular data files attached to the dashboard snapshot. `widgets` lists
+ * the widgets whose data is exported and `file_format` is the output format; each referenced
+ * widget's data is exported as a separate file.
+ */
+@Generated
+public class SubscriptionAttachmentDataAttachment {
+ /** The file format of the exported tabular data files. */
+ @JsonProperty("file_format")
+ private SubscriptionAttachmentDataAttachmentFileFormat fileFormat;
+
+ /**
+ * When true, the dashboard's applied filter values are included alongside the tabular data as an
+ * additional attached file.
+ */
+ @JsonProperty("include_applied_filters")
+ private Boolean includeAppliedFilters;
+
+ /** The widgets whose underlying data is exported. At least one widget must be referenced. */
+ @JsonProperty("widgets")
+ private Collection widgets;
+
+ public SubscriptionAttachmentDataAttachment setFileFormat(
+ SubscriptionAttachmentDataAttachmentFileFormat fileFormat) {
+ this.fileFormat = fileFormat;
+ return this;
+ }
+
+ public SubscriptionAttachmentDataAttachmentFileFormat getFileFormat() {
+ return fileFormat;
+ }
+
+ public SubscriptionAttachmentDataAttachment setIncludeAppliedFilters(
+ Boolean includeAppliedFilters) {
+ this.includeAppliedFilters = includeAppliedFilters;
+ return this;
+ }
+
+ public Boolean getIncludeAppliedFilters() {
+ return includeAppliedFilters;
+ }
+
+ public SubscriptionAttachmentDataAttachment setWidgets(
+ Collection widgets) {
+ this.widgets = widgets;
+ return this;
+ }
+
+ public Collection getWidgets() {
+ return widgets;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SubscriptionAttachmentDataAttachment that = (SubscriptionAttachmentDataAttachment) o;
+ return Objects.equals(fileFormat, that.fileFormat)
+ && Objects.equals(includeAppliedFilters, that.includeAppliedFilters)
+ && Objects.equals(widgets, that.widgets);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(fileFormat, includeAppliedFilters, widgets);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(SubscriptionAttachmentDataAttachment.class)
+ .add("fileFormat", fileFormat)
+ .add("includeAppliedFilters", includeAppliedFilters)
+ .add("widgets", widgets)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachmentFileFormat.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachmentFileFormat.java
new file mode 100644
index 000000000..1d32c99a6
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachmentFileFormat.java
@@ -0,0 +1,16 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.jobs;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * The output format of an exported tabular data file. Must be set to a value other than
+ * `FILE_FORMAT_UNSPECIFIED`.
+ */
+@Generated
+public enum SubscriptionAttachmentDataAttachmentFileFormat {
+ FILE_FORMAT_CSV,
+ FILE_FORMAT_EXCEL,
+ FILE_FORMAT_TSV,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachmentWidget.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachmentWidget.java
new file mode 100644
index 000000000..1e3d9354a
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentDataAttachmentWidget.java
@@ -0,0 +1,72 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.jobs;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/**
+ * Identifies a dashboard widget whose data to attach. `page_id` and `widget_id` are the URL
+ * identifiers from the dashboard's serialized definition returned by the Get dashboard API
+ * (`serialized_dashboard`), and together they uniquely identify the widget.
+ */
+@Generated
+public class SubscriptionAttachmentDataAttachmentWidget {
+ /**
+ * The URL identifier of the page containing the widget. This is the value of the `name` field of
+ * the corresponding entry under `pages` in the serialized dashboard definition. Format:
+ * alphanumeric, hyphen, and underscore characters allowed, max length 63.
+ */
+ @JsonProperty("page_id")
+ private String pageId;
+
+ /**
+ * The URL identifier of the widget. This is the value of the `name` field of the corresponding
+ * widget under that page's `layout` in the serialized dashboard definition. Format: alphanumeric,
+ * hyphen, and underscore characters allowed, max length 63.
+ */
+ @JsonProperty("widget_id")
+ private String widgetId;
+
+ public SubscriptionAttachmentDataAttachmentWidget setPageId(String pageId) {
+ this.pageId = pageId;
+ return this;
+ }
+
+ public String getPageId() {
+ return pageId;
+ }
+
+ public SubscriptionAttachmentDataAttachmentWidget setWidgetId(String widgetId) {
+ this.widgetId = widgetId;
+ return this;
+ }
+
+ public String getWidgetId() {
+ return widgetId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SubscriptionAttachmentDataAttachmentWidget that =
+ (SubscriptionAttachmentDataAttachmentWidget) o;
+ return Objects.equals(pageId, that.pageId) && Objects.equals(widgetId, that.widgetId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pageId, widgetId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(SubscriptionAttachmentDataAttachmentWidget.class)
+ .add("pageId", pageId)
+ .add("widgetId", widgetId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentPageAttachment.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentPageAttachment.java
new file mode 100644
index 000000000..b3e86de65
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentPageAttachment.java
@@ -0,0 +1,74 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.jobs;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/**
+ * The selection of dashboard pages included in the attached PDF. `page_selection` chooses between
+ * all pages, the first page only, or an explicit subset listed in `page_ids`.
+ */
+@Generated
+public class SubscriptionAttachmentPageAttachment {
+ /**
+ * The identifiers of the pages to include in the PDF. Only specified when `page_selection` is
+ * `PAGE_SELECTION_SUBSET`. Each value is the identifier of a page in the dashboard's serialized
+ * definition returned by the Get dashboard API (`serialized_dashboard`): the value of the `name`
+ * field of an entry under `pages`. Format: alphanumeric, hyphen, and underscore characters
+ * allowed, max length 63.
+ */
+ @JsonProperty("page_ids")
+ private Collection pageIds;
+
+ /**
+ * How the attached pages are selected. When set to `PAGE_SELECTION_SUBSET`, the pages to include
+ * are listed in `page_ids`.
+ */
+ @JsonProperty("page_selection")
+ private SubscriptionAttachmentPageAttachmentPageSelection pageSelection;
+
+ public SubscriptionAttachmentPageAttachment setPageIds(Collection pageIds) {
+ this.pageIds = pageIds;
+ return this;
+ }
+
+ public Collection getPageIds() {
+ return pageIds;
+ }
+
+ public SubscriptionAttachmentPageAttachment setPageSelection(
+ SubscriptionAttachmentPageAttachmentPageSelection pageSelection) {
+ this.pageSelection = pageSelection;
+ return this;
+ }
+
+ public SubscriptionAttachmentPageAttachmentPageSelection getPageSelection() {
+ return pageSelection;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SubscriptionAttachmentPageAttachment that = (SubscriptionAttachmentPageAttachment) o;
+ return Objects.equals(pageIds, that.pageIds)
+ && Objects.equals(pageSelection, that.pageSelection);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pageIds, pageSelection);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(SubscriptionAttachmentPageAttachment.class)
+ .add("pageIds", pageIds)
+ .add("pageSelection", pageSelection)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentPageAttachmentPageSelection.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentPageAttachmentPageSelection.java
new file mode 100644
index 000000000..0688f5629
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/SubscriptionAttachmentPageAttachmentPageSelection.java
@@ -0,0 +1,12 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.jobs;
+
+import com.databricks.sdk.support.Generated;
+
+/** Determines which dashboard pages are attached to the notification. */
+@Generated
+public enum SubscriptionAttachmentPageAttachmentPageSelection {
+ PAGE_SELECTION_ALL,
+ PAGE_SELECTION_SUBSET,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateIssueRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateIssueRequest.java
new file mode 100644
index 000000000..c8e2ed3d4
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateIssueRequest.java
@@ -0,0 +1,79 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+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 java.util.Objects;
+
+@Generated
+public class CreateIssueRequest {
+ /** Output-only fields are ignored. */
+ @JsonProperty("issue")
+ private Issue issue;
+
+ /**
+ * Optional client-chosen ID: iss- followed by 32 lowercase hex digits. A retry with the same ID
+ * fails with ALREADY_EXISTS rather than making a duplicate. The server generates one if unset.
+ */
+ @JsonIgnore
+ @QueryParam("issue_id")
+ private String issueId;
+
+ /** experiments/{experiment} */
+ @JsonIgnore private String parent;
+
+ public CreateIssueRequest setIssue(Issue issue) {
+ this.issue = issue;
+ return this;
+ }
+
+ public Issue getIssue() {
+ return issue;
+ }
+
+ public CreateIssueRequest setIssueId(String issueId) {
+ this.issueId = issueId;
+ return this;
+ }
+
+ public String getIssueId() {
+ return issueId;
+ }
+
+ public CreateIssueRequest 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;
+ CreateIssueRequest that = (CreateIssueRequest) o;
+ return Objects.equals(issue, that.issue)
+ && Objects.equals(issueId, that.issueId)
+ && Objects.equals(parent, that.parent);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(issue, issueId, parent);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateIssueRequest.class)
+ .add("issue", issue)
+ .add("issueId", issueId)
+ .add("parent", parent)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java
index 02af7506e..b962771e2 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java
@@ -45,6 +45,11 @@ public CreateExperimentResponse createExperiment(CreateExperiment request) {
return impl.createExperiment(request);
}
+ /** Creates an issue in an experiment. */
+ public Issue createIssue(CreateIssueRequest request) {
+ return impl.createIssue(request);
+ }
+
/** Create a logged model. */
public CreateLoggedModelResponse createLoggedModel(CreateLoggedModelRequest request) {
return impl.createLoggedModel(request);
@@ -157,6 +162,15 @@ public Iterable getHistory(GetHistoryRequest request) {
});
}
+ public Issue getIssue(String name) {
+ return getIssue(new GetIssueRequest().setName(name));
+ }
+
+ /** Gets an issue. */
+ public Issue getIssue(GetIssueRequest request) {
+ return impl.getIssue(request);
+ }
+
public GetLoggedModelResponse getLoggedModel(String modelId) {
return getLoggedModel(new GetLoggedModelRequest().setModelId(modelId));
}
@@ -380,6 +394,21 @@ public Iterable searchExperiments(SearchExperiments request) {
});
}
+ /** Searches the issues in an experiment, filtered and sorted. */
+ public Iterable searchIssues(SearchIssuesRequest request) {
+ return Paginator.newTokenPagination(
+ request,
+ impl::searchIssues,
+ SearchIssuesResponse::getIssues,
+ response -> {
+ String token = response.getNextPageToken();
+ if (token == null || token.isEmpty()) {
+ return null;
+ }
+ return request.setPageToken(token);
+ });
+ }
+
/** Search for Logged Models that satisfy specified search criteria. */
public SearchLoggedModelsResponse searchLoggedModels(SearchLoggedModelsRequest request) {
return impl.searchLoggedModels(request);
@@ -435,6 +464,11 @@ public void updateExperiment(UpdateExperiment request) {
impl.updateExperiment(request);
}
+ /** Updates the fields of an issue named in `update_mask`. */
+ public Issue updateIssue(UpdateIssueRequest request) {
+ return impl.updateIssue(request);
+ }
+
/**
* Updates the permissions on an experiment. Experiments can inherit permissions from their root
* object.
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java
index 831f6cdf8..efabeb8c2 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java
@@ -34,6 +34,24 @@ public CreateExperimentResponse createExperiment(CreateExperiment request) {
}
}
+ @Override
+ public Issue createIssue(CreateIssueRequest request) {
+ String path = String.format("/api/2.0/mlflow/%s/issues", request.getParent());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getIssue()));
+
+ 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, Issue.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public CreateLoggedModelResponse createLoggedModel(CreateLoggedModelRequest request) {
String path = "/api/2.0/mlflow/logged-models";
@@ -247,6 +265,23 @@ public GetMetricHistoryResponse getHistory(GetHistoryRequest request) {
}
}
+ @Override
+ public Issue getIssue(GetIssueRequest request) {
+ String path = String.format("/api/2.0/mlflow/%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, Issue.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public GetLoggedModelResponse getLoggedModel(GetLoggedModelRequest request) {
String path = String.format("/api/2.0/mlflow/logged-models/%s", request.getModelId());
@@ -550,6 +585,24 @@ public SearchExperimentsResponse searchExperiments(SearchExperiments request) {
}
}
+ @Override
+ public SearchIssuesResponse searchIssues(SearchIssuesRequest request) {
+ String path = String.format("/api/2.0/mlflow/%s/issues:search", request.getParent());
+ 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-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, SearchIssuesResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public SearchLoggedModelsResponse searchLoggedModels(SearchLoggedModelsRequest request) {
String path = "/api/2.0/mlflow/logged-models/search";
@@ -676,6 +729,24 @@ public void updateExperiment(UpdateExperiment request) {
}
}
+ @Override
+ public Issue updateIssue(UpdateIssueRequest request) {
+ String path = String.format("/api/2.0/mlflow/%s", request.getName());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getIssue()));
+
+ 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, Issue.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public ExperimentPermissions updatePermissions(ExperimentPermissionsRequest request) {
String path = String.format("/api/2.0/permissions/experiments/%s", request.getExperimentId());
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java
index b3835354d..c475cddfe 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java
@@ -29,6 +29,9 @@ public interface ExperimentsService {
*/
CreateExperimentResponse createExperiment(CreateExperiment createExperiment);
+ /** Creates an issue in an experiment. */
+ Issue createIssue(CreateIssueRequest createIssueRequest);
+
/** Create a logged model. */
CreateLoggedModelResponse createLoggedModel(CreateLoggedModelRequest createLoggedModelRequest);
@@ -88,6 +91,9 @@ FinalizeLoggedModelResponse finalizeLoggedModel(
/** Gets a list of all values for the specified metric for a given run. */
GetMetricHistoryResponse getHistory(GetHistoryRequest getHistoryRequest);
+ /** Gets an issue. */
+ Issue getIssue(GetIssueRequest getIssueRequest);
+
/** Get a logged model. */
GetLoggedModelResponse getLoggedModel(GetLoggedModelRequest getLoggedModelRequest);
@@ -231,6 +237,9 @@ ExperimentPermissions getPermissions(
/** Searches for experiments that satisfy specified search criteria. */
SearchExperimentsResponse searchExperiments(SearchExperiments searchExperiments);
+ /** Searches the issues in an experiment, filtered and sorted. */
+ SearchIssuesResponse searchIssues(SearchIssuesRequest searchIssuesRequest);
+
/** Search for Logged Models that satisfy specified search criteria. */
SearchLoggedModelsResponse searchLoggedModels(
SearchLoggedModelsRequest searchLoggedModelsRequest);
@@ -263,6 +272,9 @@ SearchLoggedModelsResponse searchLoggedModels(
/** Updates experiment metadata. */
void updateExperiment(UpdateExperiment updateExperiment);
+ /** Updates the fields of an issue named in `update_mask`. */
+ Issue updateIssue(UpdateIssueRequest updateIssueRequest);
+
/**
* Updates the permissions on an experiment. Experiments can inherit permissions from their root
* object.
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetIssueRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetIssueRequest.java
new file mode 100644
index 000000000..a4d27c208
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetIssueRequest.java
@@ -0,0 +1,41 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+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 GetIssueRequest {
+ /** experiments/{experiment}/issues/{issue} */
+ @JsonIgnore private String name;
+
+ public GetIssueRequest 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;
+ GetIssueRequest that = (GetIssueRequest) o;
+ return Objects.equals(name, that.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetIssueRequest.class).add("name", name).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Issue.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Issue.java
new file mode 100644
index 000000000..b4c0f74a3
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Issue.java
@@ -0,0 +1,308 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+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.Collection;
+import java.util.Map;
+import java.util.Objects;
+
+/** A quality or operational problem found in an experiment's traces. */
+@Generated
+public class Issue {
+ /**
+ * At most 10 values of at most 64 UTF-8 bytes each, unique case-insensitively. Leading and
+ * trailing whitespace is trimmed.
+ */
+ @JsonProperty("categories")
+ private Collection categories;
+
+ /** When the Issue was created. */
+ @JsonProperty("create_time")
+ private Timestamp createTime;
+
+ /**
+ * The email of the user whose request created the Issue. source_type tells whether issue
+ * detection created it.
+ */
+ @JsonProperty("created_by")
+ private String createdBy;
+
+ /** Markdown, at most 32 KiB. */
+ @JsonProperty("description")
+ private String description;
+
+ /** The last segment of `name`. Issue assessments on traces reference the Issue by this ID. */
+ @JsonProperty("issue_id")
+ private String issueId;
+
+ /**
+ * The request time of the latest trace the Issue affects. Required, and can't be cleared, unless
+ * source_type is MANUAL. A MANUAL Issue without one returns its create_time.
+ */
+ @JsonProperty("last_seen_time")
+ private Timestamp lastSeenTime;
+
+ /** The email of the user whose request last updated the Issue. */
+ @JsonProperty("last_updated_by")
+ private String lastUpdatedBy;
+
+ /**
+ * Additional details about the Issue, such as how issue detection observed it. Not a stable
+ * contract: keys and values can change without notice, so clients must tolerate unknown and
+ * missing keys. At most 20 entries, with keys of at most 64 UTF-8 bytes.
+ */
+ @JsonProperty("metadata")
+ private Map metadata;
+
+ /** experiments/{experiment}/issues/{issue} */
+ @JsonProperty("name")
+ private String name;
+
+ /** Cannot be cleared: an Issue without a severity would match no severity filter. */
+ @JsonProperty("severity")
+ private IssueSeverity severity;
+
+ /**
+ * Set once at create. For ADHOC_RUN and SCHEDULED_RUN, the ID of the issue detection run in the
+ * same experiment that created the Issue. Absent for MANUAL.
+ */
+ @JsonProperty("source_id")
+ private String sourceId;
+
+ /** Set once at create. Defaults to MANUAL. */
+ @JsonProperty("source_type")
+ private IssueSourceType sourceType;
+
+ /** Defaults to PENDING on create, and can't be cleared. */
+ @JsonProperty("status")
+ private IssueStatus status;
+
+ /**
+ * Caller-owned; the server never writes system values here. At most 10 entries. Keys match
+ * ^[A-Za-z0-9_.:/-]+$ and are at most 128 UTF-8 bytes; values are at most 256 UTF-8 bytes.
+ */
+ @JsonProperty("tags")
+ private Map tags;
+
+ /** Non-empty, at most 250 UTF-8 bytes. */
+ @JsonProperty("title")
+ private String title;
+
+ /** When the Issue was last updated. */
+ @JsonProperty("update_time")
+ private Timestamp updateTime;
+
+ public Issue setCategories(Collection categories) {
+ this.categories = categories;
+ return this;
+ }
+
+ public Collection getCategories() {
+ return categories;
+ }
+
+ public Issue setCreateTime(Timestamp createTime) {
+ this.createTime = createTime;
+ return this;
+ }
+
+ public Timestamp getCreateTime() {
+ return createTime;
+ }
+
+ public Issue setCreatedBy(String createdBy) {
+ this.createdBy = createdBy;
+ return this;
+ }
+
+ public String getCreatedBy() {
+ return createdBy;
+ }
+
+ public Issue setDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public Issue setIssueId(String issueId) {
+ this.issueId = issueId;
+ return this;
+ }
+
+ public String getIssueId() {
+ return issueId;
+ }
+
+ public Issue setLastSeenTime(Timestamp lastSeenTime) {
+ this.lastSeenTime = lastSeenTime;
+ return this;
+ }
+
+ public Timestamp getLastSeenTime() {
+ return lastSeenTime;
+ }
+
+ public Issue setLastUpdatedBy(String lastUpdatedBy) {
+ this.lastUpdatedBy = lastUpdatedBy;
+ return this;
+ }
+
+ public String getLastUpdatedBy() {
+ return lastUpdatedBy;
+ }
+
+ public Issue setMetadata(Map metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ public Map getMetadata() {
+ return metadata;
+ }
+
+ public Issue setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Issue setSeverity(IssueSeverity severity) {
+ this.severity = severity;
+ return this;
+ }
+
+ public IssueSeverity getSeverity() {
+ return severity;
+ }
+
+ public Issue setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ return this;
+ }
+
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public Issue setSourceType(IssueSourceType sourceType) {
+ this.sourceType = sourceType;
+ return this;
+ }
+
+ public IssueSourceType getSourceType() {
+ return sourceType;
+ }
+
+ public Issue setStatus(IssueStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ public IssueStatus getStatus() {
+ return status;
+ }
+
+ public Issue setTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ public Map getTags() {
+ return tags;
+ }
+
+ public Issue setTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public Issue 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;
+ Issue that = (Issue) o;
+ return Objects.equals(categories, that.categories)
+ && Objects.equals(createTime, that.createTime)
+ && Objects.equals(createdBy, that.createdBy)
+ && Objects.equals(description, that.description)
+ && Objects.equals(issueId, that.issueId)
+ && Objects.equals(lastSeenTime, that.lastSeenTime)
+ && Objects.equals(lastUpdatedBy, that.lastUpdatedBy)
+ && Objects.equals(metadata, that.metadata)
+ && Objects.equals(name, that.name)
+ && Objects.equals(severity, that.severity)
+ && Objects.equals(sourceId, that.sourceId)
+ && Objects.equals(sourceType, that.sourceType)
+ && Objects.equals(status, that.status)
+ && Objects.equals(tags, that.tags)
+ && Objects.equals(title, that.title)
+ && Objects.equals(updateTime, that.updateTime);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ categories,
+ createTime,
+ createdBy,
+ description,
+ issueId,
+ lastSeenTime,
+ lastUpdatedBy,
+ metadata,
+ name,
+ severity,
+ sourceId,
+ sourceType,
+ status,
+ tags,
+ title,
+ updateTime);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(Issue.class)
+ .add("categories", categories)
+ .add("createTime", createTime)
+ .add("createdBy", createdBy)
+ .add("description", description)
+ .add("issueId", issueId)
+ .add("lastSeenTime", lastSeenTime)
+ .add("lastUpdatedBy", lastUpdatedBy)
+ .add("metadata", metadata)
+ .add("name", name)
+ .add("severity", severity)
+ .add("sourceId", sourceId)
+ .add("sourceType", sourceType)
+ .add("status", status)
+ .add("tags", tags)
+ .add("title", title)
+ .add("updateTime", updateTime)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSeverity.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSeverity.java
new file mode 100644
index 000000000..5573eb445
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSeverity.java
@@ -0,0 +1,13 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+
+/** How serious an Issue is, ordered LOW < MEDIUM < HIGH. */
+@Generated
+public enum IssueSeverity {
+ HIGH,
+ LOW,
+ MEDIUM,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSortKey.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSortKey.java
new file mode 100644
index 000000000..4cb20987b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSortKey.java
@@ -0,0 +1,18 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * The field that search results are ordered by. SEVERITY breaks ties by last_seen_time, in the same
+ * direction. Results are grouped by status first (PENDING, RESOLVED, then REJECTED, whatever the
+ * sort_order), and remaining ties are broken by issue ID, so paging is stable.
+ */
+@Generated
+public enum IssueSortKey {
+ CREATE_TIME,
+ LAST_SEEN_TIME,
+ SEVERITY,
+ UPDATE_TIME,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSourceType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSourceType.java
new file mode 100644
index 000000000..6ec5e2425
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueSourceType.java
@@ -0,0 +1,17 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * What created an Issue: ADHOC_RUN, an issue detection run started on demand; SCHEDULED_RUN, one
+ * started by a schedule; SINGLE_TRACE_ANALYSIS, an analysis of a single trace; or MANUAL, a person.
+ */
+@Generated
+public enum IssueSourceType {
+ ADHOC_RUN,
+ MANUAL,
+ SCHEDULED_RUN,
+ SINGLE_TRACE_ANALYSIS,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueStatus.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueStatus.java
new file mode 100644
index 000000000..6dfb5202d
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueStatus.java
@@ -0,0 +1,16 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * The triage status of an Issue: PENDING means open and awaiting triage, RESOLVED means judged real
+ * and addressed, and REJECTED means judged not to be an issue.
+ */
+@Generated
+public enum IssueStatus {
+ PENDING,
+ REJECTED,
+ RESOLVED,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueTagFilter.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueTagFilter.java
new file mode 100644
index 000000000..bfb1e1335
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueTagFilter.java
@@ -0,0 +1,57 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** One predicate over Issue.tags. */
+@Generated
+public class IssueTagFilter {
+ /** Matched exactly. */
+ @JsonProperty("key")
+ private String key;
+
+ /** Matched exactly, and ORed together. Empty matches any Issue carrying the key. */
+ @JsonProperty("values")
+ private Collection values;
+
+ public IssueTagFilter setKey(String key) {
+ this.key = key;
+ return this;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public IssueTagFilter setValues(Collection values) {
+ this.values = values;
+ return this;
+ }
+
+ public Collection getValues() {
+ return values;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ IssueTagFilter that = (IssueTagFilter) o;
+ return Objects.equals(key, that.key) && Objects.equals(values, that.values);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(key, values);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(IssueTagFilter.class).add("key", key).add("values", values).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueView.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueView.java
new file mode 100644
index 000000000..aa3ee89f8
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/IssueView.java
@@ -0,0 +1,15 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * Which fields each search result includes: BASIC has every field except `description`, and may
+ * omit large `metadata` entries; FULL has every field.
+ */
+@Generated
+public enum IssueView {
+ BASIC,
+ FULL,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchIssuesRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchIssuesRequest.java
new file mode 100644
index 000000000..e9ddcea69
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchIssuesRequest.java
@@ -0,0 +1,213 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+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.Collection;
+import java.util.Objects;
+
+/** Request for SearchIssues. */
+@Generated
+public class SearchIssuesRequest {
+ /** Matches Issues with any of these categories, case-insensitively. */
+ @JsonProperty("categories")
+ private Collection categories;
+
+ /** Defaults to 20; values above 100 are clamped. */
+ @JsonProperty("page_size")
+ private Long pageSize;
+
+ /**
+ * Expires after 15 minutes. Every other argument except `view` must match the request that
+ * returned the token.
+ */
+ @JsonProperty("page_token")
+ private String pageToken;
+
+ /** experiments/{experiment} */
+ @JsonIgnore private String parent;
+
+ /** Case-insensitive substring match on title. */
+ @JsonProperty("query")
+ private String query;
+
+ /** Matches Issues with any of these severities. */
+ @JsonProperty("severities")
+ private Collection severities;
+
+ /** Defaults to SEVERITY. */
+ @JsonProperty("sort_key")
+ private IssueSortKey sortKey;
+
+ /** Defaults to DESCENDING. */
+ @JsonProperty("sort_order")
+ private SortOrder sortOrder;
+
+ /**
+ * Matches Issues with any of these statuses. Different filters AND together, and an empty filter
+ * matches every Issue.
+ */
+ @JsonProperty("statuses")
+ private Collection statuses;
+
+ /** Matches Issues that satisfy every filter. At most 10 filters of 20 values each. */
+ @JsonProperty("tag_filters")
+ private Collection tagFilters;
+
+ /** Defaults to BASIC. */
+ @JsonProperty("view")
+ private IssueView view;
+
+ public SearchIssuesRequest setCategories(Collection categories) {
+ this.categories = categories;
+ return this;
+ }
+
+ public Collection getCategories() {
+ return categories;
+ }
+
+ public SearchIssuesRequest setPageSize(Long pageSize) {
+ this.pageSize = pageSize;
+ return this;
+ }
+
+ public Long getPageSize() {
+ return pageSize;
+ }
+
+ public SearchIssuesRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ public SearchIssuesRequest setParent(String parent) {
+ this.parent = parent;
+ return this;
+ }
+
+ public String getParent() {
+ return parent;
+ }
+
+ public SearchIssuesRequest setQuery(String query) {
+ this.query = query;
+ return this;
+ }
+
+ public String getQuery() {
+ return query;
+ }
+
+ public SearchIssuesRequest setSeverities(Collection severities) {
+ this.severities = severities;
+ return this;
+ }
+
+ public Collection getSeverities() {
+ return severities;
+ }
+
+ public SearchIssuesRequest setSortKey(IssueSortKey sortKey) {
+ this.sortKey = sortKey;
+ return this;
+ }
+
+ public IssueSortKey getSortKey() {
+ return sortKey;
+ }
+
+ public SearchIssuesRequest setSortOrder(SortOrder sortOrder) {
+ this.sortOrder = sortOrder;
+ return this;
+ }
+
+ public SortOrder getSortOrder() {
+ return sortOrder;
+ }
+
+ public SearchIssuesRequest setStatuses(Collection statuses) {
+ this.statuses = statuses;
+ return this;
+ }
+
+ public Collection getStatuses() {
+ return statuses;
+ }
+
+ public SearchIssuesRequest setTagFilters(Collection tagFilters) {
+ this.tagFilters = tagFilters;
+ return this;
+ }
+
+ public Collection getTagFilters() {
+ return tagFilters;
+ }
+
+ public SearchIssuesRequest setView(IssueView view) {
+ this.view = view;
+ return this;
+ }
+
+ public IssueView getView() {
+ return view;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SearchIssuesRequest that = (SearchIssuesRequest) o;
+ return Objects.equals(categories, that.categories)
+ && Objects.equals(pageSize, that.pageSize)
+ && Objects.equals(pageToken, that.pageToken)
+ && Objects.equals(parent, that.parent)
+ && Objects.equals(query, that.query)
+ && Objects.equals(severities, that.severities)
+ && Objects.equals(sortKey, that.sortKey)
+ && Objects.equals(sortOrder, that.sortOrder)
+ && Objects.equals(statuses, that.statuses)
+ && Objects.equals(tagFilters, that.tagFilters)
+ && Objects.equals(view, that.view);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ categories,
+ pageSize,
+ pageToken,
+ parent,
+ query,
+ severities,
+ sortKey,
+ sortOrder,
+ statuses,
+ tagFilters,
+ view);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(SearchIssuesRequest.class)
+ .add("categories", categories)
+ .add("pageSize", pageSize)
+ .add("pageToken", pageToken)
+ .add("parent", parent)
+ .add("query", query)
+ .add("severities", severities)
+ .add("sortKey", sortKey)
+ .add("sortOrder", sortOrder)
+ .add("statuses", statuses)
+ .add("tagFilters", tagFilters)
+ .add("view", view)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchIssuesResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchIssuesResponse.java
new file mode 100644
index 000000000..f29721bc1
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchIssuesResponse.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/** One page of SearchIssues results. */
+@Generated
+public class SearchIssuesResponse {
+ /** The page's Issues, in the requested order. */
+ @JsonProperty("issues")
+ private Collection issues;
+
+ /** Absent on the last page. */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ /** Exact number of matching Issues. */
+ @JsonProperty("total_size")
+ private Long totalSize;
+
+ public SearchIssuesResponse setIssues(Collection issues) {
+ this.issues = issues;
+ return this;
+ }
+
+ public Collection getIssues() {
+ return issues;
+ }
+
+ public SearchIssuesResponse setNextPageToken(String nextPageToken) {
+ this.nextPageToken = nextPageToken;
+ return this;
+ }
+
+ public String getNextPageToken() {
+ return nextPageToken;
+ }
+
+ public SearchIssuesResponse setTotalSize(Long totalSize) {
+ this.totalSize = totalSize;
+ return this;
+ }
+
+ public Long getTotalSize() {
+ return totalSize;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SearchIssuesResponse that = (SearchIssuesResponse) o;
+ return Objects.equals(issues, that.issues)
+ && Objects.equals(nextPageToken, that.nextPageToken)
+ && Objects.equals(totalSize, that.totalSize);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(issues, nextPageToken, totalSize);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(SearchIssuesResponse.class)
+ .add("issues", issues)
+ .add("nextPageToken", nextPageToken)
+ .add("totalSize", totalSize)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SortOrder.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SortOrder.java
new file mode 100644
index 000000000..48a9d58cc
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SortOrder.java
@@ -0,0 +1,12 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+
+/** The direction of the ordering. */
+@Generated
+public enum SortOrder {
+ ASCENDING,
+ DESCENDING,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateIssueRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateIssueRequest.java
new file mode 100644
index 000000000..60b12d23d
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateIssueRequest.java
@@ -0,0 +1,84 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+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 UpdateIssueRequest {
+ /** `issue.name` identifies the target. */
+ @JsonProperty("issue")
+ private Issue issue;
+
+ /** experiments/{experiment}/issues/{issue} */
+ @JsonIgnore private String name;
+
+ /**
+ * Accepts title, description, status, severity, categories, tags, last_seen_time, and
+ * metadata.. A path with an empty value clears the field, except that title, status, and
+ * severity can't be cleared, and last_seen_time can be cleared only when source_type is MANUAL.
+ * categories and tags are replaced whole. metadata is updated per key: a metadata. path sets
+ * that key from issue.metadata, or removes it when issue.metadata lacks it, and leaves the other
+ * keys alone. A bare metadata path is rejected.
+ */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private FieldMask updateMask;
+
+ public UpdateIssueRequest setIssue(Issue issue) {
+ this.issue = issue;
+ return this;
+ }
+
+ public Issue getIssue() {
+ return issue;
+ }
+
+ public UpdateIssueRequest setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public UpdateIssueRequest 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;
+ UpdateIssueRequest that = (UpdateIssueRequest) o;
+ return Objects.equals(issue, that.issue)
+ && Objects.equals(name, that.name)
+ && Objects.equals(updateMask, that.updateMask);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(issue, name, updateMask);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateIssueRequest.class)
+ .add("issue", issue)
+ .add("name", name)
+ .add("updateMask", updateMask)
+ .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 08a746247..8101b73e2 100644
--- 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
@@ -506,6 +506,11 @@ public Iterable listSnapshots(ListSnapshotsRequest request) {
});
}
+ /** Reveals the current password for a password-authenticated Postgres role. */
+ public RevealRolePasswordResponse revealRolePassword(RevealRolePasswordRequest request) {
+ return impl.revealRolePassword(request);
+ }
+
/** Undeletes the specified database branch. */
public UndeleteBranchOperation undeleteBranch(UndeleteBranchRequest request) {
Operation operation = impl.undeleteBranch(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 25a458fc9..42dce3c5d 100644
--- 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
@@ -741,6 +741,24 @@ public ListSnapshotsResponse listSnapshots(ListSnapshotsRequest request) {
}
}
+ @Override
+ public RevealRolePasswordResponse revealRolePassword(RevealRolePasswordRequest request) {
+ String path = String.format("/api/2.0/postgres/%s/password", 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-Workspace-Id", apiClient.workspaceId());
+ }
+ return apiClient.execute(req, RevealRolePasswordResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public Operation undeleteBranch(UndeleteBranchRequest 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 16dc997e4..be42f1364 100644
--- 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
@@ -189,6 +189,10 @@ DatabaseCredential generateDatabaseCredential(
/** Returns a paginated list of snapshots in the project. */
ListSnapshotsResponse listSnapshots(ListSnapshotsRequest listSnapshotsRequest);
+ /** Reveals the current password for a password-authenticated Postgres role. */
+ RevealRolePasswordResponse revealRolePassword(
+ RevealRolePasswordRequest revealRolePasswordRequest);
+
/** Undeletes the specified database branch. */
Operation undeleteBranch(UndeleteBranchRequest undeleteBranchRequest);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RevealRolePasswordRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RevealRolePasswordRequest.java
new file mode 100644
index 000000000..7110fb12f
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RevealRolePasswordRequest.java
@@ -0,0 +1,45 @@
+// 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;
+
+/** Request to reveal the current password for a password-authenticated Postgres role. */
+@Generated
+public class RevealRolePasswordRequest {
+ /**
+ * The full resource path of the role whose password should be revealed. Format:
+ * projects/{project_id}/branches/{branch_id}/roles/{role_id}
+ */
+ @JsonIgnore private String name;
+
+ public RevealRolePasswordRequest 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;
+ RevealRolePasswordRequest that = (RevealRolePasswordRequest) o;
+ return Objects.equals(name, that.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(RevealRolePasswordRequest.class).add("name", name).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RevealRolePasswordResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RevealRolePasswordResponse.java
new file mode 100644
index 000000000..0ce38aa14
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RevealRolePasswordResponse.java
@@ -0,0 +1,43 @@
+// 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;
+
+/** Response containing the password for a password-authenticated Postgres role. */
+@Generated
+public class RevealRolePasswordResponse {
+ /** The current password for the Postgres role. */
+ @JsonProperty("password")
+ private String password;
+
+ public RevealRolePasswordResponse setPassword(String password) {
+ this.password = password;
+ return this;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ RevealRolePasswordResponse that = (RevealRolePasswordResponse) o;
+ return Objects.equals(password, that.password);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(password);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(RevealRolePasswordResponse.class).add("password", password).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateShare.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateShare.java
index 012bc8f99..a4e479082 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateShare.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateShare.java
@@ -17,6 +17,10 @@ public class CreateShare {
@JsonProperty("name")
private String name;
+ /** Configuration for share replication. */
+ @JsonProperty("replication_config")
+ private ReplicationConfig replicationConfig;
+
/** Storage root URL for the share. */
@JsonProperty("storage_root")
private String storageRoot;
@@ -39,6 +43,15 @@ public String getName() {
return name;
}
+ public CreateShare setReplicationConfig(ReplicationConfig replicationConfig) {
+ this.replicationConfig = replicationConfig;
+ return this;
+ }
+
+ public ReplicationConfig getReplicationConfig() {
+ return replicationConfig;
+ }
+
public CreateShare setStorageRoot(String storageRoot) {
this.storageRoot = storageRoot;
return this;
@@ -55,12 +68,13 @@ public boolean equals(Object o) {
CreateShare that = (CreateShare) o;
return Objects.equals(comment, that.comment)
&& Objects.equals(name, that.name)
+ && Objects.equals(replicationConfig, that.replicationConfig)
&& Objects.equals(storageRoot, that.storageRoot);
}
@Override
public int hashCode() {
- return Objects.hash(comment, name, storageRoot);
+ return Objects.hash(comment, name, replicationConfig, storageRoot);
}
@Override
@@ -68,6 +82,7 @@ public String toString() {
return new ToStringer(CreateShare.class)
.add("comment", comment)
.add("name", name)
+ .add("replicationConfig", replicationConfig)
.add("storageRoot", storageRoot)
.toString();
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ReplicationConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ReplicationConfig.java
new file mode 100644
index 000000000..259b974ed
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ReplicationConfig.java
@@ -0,0 +1,46 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/**
+ * Configuration for Delta Sharing replication on a share. When enabled, the share's data is copied
+ * into each recipient's region so recipients can query the share locally.
+ */
+@Generated
+public class ReplicationConfig {
+ /** Whether replication is enabled for the share. */
+ @JsonProperty("enabled")
+ private Boolean enabled;
+
+ public ReplicationConfig setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ReplicationConfig that = (ReplicationConfig) o;
+ return Objects.equals(enabled, that.enabled);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ReplicationConfig.class).add("enabled", enabled).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ShareInfo.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ShareInfo.java
index 36deca691..0cfcbb9a1 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ShareInfo.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ShareInfo.java
@@ -34,6 +34,10 @@ public class ShareInfo {
@JsonProperty("owner")
private String owner;
+ /** Configuration for share replication. */
+ @JsonProperty("replication_config")
+ private ReplicationConfig replicationConfig;
+
/** Storage Location URL (full path) for the share. */
@JsonProperty("storage_location")
private String storageLocation;
@@ -104,6 +108,15 @@ public String getOwner() {
return owner;
}
+ public ShareInfo setReplicationConfig(ReplicationConfig replicationConfig) {
+ this.replicationConfig = replicationConfig;
+ return this;
+ }
+
+ public ReplicationConfig getReplicationConfig() {
+ return replicationConfig;
+ }
+
public ShareInfo setStorageLocation(String storageLocation) {
this.storageLocation = storageLocation;
return this;
@@ -151,6 +164,7 @@ public boolean equals(Object o) {
&& Objects.equals(name, that.name)
&& Objects.equals(objects, that.objects)
&& Objects.equals(owner, that.owner)
+ && Objects.equals(replicationConfig, that.replicationConfig)
&& Objects.equals(storageLocation, that.storageLocation)
&& Objects.equals(storageRoot, that.storageRoot)
&& Objects.equals(updatedAt, that.updatedAt)
@@ -166,6 +180,7 @@ public int hashCode() {
name,
objects,
owner,
+ replicationConfig,
storageLocation,
storageRoot,
updatedAt,
@@ -181,6 +196,7 @@ public String toString() {
.add("name", name)
.add("objects", objects)
.add("owner", owner)
+ .add("replicationConfig", replicationConfig)
.add("storageLocation", storageLocation)
.add("storageRoot", storageRoot)
.add("updatedAt", updatedAt)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequestWarehouseType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequestWarehouseType.java
index 03a31eee6..218a3d184 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequestWarehouseType.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/CreateWarehouseRequestWarehouseType.java
@@ -8,5 +8,6 @@
public enum CreateWarehouseRequestWarehouseType {
CLASSIC,
PRO,
+ REALTIME,
TYPE_UNSPECIFIED,
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequestWarehouseType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequestWarehouseType.java
index b180bfd82..bb5d012e1 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequestWarehouseType.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EditWarehouseRequestWarehouseType.java
@@ -8,5 +8,6 @@
public enum EditWarehouseRequestWarehouseType {
CLASSIC,
PRO,
+ REALTIME,
TYPE_UNSPECIFIED,
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfoWarehouseType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfoWarehouseType.java
index 498289a1d..f33b6ffbb 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfoWarehouseType.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/EndpointInfoWarehouseType.java
@@ -8,5 +8,6 @@
public enum EndpointInfoWarehouseType {
CLASSIC,
PRO,
+ REALTIME,
TYPE_UNSPECIFIED,
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponseWarehouseType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponseWarehouseType.java
index ea11574db..321f29abd 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponseWarehouseType.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWarehouseResponseWarehouseType.java
@@ -8,5 +8,6 @@
public enum GetWarehouseResponseWarehouseType {
CLASSIC,
PRO,
+ REALTIME,
TYPE_UNSPECIFIED,
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePairWarehouseType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePairWarehouseType.java
index 563e75240..f40a9ff6a 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePairWarehouseType.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehouseTypePairWarehouseType.java
@@ -8,5 +8,6 @@
public enum WarehouseTypePairWarehouseType {
CLASSIC,
PRO,
+ REALTIME,
TYPE_UNSPECIFIED,
}
diff --git a/examples/docs/pom.xml b/examples/docs/pom.xml
index 7ebd07cc5..652c667b3 100644
--- a/examples/docs/pom.xml
+++ b/examples/docs/pom.xml
@@ -24,7 +24,7 @@
com.databricks
databricks-sdk-java
- 0.166.0
+ 0.167.0
diff --git a/examples/spring-boot-oauth-u2m-demo/pom.xml b/examples/spring-boot-oauth-u2m-demo/pom.xml
index 4341160ce..55a334bbe 100644
--- a/examples/spring-boot-oauth-u2m-demo/pom.xml
+++ b/examples/spring-boot-oauth-u2m-demo/pom.xml
@@ -40,7 +40,7 @@
com.databricks
databricks-sdk-java
- 0.166.0
+ 0.167.0
diff --git a/lockfile.json b/lockfile.json
index 393e9946a..b8fcdbb77 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -1,7 +1,7 @@
{
"artifactId": "databricks-sdk-parent",
"groupId": "com.databricks",
- "version": "0.166.0",
+ "version": "0.167.0",
"lockFileVersion": 1,
"dependencies": [],
"mavenPlugins": [],
diff --git a/pom.xml b/pom.xml
index c155a0709..6d1831cfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.databricks
databricks-sdk-parent
- 0.166.0
+ 0.167.0
pom
Databricks SDK for Java
The Databricks SDK for Java includes functionality to accelerate development with Java for
diff --git a/shaded/pom.xml b/shaded/pom.xml
index 813abac66..f94d37864 100644
--- a/shaded/pom.xml
+++ b/shaded/pom.xml
@@ -4,7 +4,7 @@
4.0.0
- 0.166.0
+ 0.167.0
com.databricks