diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index f6b747ebb..6e816b0eb 100755 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -0326a2fbef446c151698918eb71eacdbcee447af \ No newline at end of file +a499dda0f7802e37868d3f3076f62639165475d8 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index aac5f5aaf..b63ce582d 100755 --- a/.gitattributes +++ b/.gitattributes @@ -2738,13 +2738,22 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CspEnablem databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CspEnablementAccountService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CspEnablementAccountSetting.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicy.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountUiDestination.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyApiScopeQualifier.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAppsRuntimeDestination.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAuthentication.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAuthenticationIdentity.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAuthenticationIdentityPrincipalType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAuthenticationIdentityType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyEndpoints.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyIpRanges.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyLakebaseRuntimeDestination.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccess.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateIngressRule.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateRequestOrigin.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPublicAccess.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPublicAccessRestrictionMode.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPublicIngressRule.java linguist-generated=true @@ -3058,6 +3067,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PatchPub databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PatchPublicWorkspaceSettingRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PersonalComputeMessage.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PersonalComputeMessagePersonalComputeMessageEnum.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PreviewPhase.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/RestrictWorkspaceAdminsMessage.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/RestrictWorkspaceAdminsMessageStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/Setting.java linguist-generated=true @@ -3498,6 +3508,9 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/Endpoi databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/EndpointType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetEndpointRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetIndexRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/IndexSubtype.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/ListEndpointResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/ListEndpointsRequest.java linguist-generated=true @@ -3538,6 +3551,13 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/Value. databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndex.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndexStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorIndexType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermission.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionLevel.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissions.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsDescription.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsService.java linguist-generated=true diff --git a/.github/workflows/tagging.yml b/.github/workflows/tagging.yml index f8d421a08..caa826d93 100755 --- a/.github/workflows/tagging.yml +++ b/.github/workflows/tagging.yml @@ -50,6 +50,12 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: + # Force re-resolution of ``main`` at step time. Without + # ``ref:``, checkout pins to ``github.sha`` — the SHA frozen + # at workflow_dispatch time — which means re-running a stale + # dispatch checks out an older main even when newer commits + # exist. + ref: main fetch-depth: 0 token: ${{ steps.generate-token.outputs.token }} diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index cb477ae67..f4a3ff685 100755 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -38,4 +38,9 @@ * Add `JIRA` and `ZENDESK` enum values for `com.databricks.sdk.service.pipelines.IngestionSourceType`. * [Breaking] Remove `minQps` field for `com.databricks.sdk.service.vectorsearch.CreateEndpoint`. * [Breaking] Remove `requestedMinQps` field for `com.databricks.sdk.service.vectorsearch.EndpointScalingInfo`. -* [Breaking] Remove `minQps` field for `com.databricks.sdk.service.vectorsearch.PatchEndpointRequest`. \ No newline at end of file +* [Breaking] Remove `minQps` field for `com.databricks.sdk.service.vectorsearch.PatchEndpointRequest`. +* Add `getPermissionLevels()`, `getPermissions()`, `setPermissions()` and `updatePermissions()` methods for `workspaceClient.vectorSearchEndpoints()` service. +* Add `privateAccess` field for `com.databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicy`. +* Add `accountApi`, `accountDatabricksOne` and `accountUi` fields for `com.databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyRequestDestination`. +* Add `scopeQualifier` field for `com.databricks.sdk.service.settings.CustomerFacingIngressNetworkPolicyWorkspaceApiDestination`. +* Add `displayName` and `previewPhase` fields for `com.databricks.sdk.service.settingsv2.SettingsMetadata`. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicy.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicy.java index c8e718c12..bd3a0e6eb 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicy.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicy.java @@ -13,10 +13,30 @@ */ @Generated public class CustomerFacingIngressNetworkPolicy { - /** */ + /** + * The network policy restrictions for private access to the workspace. Configures how registered + * private endpoints are allowed or denied access. + */ + @JsonProperty("private_access") + private CustomerFacingIngressNetworkPolicyPrivateAccess privateAccess; + + /** + * The network policy restrictions for public access to the workspace. Configures how public + * internet traffic is allowed or denied access. + */ @JsonProperty("public_access") private CustomerFacingIngressNetworkPolicyPublicAccess publicAccess; + public CustomerFacingIngressNetworkPolicy setPrivateAccess( + CustomerFacingIngressNetworkPolicyPrivateAccess privateAccess) { + this.privateAccess = privateAccess; + return this; + } + + public CustomerFacingIngressNetworkPolicyPrivateAccess getPrivateAccess() { + return privateAccess; + } + public CustomerFacingIngressNetworkPolicy setPublicAccess( CustomerFacingIngressNetworkPolicyPublicAccess publicAccess) { this.publicAccess = publicAccess; @@ -32,17 +52,19 @@ public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CustomerFacingIngressNetworkPolicy that = (CustomerFacingIngressNetworkPolicy) o; - return Objects.equals(publicAccess, that.publicAccess); + return Objects.equals(privateAccess, that.privateAccess) + && Objects.equals(publicAccess, that.publicAccess); } @Override public int hashCode() { - return Objects.hash(publicAccess); + return Objects.hash(privateAccess, publicAccess); } @Override public String toString() { return new ToStringer(CustomerFacingIngressNetworkPolicy.class) + .add("privateAccess", privateAccess) .add("publicAccess", publicAccess) .toString(); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java new file mode 100755 index 000000000..3e081bcc5 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountApiDestination.java @@ -0,0 +1,63 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +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; + +@Generated +public class CustomerFacingIngressNetworkPolicyAccountApiDestination { + /** Qualifies the breadth of API access for the listed scopes. See ApiScopeQualifier. */ + @JsonProperty("scope_qualifier") + private CustomerFacingIngressNetworkPolicyApiScopeQualifier scopeQualifier; + + /** */ + @JsonProperty("scopes") + private Collection scopes; + + public CustomerFacingIngressNetworkPolicyAccountApiDestination setScopeQualifier( + CustomerFacingIngressNetworkPolicyApiScopeQualifier scopeQualifier) { + this.scopeQualifier = scopeQualifier; + return this; + } + + public CustomerFacingIngressNetworkPolicyApiScopeQualifier getScopeQualifier() { + return scopeQualifier; + } + + public CustomerFacingIngressNetworkPolicyAccountApiDestination setScopes( + Collection scopes) { + this.scopes = scopes; + return this; + } + + public Collection getScopes() { + return scopes; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyAccountApiDestination that = + (CustomerFacingIngressNetworkPolicyAccountApiDestination) o; + return Objects.equals(scopeQualifier, that.scopeQualifier) + && Objects.equals(scopes, that.scopes); + } + + @Override + public int hashCode() { + return Objects.hash(scopeQualifier, scopes); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyAccountApiDestination.class) + .add("scopeQualifier", scopeQualifier) + .add("scopes", scopes) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination.java new file mode 100755 index 000000000..82acec6ff --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination.java @@ -0,0 +1,46 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination { + /** Must be set to true. */ + @JsonProperty("all_destinations") + private Boolean allDestinations; + + public CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination setAllDestinations( + Boolean allDestinations) { + this.allDestinations = allDestinations; + return this; + } + + public Boolean getAllDestinations() { + return allDestinations; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination that = + (CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination) o; + return Objects.equals(allDestinations, that.allDestinations); + } + + @Override + public int hashCode() { + return Objects.hash(allDestinations); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination.class) + .add("allDestinations", allDestinations) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountUiDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountUiDestination.java new file mode 100755 index 000000000..f52cffa86 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyAccountUiDestination.java @@ -0,0 +1,46 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CustomerFacingIngressNetworkPolicyAccountUiDestination { + /** Must be set to true. */ + @JsonProperty("all_destinations") + private Boolean allDestinations; + + public CustomerFacingIngressNetworkPolicyAccountUiDestination setAllDestinations( + Boolean allDestinations) { + this.allDestinations = allDestinations; + return this; + } + + public Boolean getAllDestinations() { + return allDestinations; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyAccountUiDestination that = + (CustomerFacingIngressNetworkPolicyAccountUiDestination) o; + return Objects.equals(allDestinations, that.allDestinations); + } + + @Override + public int hashCode() { + return Objects.hash(allDestinations); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyAccountUiDestination.class) + .add("allDestinations", allDestinations) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyApiScopeQualifier.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyApiScopeQualifier.java new file mode 100755 index 000000000..364c097f7 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyApiScopeQualifier.java @@ -0,0 +1,16 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +import com.databricks.sdk.support.Generated; + +/** + * Qualifies the breadth of API access permitted by an ingress network policy rule. + * API_SCOPE_QUALIFIER_READ narrows matching to read-only variants of the listed scopes; + * API_SCOPE_QUALIFIER_ALL matches any scope. When unset, scopes match exactly as listed. + */ +@Generated +public enum CustomerFacingIngressNetworkPolicyApiScopeQualifier { + API_SCOPE_QUALIFIER_ALL, + API_SCOPE_QUALIFIER_READ, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyEndpoints.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyEndpoints.java new file mode 100755 index 000000000..9cd6c46ac --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyEndpoints.java @@ -0,0 +1,47 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +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; + +@Generated +public class CustomerFacingIngressNetworkPolicyEndpoints { + /** */ + @JsonProperty("endpoint_ids") + private Collection endpointIds; + + public CustomerFacingIngressNetworkPolicyEndpoints setEndpointIds( + Collection endpointIds) { + this.endpointIds = endpointIds; + return this; + } + + public Collection getEndpointIds() { + return endpointIds; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyEndpoints that = + (CustomerFacingIngressNetworkPolicyEndpoints) o; + return Objects.equals(endpointIds, that.endpointIds); + } + + @Override + public int hashCode() { + return Objects.hash(endpointIds); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyEndpoints.class) + .add("endpointIds", endpointIds) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccess.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccess.java new file mode 100755 index 000000000..e375938aa --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccess.java @@ -0,0 +1,79 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +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; + +@Generated +public class CustomerFacingIngressNetworkPolicyPrivateAccess { + /** */ + @JsonProperty("allow_rules") + private Collection allowRules; + + /** */ + @JsonProperty("deny_rules") + private Collection denyRules; + + /** */ + @JsonProperty("restriction_mode") + private CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode restrictionMode; + + public CustomerFacingIngressNetworkPolicyPrivateAccess setAllowRules( + Collection allowRules) { + this.allowRules = allowRules; + return this; + } + + public Collection getAllowRules() { + return allowRules; + } + + public CustomerFacingIngressNetworkPolicyPrivateAccess setDenyRules( + Collection denyRules) { + this.denyRules = denyRules; + return this; + } + + public Collection getDenyRules() { + return denyRules; + } + + public CustomerFacingIngressNetworkPolicyPrivateAccess setRestrictionMode( + CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode restrictionMode) { + this.restrictionMode = restrictionMode; + return this; + } + + public CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode getRestrictionMode() { + return restrictionMode; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyPrivateAccess that = + (CustomerFacingIngressNetworkPolicyPrivateAccess) o; + return Objects.equals(allowRules, that.allowRules) + && Objects.equals(denyRules, that.denyRules) + && Objects.equals(restrictionMode, that.restrictionMode); + } + + @Override + public int hashCode() { + return Objects.hash(allowRules, denyRules, restrictionMode); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyPrivateAccess.class) + .add("allowRules", allowRules) + .add("denyRules", denyRules) + .add("restrictionMode", restrictionMode) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode.java new file mode 100755 index 000000000..138933fbc --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode.java @@ -0,0 +1,11 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +import com.databricks.sdk.support.Generated; + +@Generated +public enum CustomerFacingIngressNetworkPolicyPrivateAccessRestrictionMode { + ALLOW_ALL_REGISTERED_ENDPOINTS, + RESTRICTED_ACCESS, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateIngressRule.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateIngressRule.java new file mode 100755 index 000000000..9a5671dcc --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateIngressRule.java @@ -0,0 +1,93 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CustomerFacingIngressNetworkPolicyPrivateIngressRule { + /** */ + @JsonProperty("authentication") + private CustomerFacingIngressNetworkPolicyAuthentication authentication; + + /** */ + @JsonProperty("destination") + private CustomerFacingIngressNetworkPolicyRequestDestination destination; + + /** The label for this ingress rule. */ + @JsonProperty("label") + private String label; + + /** */ + @JsonProperty("origin") + private CustomerFacingIngressNetworkPolicyPrivateRequestOrigin origin; + + public CustomerFacingIngressNetworkPolicyPrivateIngressRule setAuthentication( + CustomerFacingIngressNetworkPolicyAuthentication authentication) { + this.authentication = authentication; + return this; + } + + public CustomerFacingIngressNetworkPolicyAuthentication getAuthentication() { + return authentication; + } + + public CustomerFacingIngressNetworkPolicyPrivateIngressRule setDestination( + CustomerFacingIngressNetworkPolicyRequestDestination destination) { + this.destination = destination; + return this; + } + + public CustomerFacingIngressNetworkPolicyRequestDestination getDestination() { + return destination; + } + + public CustomerFacingIngressNetworkPolicyPrivateIngressRule setLabel(String label) { + this.label = label; + return this; + } + + public String getLabel() { + return label; + } + + public CustomerFacingIngressNetworkPolicyPrivateIngressRule setOrigin( + CustomerFacingIngressNetworkPolicyPrivateRequestOrigin origin) { + this.origin = origin; + return this; + } + + public CustomerFacingIngressNetworkPolicyPrivateRequestOrigin getOrigin() { + return origin; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyPrivateIngressRule that = + (CustomerFacingIngressNetworkPolicyPrivateIngressRule) o; + return Objects.equals(authentication, that.authentication) + && Objects.equals(destination, that.destination) + && Objects.equals(label, that.label) + && Objects.equals(origin, that.origin); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, destination, label, origin); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyPrivateIngressRule.class) + .add("authentication", authentication) + .add("destination", destination) + .add("label", label) + .add("origin", origin) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateRequestOrigin.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateRequestOrigin.java new file mode 100755 index 000000000..9af4ecce6 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyPrivateRequestOrigin.java @@ -0,0 +1,95 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settings; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CustomerFacingIngressNetworkPolicyPrivateRequestOrigin { + /** */ + @JsonProperty("all_private_access") + private Boolean allPrivateAccess; + + /** */ + @JsonProperty("all_registered_endpoints") + private Boolean allRegisteredEndpoints; + + /** */ + @JsonProperty("azure_workspace_private_link") + private Boolean azureWorkspacePrivateLink; + + /** */ + @JsonProperty("endpoints") + private CustomerFacingIngressNetworkPolicyEndpoints endpoints; + + public CustomerFacingIngressNetworkPolicyPrivateRequestOrigin setAllPrivateAccess( + Boolean allPrivateAccess) { + this.allPrivateAccess = allPrivateAccess; + return this; + } + + public Boolean getAllPrivateAccess() { + return allPrivateAccess; + } + + public CustomerFacingIngressNetworkPolicyPrivateRequestOrigin setAllRegisteredEndpoints( + Boolean allRegisteredEndpoints) { + this.allRegisteredEndpoints = allRegisteredEndpoints; + return this; + } + + public Boolean getAllRegisteredEndpoints() { + return allRegisteredEndpoints; + } + + public CustomerFacingIngressNetworkPolicyPrivateRequestOrigin setAzureWorkspacePrivateLink( + Boolean azureWorkspacePrivateLink) { + this.azureWorkspacePrivateLink = azureWorkspacePrivateLink; + return this; + } + + public Boolean getAzureWorkspacePrivateLink() { + return azureWorkspacePrivateLink; + } + + public CustomerFacingIngressNetworkPolicyPrivateRequestOrigin setEndpoints( + CustomerFacingIngressNetworkPolicyEndpoints endpoints) { + this.endpoints = endpoints; + return this; + } + + public CustomerFacingIngressNetworkPolicyEndpoints getEndpoints() { + return endpoints; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CustomerFacingIngressNetworkPolicyPrivateRequestOrigin that = + (CustomerFacingIngressNetworkPolicyPrivateRequestOrigin) o; + return Objects.equals(allPrivateAccess, that.allPrivateAccess) + && Objects.equals(allRegisteredEndpoints, that.allRegisteredEndpoints) + && Objects.equals(azureWorkspacePrivateLink, that.azureWorkspacePrivateLink) + && Objects.equals(endpoints, that.endpoints); + } + + @Override + public int hashCode() { + return Objects.hash( + allPrivateAccess, allRegisteredEndpoints, azureWorkspacePrivateLink, endpoints); + } + + @Override + public String toString() { + return new ToStringer(CustomerFacingIngressNetworkPolicyPrivateRequestOrigin.class) + .add("allPrivateAccess", allPrivateAccess) + .add("allRegisteredEndpoints", allRegisteredEndpoints) + .add("azureWorkspacePrivateLink", azureWorkspacePrivateLink) + .add("endpoints", endpoints) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyRequestDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyRequestDestination.java index 87f91f574..64c49d66c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyRequestDestination.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyRequestDestination.java @@ -9,6 +9,18 @@ @Generated public class CustomerFacingIngressNetworkPolicyRequestDestination { + /** */ + @JsonProperty("account_api") + private CustomerFacingIngressNetworkPolicyAccountApiDestination accountApi; + + /** */ + @JsonProperty("account_databricks_one") + private CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination accountDatabricksOne; + + /** */ + @JsonProperty("account_ui") + private CustomerFacingIngressNetworkPolicyAccountUiDestination accountUi; + /** * When true, match all destinations, no other destination fields can be set. When not set or * false, at least one specific destination must be provided. @@ -28,10 +40,41 @@ public class CustomerFacingIngressNetworkPolicyRequestDestination { @JsonProperty("workspace_api") private CustomerFacingIngressNetworkPolicyWorkspaceApiDestination workspaceApi; - /** Workspace destinations */ + /** */ @JsonProperty("workspace_ui") private CustomerFacingIngressNetworkPolicyWorkspaceUiDestination workspaceUi; + public CustomerFacingIngressNetworkPolicyRequestDestination setAccountApi( + CustomerFacingIngressNetworkPolicyAccountApiDestination accountApi) { + this.accountApi = accountApi; + return this; + } + + public CustomerFacingIngressNetworkPolicyAccountApiDestination getAccountApi() { + return accountApi; + } + + public CustomerFacingIngressNetworkPolicyRequestDestination setAccountDatabricksOne( + CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination accountDatabricksOne) { + this.accountDatabricksOne = accountDatabricksOne; + return this; + } + + public CustomerFacingIngressNetworkPolicyAccountDatabricksOneDestination + getAccountDatabricksOne() { + return accountDatabricksOne; + } + + public CustomerFacingIngressNetworkPolicyRequestDestination setAccountUi( + CustomerFacingIngressNetworkPolicyAccountUiDestination accountUi) { + this.accountUi = accountUi; + return this; + } + + public CustomerFacingIngressNetworkPolicyAccountUiDestination getAccountUi() { + return accountUi; + } + public CustomerFacingIngressNetworkPolicyRequestDestination setAllDestinations( Boolean allDestinations) { this.allDestinations = allDestinations; @@ -88,7 +131,10 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; CustomerFacingIngressNetworkPolicyRequestDestination that = (CustomerFacingIngressNetworkPolicyRequestDestination) o; - return Objects.equals(allDestinations, that.allDestinations) + return Objects.equals(accountApi, that.accountApi) + && Objects.equals(accountDatabricksOne, that.accountDatabricksOne) + && Objects.equals(accountUi, that.accountUi) + && Objects.equals(allDestinations, that.allDestinations) && Objects.equals(appsRuntime, that.appsRuntime) && Objects.equals(lakebaseRuntime, that.lakebaseRuntime) && Objects.equals(workspaceApi, that.workspaceApi) @@ -97,12 +143,23 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(allDestinations, appsRuntime, lakebaseRuntime, workspaceApi, workspaceUi); + return Objects.hash( + accountApi, + accountDatabricksOne, + accountUi, + allDestinations, + appsRuntime, + lakebaseRuntime, + workspaceApi, + workspaceUi); } @Override public String toString() { return new ToStringer(CustomerFacingIngressNetworkPolicyRequestDestination.class) + .add("accountApi", accountApi) + .add("accountDatabricksOne", accountDatabricksOne) + .add("accountUi", accountUi) .add("allDestinations", allDestinations) .add("appsRuntime", appsRuntime) .add("lakebaseRuntime", lakebaseRuntime) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java index 7c41a23f5..4aa56bea7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.java @@ -10,10 +10,24 @@ @Generated public class CustomerFacingIngressNetworkPolicyWorkspaceApiDestination { + /** Qualifies the breadth of API access for the listed scopes. See ApiScopeQualifier. */ + @JsonProperty("scope_qualifier") + private CustomerFacingIngressNetworkPolicyApiScopeQualifier scopeQualifier; + /** */ @JsonProperty("scopes") private Collection scopes; + public CustomerFacingIngressNetworkPolicyWorkspaceApiDestination setScopeQualifier( + CustomerFacingIngressNetworkPolicyApiScopeQualifier scopeQualifier) { + this.scopeQualifier = scopeQualifier; + return this; + } + + public CustomerFacingIngressNetworkPolicyApiScopeQualifier getScopeQualifier() { + return scopeQualifier; + } + public CustomerFacingIngressNetworkPolicyWorkspaceApiDestination setScopes( Collection scopes) { this.scopes = scopes; @@ -30,17 +44,19 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; CustomerFacingIngressNetworkPolicyWorkspaceApiDestination that = (CustomerFacingIngressNetworkPolicyWorkspaceApiDestination) o; - return Objects.equals(scopes, that.scopes); + return Objects.equals(scopeQualifier, that.scopeQualifier) + && Objects.equals(scopes, that.scopes); } @Override public int hashCode() { - return Objects.hash(scopes); + return Objects.hash(scopeQualifier, scopes); } @Override public String toString() { return new ToStringer(CustomerFacingIngressNetworkPolicyWorkspaceApiDestination.class) + .add("scopeQualifier", scopeQualifier) .add("scopes", scopes) .toString(); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PreviewPhase.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PreviewPhase.java new file mode 100755 index 000000000..c17d1492b --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/PreviewPhase.java @@ -0,0 +1,19 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.settingsv2; + +import com.databricks.sdk.support.Generated; + +/** + * Preview phase for settings that are feature previews. For settings that are not feature previews, + * the preview_phase field is left unset. Mirrors only the customer-facing phases surfaced in the + * UI; internal-only phases (DISABLED, DEV, UNDER_MIGRATION, LAUNCHED, etc.) are not exposed here. + */ +@Generated +public enum PreviewPhase { + BETA, + GA, + GA_SOON, + PRIVATE_PREVIEW, + PUBLIC_PREVIEW, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/SettingsMetadata.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/SettingsMetadata.java index dca2478fb..da64d9906 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/SettingsMetadata.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/SettingsMetadata.java @@ -13,6 +13,13 @@ public class SettingsMetadata { @JsonProperty("description") private String description; + /** + * Human-readable display name for the setting or feature preview. This field may be unset if no + * display name is available. + */ + @JsonProperty("display_name") + private String displayName; + /** Link to databricks documentation for the setting */ @JsonProperty("docs_link") private String docsLink; @@ -21,6 +28,10 @@ public class SettingsMetadata { @JsonProperty("name") private String name; + /** Preview phase for feature preview settings. This field is not set for non-preview settings. */ + @JsonProperty("preview_phase") + private PreviewPhase previewPhase; + /** * Sample message depicting the type of the setting. To set this setting, the value sent must * match this type. @@ -37,6 +48,15 @@ public String getDescription() { return description; } + public SettingsMetadata setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + public String getDisplayName() { + return displayName; + } + public SettingsMetadata setDocsLink(String docsLink) { this.docsLink = docsLink; return this; @@ -55,6 +75,15 @@ public String getName() { return name; } + public SettingsMetadata setPreviewPhase(PreviewPhase previewPhase) { + this.previewPhase = previewPhase; + return this; + } + + public PreviewPhase getPreviewPhase() { + return previewPhase; + } + public SettingsMetadata setType(String typeValue) { this.typeValue = typeValue; return this; @@ -70,22 +99,26 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; SettingsMetadata that = (SettingsMetadata) o; return Objects.equals(description, that.description) + && Objects.equals(displayName, that.displayName) && Objects.equals(docsLink, that.docsLink) && Objects.equals(name, that.name) + && Objects.equals(previewPhase, that.previewPhase) && Objects.equals(typeValue, that.typeValue); } @Override public int hashCode() { - return Objects.hash(description, docsLink, name, typeValue); + return Objects.hash(description, displayName, docsLink, name, previewPhase, typeValue); } @Override public String toString() { return new ToStringer(SettingsMetadata.class) .add("description", description) + .add("displayName", displayName) .add("docsLink", docsLink) .add("name", name) + .add("previewPhase", previewPhase) .add("typeValue", typeValue) .toString(); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java index 3975d9a41..5f0afd3c0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java @@ -37,7 +37,8 @@ public SupervisorAgent createSupervisorAgent(CreateSupervisorAgentRequest reques /** * Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", * "uc_function", "uc_connection", "app", "volume", "lakeview_dashboard", "uc_table", - * "vector_search_index", "catalog", "schema", "supervisor_agent" in the request body. + * "vector_search_index", "catalog", "schema", "supervisor_agent", "web_search" in the request + * body. */ public Tool createTool(CreateToolRequest request) { return impl.createTool(request); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java index 6c0489c61..ca2705899 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java @@ -21,7 +21,8 @@ public interface SupervisorAgentsService { /** * Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", * "uc_function", "uc_connection", "app", "volume", "lakeview_dashboard", "uc_table", - * "vector_search_index", "catalog", "schema", "supervisor_agent" in the request body. + * "vector_search_index", "catalog", "schema", "supervisor_agent", "web_search" in the request + * body. */ Tool createTool(CreateToolRequest createToolRequest); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java index 80d189f8a..661f13e89 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java @@ -40,7 +40,7 @@ public class Tool { /** * Tool type. Must be one of: "genie_space", "knowledge_assistant", "uc_function", * "uc_connection", "app", "volume", "lakeview_dashboard", "serving_endpoint", "uc_table", - * "vector_search_index", "catalog", "schema", "supervisor_agent". + * "vector_search_index", "catalog", "schema", "supervisor_agent", "web_search". */ @JsonProperty("tool_type") private String toolType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsRequest.java new file mode 100755 index 000000000..a722ad1c0 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsRequest.java @@ -0,0 +1,44 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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 GetVectorSearchEndpointPermissionLevelsRequest { + /** The vector search endpoint for which to get or manage permissions. */ + @JsonIgnore private String endpointId; + + public GetVectorSearchEndpointPermissionLevelsRequest setEndpointId(String endpointId) { + this.endpointId = endpointId; + return this; + } + + public String getEndpointId() { + return endpointId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetVectorSearchEndpointPermissionLevelsRequest that = + (GetVectorSearchEndpointPermissionLevelsRequest) o; + return Objects.equals(endpointId, that.endpointId); + } + + @Override + public int hashCode() { + return Objects.hash(endpointId); + } + + @Override + public String toString() { + return new ToStringer(GetVectorSearchEndpointPermissionLevelsRequest.class) + .add("endpointId", endpointId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsResponse.java new file mode 100755 index 000000000..093930b14 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionLevelsResponse.java @@ -0,0 +1,47 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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; + +@Generated +public class GetVectorSearchEndpointPermissionLevelsResponse { + /** Specific permission levels */ + @JsonProperty("permission_levels") + private Collection permissionLevels; + + public GetVectorSearchEndpointPermissionLevelsResponse setPermissionLevels( + Collection permissionLevels) { + this.permissionLevels = permissionLevels; + return this; + } + + public Collection getPermissionLevels() { + return permissionLevels; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetVectorSearchEndpointPermissionLevelsResponse that = + (GetVectorSearchEndpointPermissionLevelsResponse) o; + return Objects.equals(permissionLevels, that.permissionLevels); + } + + @Override + public int hashCode() { + return Objects.hash(permissionLevels); + } + + @Override + public String toString() { + return new ToStringer(GetVectorSearchEndpointPermissionLevelsResponse.class) + .add("permissionLevels", permissionLevels) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionsRequest.java new file mode 100755 index 000000000..e984e8975 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/GetVectorSearchEndpointPermissionsRequest.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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 GetVectorSearchEndpointPermissionsRequest { + /** The vector search endpoint for which to get or manage permissions. */ + @JsonIgnore private String endpointId; + + public GetVectorSearchEndpointPermissionsRequest setEndpointId(String endpointId) { + this.endpointId = endpointId; + return this; + } + + public String getEndpointId() { + return endpointId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetVectorSearchEndpointPermissionsRequest that = (GetVectorSearchEndpointPermissionsRequest) o; + return Objects.equals(endpointId, that.endpointId); + } + + @Override + public int hashCode() { + return Objects.hash(endpointId); + } + + @Override + public String toString() { + return new ToStringer(GetVectorSearchEndpointPermissionsRequest.class) + .add("endpointId", endpointId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlRequest.java new file mode 100755 index 000000000..aed22304b --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlRequest.java @@ -0,0 +1,91 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class VectorSearchEndpointAccessControlRequest { + /** name of the group */ + @JsonProperty("group_name") + private String groupName; + + /** */ + @JsonProperty("permission_level") + private VectorSearchEndpointPermissionLevel permissionLevel; + + /** application ID of a service principal */ + @JsonProperty("service_principal_name") + private String servicePrincipalName; + + /** name of the user */ + @JsonProperty("user_name") + private String userName; + + public VectorSearchEndpointAccessControlRequest setGroupName(String groupName) { + this.groupName = groupName; + return this; + } + + public String getGroupName() { + return groupName; + } + + public VectorSearchEndpointAccessControlRequest setPermissionLevel( + VectorSearchEndpointPermissionLevel permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + public VectorSearchEndpointPermissionLevel getPermissionLevel() { + return permissionLevel; + } + + public VectorSearchEndpointAccessControlRequest setServicePrincipalName( + String servicePrincipalName) { + this.servicePrincipalName = servicePrincipalName; + return this; + } + + public String getServicePrincipalName() { + return servicePrincipalName; + } + + public VectorSearchEndpointAccessControlRequest setUserName(String userName) { + this.userName = userName; + return this; + } + + public String getUserName() { + return userName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VectorSearchEndpointAccessControlRequest that = (VectorSearchEndpointAccessControlRequest) o; + return Objects.equals(groupName, that.groupName) + && Objects.equals(permissionLevel, that.permissionLevel) + && Objects.equals(servicePrincipalName, that.servicePrincipalName) + && Objects.equals(userName, that.userName); + } + + @Override + public int hashCode() { + return Objects.hash(groupName, permissionLevel, servicePrincipalName, userName); + } + + @Override + public String toString() { + return new ToStringer(VectorSearchEndpointAccessControlRequest.class) + .add("groupName", groupName) + .add("permissionLevel", permissionLevel) + .add("servicePrincipalName", servicePrincipalName) + .add("userName", userName) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlResponse.java new file mode 100755 index 000000000..2590911ea --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointAccessControlResponse.java @@ -0,0 +1,107 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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; + +@Generated +public class VectorSearchEndpointAccessControlResponse { + /** All permissions. */ + @JsonProperty("all_permissions") + private Collection allPermissions; + + /** Display name of the user or service principal. */ + @JsonProperty("display_name") + private String displayName; + + /** name of the group */ + @JsonProperty("group_name") + private String groupName; + + /** Name of the service principal. */ + @JsonProperty("service_principal_name") + private String servicePrincipalName; + + /** name of the user */ + @JsonProperty("user_name") + private String userName; + + public VectorSearchEndpointAccessControlResponse setAllPermissions( + Collection allPermissions) { + this.allPermissions = allPermissions; + return this; + } + + public Collection getAllPermissions() { + return allPermissions; + } + + public VectorSearchEndpointAccessControlResponse setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + public String getDisplayName() { + return displayName; + } + + public VectorSearchEndpointAccessControlResponse setGroupName(String groupName) { + this.groupName = groupName; + return this; + } + + public String getGroupName() { + return groupName; + } + + public VectorSearchEndpointAccessControlResponse setServicePrincipalName( + String servicePrincipalName) { + this.servicePrincipalName = servicePrincipalName; + return this; + } + + public String getServicePrincipalName() { + return servicePrincipalName; + } + + public VectorSearchEndpointAccessControlResponse setUserName(String userName) { + this.userName = userName; + return this; + } + + public String getUserName() { + return userName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VectorSearchEndpointAccessControlResponse that = (VectorSearchEndpointAccessControlResponse) o; + return Objects.equals(allPermissions, that.allPermissions) + && Objects.equals(displayName, that.displayName) + && Objects.equals(groupName, that.groupName) + && Objects.equals(servicePrincipalName, that.servicePrincipalName) + && Objects.equals(userName, that.userName); + } + + @Override + public int hashCode() { + return Objects.hash(allPermissions, displayName, groupName, servicePrincipalName, userName); + } + + @Override + public String toString() { + return new ToStringer(VectorSearchEndpointAccessControlResponse.class) + .add("allPermissions", allPermissions) + .add("displayName", displayName) + .add("groupName", groupName) + .add("servicePrincipalName", servicePrincipalName) + .add("userName", userName) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermission.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermission.java new file mode 100755 index 000000000..e81327aee --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermission.java @@ -0,0 +1,77 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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; + +@Generated +public class VectorSearchEndpointPermission { + /** */ + @JsonProperty("inherited") + private Boolean inherited; + + /** */ + @JsonProperty("inherited_from_object") + private Collection inheritedFromObject; + + /** */ + @JsonProperty("permission_level") + private VectorSearchEndpointPermissionLevel permissionLevel; + + public VectorSearchEndpointPermission setInherited(Boolean inherited) { + this.inherited = inherited; + return this; + } + + public Boolean getInherited() { + return inherited; + } + + public VectorSearchEndpointPermission setInheritedFromObject( + Collection inheritedFromObject) { + this.inheritedFromObject = inheritedFromObject; + return this; + } + + public Collection getInheritedFromObject() { + return inheritedFromObject; + } + + public VectorSearchEndpointPermission setPermissionLevel( + VectorSearchEndpointPermissionLevel permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + public VectorSearchEndpointPermissionLevel getPermissionLevel() { + return permissionLevel; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VectorSearchEndpointPermission that = (VectorSearchEndpointPermission) o; + return Objects.equals(inherited, that.inherited) + && Objects.equals(inheritedFromObject, that.inheritedFromObject) + && Objects.equals(permissionLevel, that.permissionLevel); + } + + @Override + public int hashCode() { + return Objects.hash(inherited, inheritedFromObject, permissionLevel); + } + + @Override + public String toString() { + return new ToStringer(VectorSearchEndpointPermission.class) + .add("inherited", inherited) + .add("inheritedFromObject", inheritedFromObject) + .add("permissionLevel", permissionLevel) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionLevel.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionLevel.java new file mode 100755 index 000000000..e1b9e552c --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionLevel.java @@ -0,0 +1,13 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +import com.databricks.sdk.support.Generated; + +/** Permission level */ +@Generated +public enum VectorSearchEndpointPermissionLevel { + CAN_CREATE, + CAN_MANAGE, + CAN_USE, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissions.java new file mode 100755 index 000000000..15d9cfa1d --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissions.java @@ -0,0 +1,76 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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; + +@Generated +public class VectorSearchEndpointPermissions { + /** */ + @JsonProperty("access_control_list") + private Collection accessControlList; + + /** */ + @JsonProperty("object_id") + private String objectId; + + /** */ + @JsonProperty("object_type") + private String objectType; + + public VectorSearchEndpointPermissions setAccessControlList( + Collection accessControlList) { + this.accessControlList = accessControlList; + return this; + } + + public Collection getAccessControlList() { + return accessControlList; + } + + public VectorSearchEndpointPermissions setObjectId(String objectId) { + this.objectId = objectId; + return this; + } + + public String getObjectId() { + return objectId; + } + + public VectorSearchEndpointPermissions setObjectType(String objectType) { + this.objectType = objectType; + return this; + } + + public String getObjectType() { + return objectType; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VectorSearchEndpointPermissions that = (VectorSearchEndpointPermissions) o; + return Objects.equals(accessControlList, that.accessControlList) + && Objects.equals(objectId, that.objectId) + && Objects.equals(objectType, that.objectType); + } + + @Override + public int hashCode() { + return Objects.hash(accessControlList, objectId, objectType); + } + + @Override + public String toString() { + return new ToStringer(VectorSearchEndpointPermissions.class) + .add("accessControlList", accessControlList) + .add("objectId", objectId) + .add("objectType", objectType) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsDescription.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsDescription.java new file mode 100755 index 000000000..7c0a91260 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsDescription.java @@ -0,0 +1,61 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class VectorSearchEndpointPermissionsDescription { + /** */ + @JsonProperty("description") + private String description; + + /** */ + @JsonProperty("permission_level") + private VectorSearchEndpointPermissionLevel permissionLevel; + + public VectorSearchEndpointPermissionsDescription setDescription(String description) { + this.description = description; + return this; + } + + public String getDescription() { + return description; + } + + public VectorSearchEndpointPermissionsDescription setPermissionLevel( + VectorSearchEndpointPermissionLevel permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + public VectorSearchEndpointPermissionLevel getPermissionLevel() { + return permissionLevel; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VectorSearchEndpointPermissionsDescription that = + (VectorSearchEndpointPermissionsDescription) o; + return Objects.equals(description, that.description) + && Objects.equals(permissionLevel, that.permissionLevel); + } + + @Override + public int hashCode() { + return Objects.hash(description, permissionLevel); + } + + @Override + public String toString() { + return new ToStringer(VectorSearchEndpointPermissionsDescription.class) + .add("description", description) + .add("permissionLevel", permissionLevel) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsRequest.java new file mode 100755 index 000000000..b635dc8a2 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointPermissionsRequest.java @@ -0,0 +1,61 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.vectorsearch; + +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; + +@Generated +public class VectorSearchEndpointPermissionsRequest { + /** */ + @JsonProperty("access_control_list") + private Collection accessControlList; + + /** The vector search endpoint for which to get or manage permissions. */ + @JsonIgnore private String endpointId; + + public VectorSearchEndpointPermissionsRequest setAccessControlList( + Collection accessControlList) { + this.accessControlList = accessControlList; + return this; + } + + public Collection getAccessControlList() { + return accessControlList; + } + + public VectorSearchEndpointPermissionsRequest setEndpointId(String endpointId) { + this.endpointId = endpointId; + return this; + } + + public String getEndpointId() { + return endpointId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VectorSearchEndpointPermissionsRequest that = (VectorSearchEndpointPermissionsRequest) o; + return Objects.equals(accessControlList, that.accessControlList) + && Objects.equals(endpointId, that.endpointId); + } + + @Override + public int hashCode() { + return Objects.hash(accessControlList, endpointId); + } + + @Override + public String toString() { + return new ToStringer(VectorSearchEndpointPermissionsRequest.class) + .add("accessControlList", accessControlList) + .add("endpointId", endpointId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java index d6951bc69..705d7ce5c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java @@ -106,6 +106,31 @@ public EndpointInfo getEndpoint(GetEndpointRequest request) { return impl.getEndpoint(request); } + public GetVectorSearchEndpointPermissionLevelsResponse getPermissionLevels(String endpointId) { + return getPermissionLevels( + new GetVectorSearchEndpointPermissionLevelsRequest().setEndpointId(endpointId)); + } + + /** Gets the permission levels that a user can have on an object. */ + public GetVectorSearchEndpointPermissionLevelsResponse getPermissionLevels( + GetVectorSearchEndpointPermissionLevelsRequest request) { + return impl.getPermissionLevels(request); + } + + public VectorSearchEndpointPermissions getPermissions(String endpointId) { + return getPermissions( + new GetVectorSearchEndpointPermissionsRequest().setEndpointId(endpointId)); + } + + /** + * Gets the permissions of a vector search endpoint. Vector search endpoints can inherit + * permissions from their root object. + */ + public VectorSearchEndpointPermissions getPermissions( + GetVectorSearchEndpointPermissionsRequest request) { + return impl.getPermissions(request); + } + /** List all vector search endpoints in the workspace. */ public Iterable listEndpoints(ListEndpointsRequest request) { return new Paginator<>( @@ -132,6 +157,15 @@ public RetrieveUserVisibleMetricsResponse retrieveUserVisibleMetrics( return impl.retrieveUserVisibleMetrics(request); } + /** + * Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct + * permissions if none are specified. Objects can inherit permissions from their root object. + */ + public VectorSearchEndpointPermissions setPermissions( + VectorSearchEndpointPermissionsRequest request) { + return impl.setPermissions(request); + } + /** Update the budget policy of an endpoint */ public PatchEndpointBudgetPolicyResponse updateEndpointBudgetPolicy( PatchEndpointBudgetPolicyRequest request) { @@ -144,6 +178,15 @@ public UpdateEndpointCustomTagsResponse updateEndpointCustomTags( return impl.updateEndpointCustomTags(request); } + /** + * Updates the permissions on a vector search endpoint. Vector search endpoints can inherit + * permissions from their root object. + */ + public VectorSearchEndpointPermissions updatePermissions( + VectorSearchEndpointPermissionsRequest request) { + return impl.updatePermissions(request); + } + public VectorSearchEndpointsService impl() { return impl; } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsImpl.java index 4b0e25605..154ba887e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsImpl.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsImpl.java @@ -68,6 +68,46 @@ public EndpointInfo getEndpoint(GetEndpointRequest request) { } } + @Override + public GetVectorSearchEndpointPermissionLevelsResponse getPermissionLevels( + GetVectorSearchEndpointPermissionLevelsRequest request) { + String path = + String.format( + "/api/2.0/permissions/vector-search-endpoints/%s/permissionLevels", + request.getEndpointId()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, GetVectorSearchEndpointPermissionLevelsResponse.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public VectorSearchEndpointPermissions getPermissions( + GetVectorSearchEndpointPermissionsRequest request) { + String path = + String.format("/api/2.0/permissions/vector-search-endpoints/%s", request.getEndpointId()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, VectorSearchEndpointPermissions.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public ListEndpointResponse listEndpoints(ListEndpointsRequest request) { String path = "/api/2.0/vector-search/endpoints"; @@ -122,6 +162,26 @@ public RetrieveUserVisibleMetricsResponse retrieveUserVisibleMetrics( } } + @Override + public VectorSearchEndpointPermissions setPermissions( + VectorSearchEndpointPermissionsRequest request) { + String path = + String.format("/api/2.0/permissions/vector-search-endpoints/%s", request.getEndpointId()); + try { + Request req = new Request("PUT", path, apiClient.serialize(request)); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, VectorSearchEndpointPermissions.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public PatchEndpointBudgetPolicyResponse updateEndpointBudgetPolicy( PatchEndpointBudgetPolicyRequest request) { @@ -162,4 +222,24 @@ public UpdateEndpointCustomTagsResponse updateEndpointCustomTags( throw new DatabricksException("IO error: " + e.getMessage(), e); } } + + @Override + public VectorSearchEndpointPermissions updatePermissions( + VectorSearchEndpointPermissionsRequest request) { + String path = + String.format("/api/2.0/permissions/vector-search-endpoints/%s", request.getEndpointId()); + try { + Request req = new Request("PATCH", path, apiClient.serialize(request)); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, VectorSearchEndpointPermissions.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsService.java index 30384a985..7865dbbb8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsService.java @@ -21,6 +21,18 @@ public interface VectorSearchEndpointsService { /** Get details for a single vector search endpoint. */ EndpointInfo getEndpoint(GetEndpointRequest getEndpointRequest); + /** Gets the permission levels that a user can have on an object. */ + GetVectorSearchEndpointPermissionLevelsResponse getPermissionLevels( + GetVectorSearchEndpointPermissionLevelsRequest + getVectorSearchEndpointPermissionLevelsRequest); + + /** + * Gets the permissions of a vector search endpoint. Vector search endpoints can inherit + * permissions from their root object. + */ + VectorSearchEndpointPermissions getPermissions( + GetVectorSearchEndpointPermissionsRequest getVectorSearchEndpointPermissionsRequest); + /** List all vector search endpoints in the workspace. */ ListEndpointResponse listEndpoints(ListEndpointsRequest listEndpointsRequest); @@ -31,6 +43,13 @@ public interface VectorSearchEndpointsService { RetrieveUserVisibleMetricsResponse retrieveUserVisibleMetrics( RetrieveUserVisibleMetricsRequest retrieveUserVisibleMetricsRequest); + /** + * Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct + * permissions if none are specified. Objects can inherit permissions from their root object. + */ + VectorSearchEndpointPermissions setPermissions( + VectorSearchEndpointPermissionsRequest vectorSearchEndpointPermissionsRequest); + /** Update the budget policy of an endpoint */ PatchEndpointBudgetPolicyResponse updateEndpointBudgetPolicy( PatchEndpointBudgetPolicyRequest patchEndpointBudgetPolicyRequest); @@ -38,4 +57,11 @@ PatchEndpointBudgetPolicyResponse updateEndpointBudgetPolicy( /** Update the custom tags of an endpoint. */ UpdateEndpointCustomTagsResponse updateEndpointCustomTags( UpdateEndpointCustomTagsRequest updateEndpointCustomTagsRequest); + + /** + * Updates the permissions on a vector search endpoint. Vector search endpoints can inherit + * permissions from their root object. + */ + VectorSearchEndpointPermissions updatePermissions( + VectorSearchEndpointPermissionsRequest vectorSearchEndpointPermissionsRequest); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateCredentialsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateCredentialsRequest.java index 76fd45dd2..b1f825429 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateCredentialsRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateCredentialsRequest.java @@ -20,8 +20,10 @@ public class CreateCredentialsRequest { /** * Git provider. This field is case-insensitive. The available Git providers are `gitHub`, - * `bitbucketCloud`, `gitLab`, `azureDevOpsServices`, `gitHubEnterprise`, `bitbucketServer`, - * `gitLabEnterpriseEdition` and `awsCodeCommit`. + * `bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including Microsoft + * Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket Data Center), + * `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit` (deprecated by AWS, not + * accepting new customers). */ @JsonProperty("git_provider") private String gitProvider; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoRequest.java index 84cd6aa77..b9b3846bd 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoRequest.java @@ -18,8 +18,10 @@ public class CreateRepoRequest { /** * Git provider. This field is case-insensitive. The available Git providers are `gitHub`, - * `bitbucketCloud`, `gitLab`, `azureDevOpsServices`, `gitHubEnterprise`, `bitbucketServer`, - * `gitLabEnterpriseEdition` and `awsCodeCommit`. + * `bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including Microsoft + * Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket Data Center), + * `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit` (deprecated by AWS, not + * accepting new customers). */ @JsonProperty("provider") private String provider; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoResponse.java index cb86465a7..75122edce 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoResponse.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CreateRepoResponse.java @@ -25,7 +25,11 @@ public class CreateRepoResponse { @JsonProperty("path") private String path; - /** Git provider of the linked Git repository. */ + /** + * Git provider of the linked Git repository, e.g. `gitHub`, `azureDevOpsServices`, + * `bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), or + * `awsCodeCommit` (deprecated). + */ @JsonProperty("provider") private String provider; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CredentialInfo.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CredentialInfo.java index 428ee5726..33a0fe173 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CredentialInfo.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/CredentialInfo.java @@ -22,7 +22,12 @@ public class CredentialInfo { @JsonProperty("git_email") private String gitEmail; - /** The Git provider associated with the credential. */ + /** + * The Git provider associated with the credential. One of `gitHub`, `bitbucketCloud`, `gitLab`, + * `azureDevOpsServices` (Azure DevOps Services, including Microsoft Entra ID authentication), + * `gitHubEnterprise`, `bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` + * (GitLab Self-Managed), or `awsCodeCommit` (deprecated). + */ @JsonProperty("git_provider") private String gitProvider; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GetRepoResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GetRepoResponse.java index a34c0cc98..3879deccb 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GetRepoResponse.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GetRepoResponse.java @@ -25,7 +25,11 @@ public class GetRepoResponse { @JsonProperty("path") private String path; - /** Git provider of the linked Git repository. */ + /** + * Git provider of the linked Git repository, e.g. `gitHub`, `azureDevOpsServices`, + * `bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), or + * `awsCodeCommit` (deprecated). + */ @JsonProperty("provider") private String provider; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/RepoInfo.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/RepoInfo.java index 403fd581c..529e2427e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/RepoInfo.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/RepoInfo.java @@ -26,7 +26,11 @@ public class RepoInfo { @JsonProperty("path") private String path; - /** Git provider of the remote git repository, e.g. `gitHub`. */ + /** + * Git provider of the remote git repository, e.g. `gitHub`, `azureDevOpsServices`, + * `bitbucketServer` (Bitbucket Data Center), `gitLabEnterpriseEdition` (GitLab Self-Managed), or + * `awsCodeCommit` (deprecated). + */ @JsonProperty("provider") private String provider; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/UpdateCredentialsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/UpdateCredentialsRequest.java index d539a3038..072bcb959 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/UpdateCredentialsRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/UpdateCredentialsRequest.java @@ -24,8 +24,10 @@ public class UpdateCredentialsRequest { /** * Git provider. This field is case-insensitive. The available Git providers are `gitHub`, - * `bitbucketCloud`, `gitLab`, `azureDevOpsServices`, `gitHubEnterprise`, `bitbucketServer`, - * `gitLabEnterpriseEdition` and `awsCodeCommit`. + * `bitbucketCloud`, `gitLab`, `azureDevOpsServices` (Azure DevOps Services, including Microsoft + * Entra ID authentication), `gitHubEnterprise`, `bitbucketServer` (Bitbucket Data Center), + * `gitLabEnterpriseEdition` (GitLab Self-Managed), and `awsCodeCommit` (deprecated by AWS, not + * accepting new customers). */ @JsonProperty("git_provider") private String gitProvider; diff --git a/tagging.py b/tagging.py index 2621a1269..021e730be 100755 --- a/tagging.py +++ b/tagging.py @@ -129,6 +129,22 @@ def next_release_version(self) -> "Version": return self.bump_minor() +def _read_local_head_sha() -> str: + """ + Returns the SHA of the local working tree's HEAD via ``git rev-parse``. + """ + return subprocess.check_output(["git", "rev-parse", "HEAD"], text=True).strip() + + +class MainAdvancedError(Exception): + """ + Raised when ``origin/main`` has advanced since the workflow's + checkout — i.e., another commit landed during this run. The local + working tree is now stale, so any commit produced from it would + silently revert whatever the concurrent push added. + """ + + # GitHub does not support signing commits for GitHub Apps directly. # This class replaces usages for git commands such as "git add", "git commit", and "git push". @dataclass @@ -137,8 +153,12 @@ def __init__(self, repo: Repository): self.repo = repo self.changed_files: list[InputGitTreeElement] = [] self.ref = "heads/main" - head_ref = self.repo.get_git_ref(self.ref) - self.sha = head_ref.object.sha + # Anchor ``self.sha`` to the **local checkout** rather than a + # live API call. ``actions/checkout`` populates the working tree + # at this SHA, and every subsequent file read in this run is + # against that tree; the API HEAD is only relevant when we go + # to push. + self.sha = _read_local_head_sha() # Replaces "git add file" def add_file(self, loc: str, content: str): @@ -151,12 +171,19 @@ def add_file(self, loc: str, content: str): # Replaces "git commit && git push" def commit_and_push(self, message: str): head_ref = self.repo.get_git_ref(self.ref) + if head_ref.object.sha != self.sha: + raise MainAdvancedError( + f"origin/main advanced from {self.sha} to {head_ref.object.sha} " + f"during this run. Local working tree is stale; aborting before " + f"the commit would silently revert the new content. Re-run the " + f"workflow." + ) base_tree = self.repo.get_git_tree(sha=head_ref.object.sha) new_tree = self.repo.create_git_tree(self.changed_files, base_tree) parent_commit = self.repo.get_git_commit(head_ref.object.sha) new_commit = self.repo.create_git_commit(message=message, tree=new_tree, parents=[parent_commit]) - # Update branch reference + # Update branch reference. head_ref.edit(new_commit.sha) self.sha = new_commit.sha @@ -165,8 +192,7 @@ def reset(self, sha: Optional[str] = None): if sha: self.sha = sha else: - head_ref = self.repo.get_git_ref(self.ref) - self.sha = head_ref.object.sha + self.sha = _read_local_head_sha() def tag(self, tag_name: str, tag_message: str): # Create a tag pointing to the new commit @@ -710,21 +736,18 @@ def reset_repository(hash: Optional[str] = None) -> None: :param hash: The commit hash to reset to. If None, it resets to HEAD. """ - # Fetch the latest changes from the remote repository + # Fetch the latest changes from the remote repository. subprocess.run(["git", "fetch"]) - # Determine the commit hash (default to origin/main if none is provided) + # Determine the commit hash (default to origin/main if none is provided). commit_hash = hash or "origin/main" - # Reset in memory changed files and the commit hash + # ``git reset --hard`` must land before ``gh.reset(None)``, since + # ``gh.reset(None)`` reads ``git rev-parse HEAD`` to anchor + # ``self.sha`` to the local working tree. + subprocess.run(["git", "reset", "--hard", commit_hash], check=True) gh.reset(hash) - # Construct the Git reset command - command = ["git", "reset", "--hard", commit_hash] - - # Execute the git reset command - subprocess.run(command, check=True) - def retry_function( func: Callable[[], List[TagInfo]], cleanup: Callable[[], None], max_attempts: int = 5, delay: int = 5 @@ -742,6 +765,12 @@ def retry_function( while attempts <= max_attempts: try: return func() # Call the function + except MainAdvancedError: + # Permanent failure: another commit landed on main during + # this run, so the local tree is stale. Retrying with the + # same stale tree would just hit the same mismatch — only + # a fresh workflow run against the new main can recover. + raise except Exception as e: attempts += 1 print(f"Attempt {attempts} failed: {e}")