diff --git a/.codegen/_last_sha b/.codegen/_last_sha index a6f8bdb0c..a1b7949b9 100644 --- a/.codegen/_last_sha +++ b/.codegen/_last_sha @@ -1 +1 @@ -3fe38876198dc0eb5355c51cc3b52a3182d5525f \ No newline at end of file +1f11321c66463d2d07908abf08bb4cf6f4f675ad \ No newline at end of file diff --git a/.github/workflows/sync-label.yml b/.github/workflows/sync-label.yml index 6a7305dba..e7262c616 100644 --- a/.github/workflows/sync-label.yml +++ b/.github/workflows/sync-label.yml @@ -7,7 +7,7 @@ name: Sync label on: pull_request: - types: [opened, reopened, synchronize, labeled, unlabeled] + types: [reopened, synchronize, labeled, unlabeled] # The label gate runs at PR level — a PR can't enter the merge queue # until this check passes there. Merge-group events carry no label # context, so on them the job passes trivially; without this trigger @@ -15,19 +15,28 @@ on: merge_group: types: [checks_requested] +permissions: + pull-requests: read + jobs: sync-label: name: sync-label runs-on: ubuntu-latest steps: - - name: Merge queue — gate already applied at PR level - if: ${{ github.event_name == 'merge_group' }} - run: echo "merge group — sync label was enforced when the PR entered the queue." - name: Require the `sync` label - if: ${{ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'sync') }} + shell: bash + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} run: | - echo "::error::This PR does not carry the 'sync' label. This repository is a read-only mirror — only release sync PRs merge here. If this IS a release sync PR, a maintainer must apply the 'sync' label; community contributions are re-applied in the internal repository instead (see CONTRIBUTING.md)." - exit 1 - - name: Label present - if: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'sync') }} - run: echo "sync label present — this is a release sync PR." + if [[ "$GITHUB_EVENT_NAME" == "merge_group" ]]; then + echo "merge group — sync label was enforced when the PR entered the queue." + exit 0 + fi + # Event labels are snapshots; delayed runs and reruns must read current labels. + has_sync_label=$(gh api "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER" --jq 'any(.labels[]; .name == "sync")') + if [[ "$has_sync_label" != "true" ]]; then + echo "::error::This PR does not carry the 'sync' label. This repository is a read-only mirror — only release sync PRs merge here. If this IS a release sync PR, a maintainer must apply the 'sync' label; community contributions are re-applied in the internal repository instead (see CONTRIBUTING.md)." + exit 1 + fi + echo "sync label present — this is a release sync PR." diff --git a/CHANGELOG.md b/CHANGELOG.md index 62ee2075c..5ffa2b37e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Version changelog +## Release v0.167.0 (2026-10-15) + +### API Changes +* Add `revealRolePassword()` method for `workspaceClient.postgres()` service. +* Add `replicationConfig` field for `com.databricks.sdk.service.sharing.CreateShare`. +* Add `replicationConfig` field for `com.databricks.sdk.service.sharing.ShareInfo`. +* Add `REALTIME` enum value for `com.databricks.sdk.service.sql.CreateWarehouseRequestWarehouseType`. +* Add `REALTIME` enum value for `com.databricks.sdk.service.sql.EditWarehouseRequestWarehouseType`. +* Add `REALTIME` enum value for `com.databricks.sdk.service.sql.EndpointInfoWarehouseType`. +* Add `REALTIME` enum value for `com.databricks.sdk.service.sql.GetWarehouseResponseWarehouseType`. +* Add `REALTIME` enum value for `com.databricks.sdk.service.sql.WarehouseTypePairWarehouseType`. +* [Breaking] Remove `effectiveServerlessComputeId` field for `com.databricks.sdk.service.jobs.RunTask`. + ## Release v0.166.0 (2026-10-13) ### API Changes diff --git a/databricks-sdk-java/lockfile.json b/databricks-sdk-java/lockfile.json index 608f18450..0631f2d5c 100644 --- a/databricks-sdk-java/lockfile.json +++ b/databricks-sdk-java/lockfile.json @@ -1,7 +1,7 @@ { "artifactId": "databricks-sdk-java", "groupId": "com.databricks", - "version": "0.166.0", + "version": "0.167.0", "lockFileVersion": 1, "dependencies": [ { diff --git a/databricks-sdk-java/pom.xml b/databricks-sdk-java/pom.xml index dc428206f..56bfac26b 100644 --- a/databricks-sdk-java/pom.xml +++ b/databricks-sdk-java/pom.xml @@ -5,7 +5,7 @@ com.databricks databricks-sdk-parent - 0.166.0 + 0.167.0 databricks-sdk-java Databricks SDK for Java diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java index 69716a6b3..3b7c86c6e 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java @@ -36,7 +36,7 @@ public String getValue() { // TODO: check if reading from // /META-INF/maven/com.databricks/databrics-sdk-java/pom.properties // or getClass().getPackage().getImplementationVersion() is enough. - private static final String version = "0.166.0"; + private static final String version = "0.167.0"; public static void withProduct(String product, String productVersion) { UserAgent.product = product; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfig.java index d12f48fb3..2d97a291d 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfig.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfig.java @@ -63,7 +63,9 @@ public class ModelProviderServiceConfig { * Whether to proxy paths that AI Gateway does not recognize as configured provider-native API * types. Defaults to false. When true, these paths are forwarded unchanged to the upstream * provider. When false, only recognized API paths are served. Enabling this broadens the upstream - * API surface exposed through the provider service. + * API surface exposed through the provider service. AI Gateway cannot evaluate Service Policies + * on opaque unmanaged requests, so unmanaged requests are rejected whenever Service Policies are + * attached to this securable. */ @JsonProperty("forward_unmanaged_paths") private Boolean forwardUnmanagedPaths; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfigModelTargetConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfigModelTargetConfig.java index 032dc087e..0c5c8a4e6 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfigModelTargetConfig.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelProviderServiceConfigModelTargetConfig.java @@ -16,9 +16,10 @@ public class ModelProviderServiceConfigModelTargetConfig { /** * Relative path appended to a custom provider's `base_url` for this model, such as - * `serve/openai/chat`. Only custom model provider service targets use this field; other provider - * types ignore it, and model service destinations reject it. Do not include URI templates, - * queries, or fragments. When empty, `base_url` is used unchanged. + * `serve/openai/chat`. Nonempty values are only supported for custom model provider service + * targets; other provider types reject them. Model service destinations do not support this + * field. Do not include URI templates, queries, or fragments. When empty, `base_url` is used + * unchanged. */ @JsonProperty("endpoint_route") private String endpointRoute; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java index 41388b164..49062e37a 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iamv2/AccountIamV2API.java @@ -50,7 +50,13 @@ public Group createGroup(CreateGroupRequest request) { return impl.createGroup(request); } - /** 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. + */ public IdentityVisibilityFilter createIdentityVisibilityFilter( CreateIdentityVisibilityFilterRequest request) { return impl.createIdentityVisibilityFilter(request); @@ -131,7 +137,13 @@ public void deleteIdentityVisibilityFilter(String name) { deleteIdentityVisibilityFilter(new DeleteIdentityVisibilityFilterRequest().setName(name)); } - /** 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. + */ public void deleteIdentityVisibilityFilter(DeleteIdentityVisibilityFilterRequest request) { impl.deleteIdentityVisibilityFilter(request); } @@ -250,7 +262,10 @@ public IdentityVisibilityFilter getIdentityVisibilityFilter(String name) { return getIdentityVisibilityFilter(new GetIdentityVisibilityFilterRequest().setName(name)); } - /** 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. + */ public IdentityVisibilityFilter getIdentityVisibilityFilter( GetIdentityVisibilityFilterRequest request) { return impl.getIdentityVisibilityFilter(request); @@ -364,7 +379,12 @@ public Iterable listIdentityVisibilityFilters(String p new ListIdentityVisibilityFiltersRequest().setParent(parent)); } - /** 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. + */ public Iterable 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/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