diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 42f35bf7e..d93beb365 100755 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -125e8a088be77ed7aae64f07daf977c2c4fa8153 \ No newline at end of file +803daa7abba0b78423769fbdce29ba4c66854776 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 5eeb280fb..56ec99730 100755 --- a/.gitattributes +++ b/.gitattributes @@ -1762,9 +1762,13 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/Visibil databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Activity.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ActivityAction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ActivityType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AggregationFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproveTransitionRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproveTransitionRequestResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxCountDistinctFunction.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxPercentileFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AuthConfig.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/BackfillSource.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/BatchCreateMaterializedFeaturesRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/BatchCreateMaterializedFeaturesResponse.java linguist-generated=true @@ -1772,6 +1776,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ColumnIdentifier databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CommentActivityAction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CommentObject.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ContinuousWindow.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateComment.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateCommentResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateExperiment.java linguist-generated=true @@ -1820,6 +1825,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteTransition databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteTransitionRequestResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteWebhookRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeltaTableSource.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Experiment.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentAccessControlRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentAccessControlResponse.java linguist-generated=true @@ -1848,6 +1854,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureTag.java databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FileInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FirstFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ForecastingAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ForecastingExperiment.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ForecastingExperimentState.java linguist-generated=true @@ -1895,6 +1902,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/JobSpec.java lin databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/JobSpecWithoutSecret.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaConfig.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaSource.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LastFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LineageContext.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LinkedFeature.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListArtifactsRequest.java linguist-generated=true @@ -1935,7 +1943,9 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeat databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaxFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Metric.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MinFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Model.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelDatabricks.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelInput.java linguist-generated=true @@ -2003,10 +2013,14 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetModelVersionT databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetTag.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SlidingWindow.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Status.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevSampFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SubscriptionMode.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TestRegistryWebhookRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TestRegistryWebhookResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeWindow.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TransitionModelVersionStageDatabricks.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TransitionRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TransitionStageResponse.java linguist-generated=true @@ -2028,6 +2042,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateRun.java l databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateRunResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateRunStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateWebhookResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarPopFunction.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarSampFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ViewType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/AzurePrivateEndpointInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/CreateEndpointRequest.java linguist-generated=true @@ -2287,6 +2303,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateEndp databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateEndpointRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateProjectOperation.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateProjectRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleOperation.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/AwsCredentials.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/AwsKeyInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/provisioning/AzureKeyInfo.java linguist-generated=true diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md old mode 100644 new mode 100755 index 8bd3f4cdc..f40b11ee4 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -13,3 +13,16 @@ ### Internal Changes ### API Changes +* Add `updateRole()` method for `workspaceClient.postgres()` service. +* Add `entities` and `timeseriesColumn` fields for `com.databricks.sdk.service.ml.Feature`. +* Add `aggregationFunction` field for `com.databricks.sdk.service.ml.Function`. +* Add `filterCondition` field for `com.databricks.sdk.service.ml.KafkaSource`. +* Add `attributes` field for `com.databricks.sdk.service.postgres.RoleRoleStatus`. +* Change `entityColumns` and `timeseriesColumn` fields for `com.databricks.sdk.service.ml.DeltaTableSource` to no longer be required. +* [Breaking] Change `entityColumns` and `timeseriesColumn` fields for `com.databricks.sdk.service.ml.DeltaTableSource` to no longer be required. +* Change `inputs` field for `com.databricks.sdk.service.ml.Feature` to no longer be required. +* [Breaking] Change `inputs` field for `com.databricks.sdk.service.ml.Feature` to no longer be required. +* [Breaking] Change `functionType` field for `com.databricks.sdk.service.ml.Function` to no longer be required. +* Change `functionType` field for `com.databricks.sdk.service.ml.Function` to no longer be required. +* Change `entityColumnIdentifiers` and `timeseriesColumnIdentifier` fields for `com.databricks.sdk.service.ml.KafkaSource` to no longer be required. +* [Breaking] Change `entityColumnIdentifiers` and `timeseriesColumnIdentifier` fields for `com.databricks.sdk.service.ml.KafkaSource` to no longer be required. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AggregationFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AggregationFunction.java new file mode 100755 index 000000000..e0103faff --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AggregationFunction.java @@ -0,0 +1,255 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** An aggregation function applied over a time window. */ +@Generated +public class AggregationFunction { + /** */ + @JsonProperty("approx_count_distinct") + private ApproxCountDistinctFunction approxCountDistinct; + + /** */ + @JsonProperty("approx_percentile") + private ApproxPercentileFunction approxPercentile; + + /** */ + @JsonProperty("avg") + private AvgFunction avg; + + /** */ + @JsonProperty("count_function") + private CountFunction countFunction; + + /** */ + @JsonProperty("first") + private FirstFunction first; + + /** */ + @JsonProperty("last") + private LastFunction last; + + /** */ + @JsonProperty("max") + private MaxFunction max; + + /** */ + @JsonProperty("min") + private MinFunction min; + + /** */ + @JsonProperty("stddev_pop") + private StddevPopFunction stddevPop; + + /** */ + @JsonProperty("stddev_samp") + private StddevSampFunction stddevSamp; + + /** */ + @JsonProperty("sum") + private SumFunction sum; + + /** The time window over which the aggregation is computed. */ + @JsonProperty("time_window") + private TimeWindow timeWindow; + + /** */ + @JsonProperty("var_pop") + private VarPopFunction varPop; + + /** */ + @JsonProperty("var_samp") + private VarSampFunction varSamp; + + public AggregationFunction setApproxCountDistinct( + ApproxCountDistinctFunction approxCountDistinct) { + this.approxCountDistinct = approxCountDistinct; + return this; + } + + public ApproxCountDistinctFunction getApproxCountDistinct() { + return approxCountDistinct; + } + + public AggregationFunction setApproxPercentile(ApproxPercentileFunction approxPercentile) { + this.approxPercentile = approxPercentile; + return this; + } + + public ApproxPercentileFunction getApproxPercentile() { + return approxPercentile; + } + + public AggregationFunction setAvg(AvgFunction avg) { + this.avg = avg; + return this; + } + + public AvgFunction getAvg() { + return avg; + } + + public AggregationFunction setCountFunction(CountFunction countFunction) { + this.countFunction = countFunction; + return this; + } + + public CountFunction getCountFunction() { + return countFunction; + } + + public AggregationFunction setFirst(FirstFunction first) { + this.first = first; + return this; + } + + public FirstFunction getFirst() { + return first; + } + + public AggregationFunction setLast(LastFunction last) { + this.last = last; + return this; + } + + public LastFunction getLast() { + return last; + } + + public AggregationFunction setMax(MaxFunction max) { + this.max = max; + return this; + } + + public MaxFunction getMax() { + return max; + } + + public AggregationFunction setMin(MinFunction min) { + this.min = min; + return this; + } + + public MinFunction getMin() { + return min; + } + + public AggregationFunction setStddevPop(StddevPopFunction stddevPop) { + this.stddevPop = stddevPop; + return this; + } + + public StddevPopFunction getStddevPop() { + return stddevPop; + } + + public AggregationFunction setStddevSamp(StddevSampFunction stddevSamp) { + this.stddevSamp = stddevSamp; + return this; + } + + public StddevSampFunction getStddevSamp() { + return stddevSamp; + } + + public AggregationFunction setSum(SumFunction sum) { + this.sum = sum; + return this; + } + + public SumFunction getSum() { + return sum; + } + + public AggregationFunction setTimeWindow(TimeWindow timeWindow) { + this.timeWindow = timeWindow; + return this; + } + + public TimeWindow getTimeWindow() { + return timeWindow; + } + + public AggregationFunction setVarPop(VarPopFunction varPop) { + this.varPop = varPop; + return this; + } + + public VarPopFunction getVarPop() { + return varPop; + } + + public AggregationFunction setVarSamp(VarSampFunction varSamp) { + this.varSamp = varSamp; + return this; + } + + public VarSampFunction getVarSamp() { + return varSamp; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AggregationFunction that = (AggregationFunction) o; + return Objects.equals(approxCountDistinct, that.approxCountDistinct) + && Objects.equals(approxPercentile, that.approxPercentile) + && Objects.equals(avg, that.avg) + && Objects.equals(countFunction, that.countFunction) + && Objects.equals(first, that.first) + && Objects.equals(last, that.last) + && Objects.equals(max, that.max) + && Objects.equals(min, that.min) + && Objects.equals(stddevPop, that.stddevPop) + && Objects.equals(stddevSamp, that.stddevSamp) + && Objects.equals(sum, that.sum) + && Objects.equals(timeWindow, that.timeWindow) + && Objects.equals(varPop, that.varPop) + && Objects.equals(varSamp, that.varSamp); + } + + @Override + public int hashCode() { + return Objects.hash( + approxCountDistinct, + approxPercentile, + avg, + countFunction, + first, + last, + max, + min, + stddevPop, + stddevSamp, + sum, + timeWindow, + varPop, + varSamp); + } + + @Override + public String toString() { + return new ToStringer(AggregationFunction.class) + .add("approxCountDistinct", approxCountDistinct) + .add("approxPercentile", approxPercentile) + .add("avg", avg) + .add("countFunction", countFunction) + .add("first", first) + .add("last", last) + .add("max", max) + .add("min", min) + .add("stddevPop", stddevPop) + .add("stddevSamp", stddevSamp) + .add("sum", sum) + .add("timeWindow", timeWindow) + .add("varPop", varPop) + .add("varSamp", varSamp) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxCountDistinctFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxCountDistinctFunction.java new file mode 100755 index 000000000..aee4fb5b1 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxCountDistinctFunction.java @@ -0,0 +1,59 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the approximate count of distinct values. */ +@Generated +public class ApproxCountDistinctFunction { + /** The input column from which the approximate count of distinct values is computed. */ + @JsonProperty("input") + private String input; + + /** The maximum relative standard deviation allowed (default defined by Spark). */ + @JsonProperty("relative_sd") + private Double relativeSd; + + public ApproxCountDistinctFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + public ApproxCountDistinctFunction setRelativeSd(Double relativeSd) { + this.relativeSd = relativeSd; + return this; + } + + public Double getRelativeSd() { + return relativeSd; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ApproxCountDistinctFunction that = (ApproxCountDistinctFunction) o; + return Objects.equals(input, that.input) && Objects.equals(relativeSd, that.relativeSd); + } + + @Override + public int hashCode() { + return Objects.hash(input, relativeSd); + } + + @Override + public String toString() { + return new ToStringer(ApproxCountDistinctFunction.class) + .add("input", input) + .add("relativeSd", relativeSd) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxPercentileFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxPercentileFunction.java new file mode 100755 index 000000000..84a32dea6 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ApproxPercentileFunction.java @@ -0,0 +1,75 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the approximate percentile of values. */ +@Generated +public class ApproxPercentileFunction { + /** The accuracy parameter (higher is more accurate but slower). */ + @JsonProperty("accuracy") + private Long accuracy; + + /** The input column from which the approximate percentile is computed. */ + @JsonProperty("input") + private String input; + + /** The percentile value to compute (between 0 and 1). */ + @JsonProperty("percentile") + private Double percentile; + + public ApproxPercentileFunction setAccuracy(Long accuracy) { + this.accuracy = accuracy; + return this; + } + + public Long getAccuracy() { + return accuracy; + } + + public ApproxPercentileFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + public ApproxPercentileFunction setPercentile(Double percentile) { + this.percentile = percentile; + return this; + } + + public Double getPercentile() { + return percentile; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ApproxPercentileFunction that = (ApproxPercentileFunction) o; + return Objects.equals(accuracy, that.accuracy) + && Objects.equals(input, that.input) + && Objects.equals(percentile, that.percentile); + } + + @Override + public int hashCode() { + return Objects.hash(accuracy, input, percentile); + } + + @Override + public String toString() { + return new ToStringer(ApproxPercentileFunction.class) + .add("accuracy", accuracy) + .add("input", input) + .add("percentile", percentile) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java new file mode 100755 index 000000000..86509b724 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/AvgFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the average of values. */ +@Generated +public class AvgFunction { + /** The input column from which the average is computed. */ + @JsonProperty("input") + private String input; + + public AvgFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AvgFunction that = (AvgFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(AvgFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java new file mode 100755 index 000000000..56bec6a10 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CountFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the count of values. */ +@Generated +public class CountFunction { + /** The input column from which the count is computed. */ + @JsonProperty("input") + private String input; + + public CountFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CountFunction that = (CountFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(CountFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java new file mode 100755 index 000000000..3fbca81f8 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/EntityColumn.java @@ -0,0 +1,42 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class EntityColumn { + /** The name of the entity column. */ + @JsonProperty("name") + private String name; + + public EntityColumn 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; + EntityColumn that = (EntityColumn) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(EntityColumn.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Feature.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Feature.java index ad4bd5f41..7b4d0f3e3 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Feature.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Feature.java @@ -14,6 +14,10 @@ public class Feature { @JsonProperty("description") private String description; + /** The entity columns for the feature, used as aggregation keys and for query-time lookup. */ + @JsonProperty("entities") + private Collection entities; + /** * Deprecated: Use DeltaTableSource.filter_condition or KafkaSource.filter_condition instead. Kept * for backwards compatibility. The filter condition applied to the source data before @@ -58,6 +62,10 @@ public class Feature { @JsonProperty("time_window") private TimeWindow timeWindow; + /** Column recording time, used for point-in-time joins, backfills, and aggregations. */ + @JsonProperty("timeseries_column") + private TimeseriesColumn timeseriesColumn; + public Feature setDescription(String description) { this.description = description; return this; @@ -67,6 +75,15 @@ public String getDescription() { return description; } + public Feature setEntities(Collection entities) { + this.entities = entities; + return this; + } + + public Collection getEntities() { + return entities; + } + public Feature setFilterCondition(String filterCondition) { this.filterCondition = filterCondition; return this; @@ -130,38 +147,52 @@ public TimeWindow getTimeWindow() { return timeWindow; } + public Feature setTimeseriesColumn(TimeseriesColumn timeseriesColumn) { + this.timeseriesColumn = timeseriesColumn; + return this; + } + + public TimeseriesColumn getTimeseriesColumn() { + return timeseriesColumn; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Feature that = (Feature) o; return Objects.equals(description, that.description) + && Objects.equals(entities, that.entities) && Objects.equals(filterCondition, that.filterCondition) && Objects.equals(fullName, that.fullName) && Objects.equals(function, that.function) && Objects.equals(inputs, that.inputs) && Objects.equals(lineageContext, that.lineageContext) && Objects.equals(source, that.source) - && Objects.equals(timeWindow, that.timeWindow); + && Objects.equals(timeWindow, that.timeWindow) + && Objects.equals(timeseriesColumn, that.timeseriesColumn); } @Override public int hashCode() { return Objects.hash( description, + entities, filterCondition, fullName, function, inputs, lineageContext, source, - timeWindow); + timeWindow, + timeseriesColumn); } @Override public String toString() { return new ToStringer(Feature.class) .add("description", description) + .add("entities", entities) .add("filterCondition", filterCondition) .add("fullName", fullName) .add("function", function) @@ -169,6 +200,7 @@ public String toString() { .add("lineageContext", lineageContext) .add("source", source) .add("timeWindow", timeWindow) + .add("timeseriesColumn", timeseriesColumn) .toString(); } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FirstFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FirstFunction.java new file mode 100755 index 000000000..89d43e6a7 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FirstFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Returns the first value. */ +@Generated +public class FirstFunction { + /** The input column from which the first value is returned. */ + @JsonProperty("input") + private String input; + + public FirstFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + FirstFunction that = (FirstFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(FirstFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Function.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Function.java index 6f9c89bca..46a667417 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Function.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/Function.java @@ -10,6 +10,10 @@ @Generated public class Function { + /** An aggregation function applied over a time window. */ + @JsonProperty("aggregation_function") + private AggregationFunction aggregationFunction; + /** * Deprecated: Use the function oneof with AggregationFunction instead. Kept for backwards * compatibility. Extra parameters for parameterized functions. @@ -24,6 +28,15 @@ public class Function { @JsonProperty("function_type") private FunctionFunctionType functionType; + public Function setAggregationFunction(AggregationFunction aggregationFunction) { + this.aggregationFunction = aggregationFunction; + return this; + } + + public AggregationFunction getAggregationFunction() { + return aggregationFunction; + } + public Function setExtraParameters(Collection extraParameters) { this.extraParameters = extraParameters; return this; @@ -47,18 +60,20 @@ public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Function that = (Function) o; - return Objects.equals(extraParameters, that.extraParameters) + return Objects.equals(aggregationFunction, that.aggregationFunction) + && Objects.equals(extraParameters, that.extraParameters) && Objects.equals(functionType, that.functionType); } @Override public int hashCode() { - return Objects.hash(extraParameters, functionType); + return Objects.hash(aggregationFunction, extraParameters, functionType); } @Override public String toString() { return new ToStringer(Function.class) + .add("aggregationFunction", aggregationFunction) .add("extraParameters", extraParameters) .add("functionType", functionType) .toString(); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaSource.java index 62b5fa168..20d3a3c75 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaSource.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/KafkaSource.java @@ -17,6 +17,10 @@ public class KafkaSource { @JsonProperty("entity_column_identifiers") private Collection entityColumnIdentifiers; + /** The filter condition applied to the source data before aggregation. */ + @JsonProperty("filter_condition") + private String filterCondition; + /** * Name of the Kafka source, used to identify it. This is used to look up the corresponding * KafkaConfig object. Can be distinct from topic name. @@ -41,6 +45,15 @@ public Collection getEntityColumnIdentifiers() { return entityColumnIdentifiers; } + public KafkaSource setFilterCondition(String filterCondition) { + this.filterCondition = filterCondition; + return this; + } + + public String getFilterCondition() { + return filterCondition; + } + public KafkaSource setName(String name) { this.name = name; return this; @@ -65,19 +78,21 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; KafkaSource that = (KafkaSource) o; return Objects.equals(entityColumnIdentifiers, that.entityColumnIdentifiers) + && Objects.equals(filterCondition, that.filterCondition) && Objects.equals(name, that.name) && Objects.equals(timeseriesColumnIdentifier, that.timeseriesColumnIdentifier); } @Override public int hashCode() { - return Objects.hash(entityColumnIdentifiers, name, timeseriesColumnIdentifier); + return Objects.hash(entityColumnIdentifiers, filterCondition, name, timeseriesColumnIdentifier); } @Override public String toString() { return new ToStringer(KafkaSource.class) .add("entityColumnIdentifiers", entityColumnIdentifiers) + .add("filterCondition", filterCondition) .add("name", name) .add("timeseriesColumnIdentifier", timeseriesColumnIdentifier) .toString(); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LastFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LastFunction.java new file mode 100755 index 000000000..dd09f25bf --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LastFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Returns the last value. */ +@Generated +public class LastFunction { + /** The input column from which the last value is returned. */ + @JsonProperty("input") + private String input; + + public LastFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + LastFunction that = (LastFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(LastFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaxFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaxFunction.java new file mode 100755 index 000000000..38f121991 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaxFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the maximum value. */ +@Generated +public class MaxFunction { + /** The input column from which the maximum is computed. */ + @JsonProperty("input") + private String input; + + public MaxFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MaxFunction that = (MaxFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(MaxFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MinFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MinFunction.java new file mode 100755 index 000000000..829dedda8 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MinFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the minimum value. */ +@Generated +public class MinFunction { + /** The input column from which the minimum is computed. */ + @JsonProperty("input") + private String input; + + public MinFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MinFunction that = (MinFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(MinFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java new file mode 100755 index 000000000..3d2d70b97 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevPopFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the population standard deviation. */ +@Generated +public class StddevPopFunction { + /** The input column from which the population standard deviation is computed. */ + @JsonProperty("input") + private String input; + + public StddevPopFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + StddevPopFunction that = (StddevPopFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(StddevPopFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevSampFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevSampFunction.java new file mode 100755 index 000000000..e2245cb2f --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/StddevSampFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the sample standard deviation. */ +@Generated +public class StddevSampFunction { + /** The input column from which the sample standard deviation is computed. */ + @JsonProperty("input") + private String input; + + public StddevSampFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + StddevSampFunction that = (StddevSampFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(StddevSampFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java new file mode 100755 index 000000000..13e7eb318 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SumFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the sum of values. */ +@Generated +public class SumFunction { + /** The input column from which the sum is computed. */ + @JsonProperty("input") + private String input; + + public SumFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SumFunction that = (SumFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(SumFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java new file mode 100755 index 000000000..7404855ce --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TimeseriesColumn.java @@ -0,0 +1,42 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class TimeseriesColumn { + /** The name of the timeseries column. */ + @JsonProperty("name") + private String name; + + public TimeseriesColumn 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; + TimeseriesColumn that = (TimeseriesColumn) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(TimeseriesColumn.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarPopFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarPopFunction.java new file mode 100755 index 000000000..9bf1d4ce4 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarPopFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the population variance. */ +@Generated +public class VarPopFunction { + /** The input column from which the population variance is computed. */ + @JsonProperty("input") + private String input; + + public VarPopFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VarPopFunction that = (VarPopFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(VarPopFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarSampFunction.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarSampFunction.java new file mode 100755 index 000000000..bf48233e7 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/VarSampFunction.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.ml; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** Computes the sample variance. */ +@Generated +public class VarSampFunction { + /** The input column from which the sample variance is computed. */ + @JsonProperty("input") + private String input; + + public VarSampFunction setInput(String input) { + this.input = input; + return this; + } + + public String getInput() { + return input; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + VarSampFunction that = (VarSampFunction) o; + return Objects.equals(input, that.input); + } + + @Override + public int hashCode() { + return Objects.hash(input); + } + + @Override + public String toString() { + return new ToStringer(VarSampFunction.class).add("input", input).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java index d2344fabf..f78d52d68 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java @@ -313,6 +313,12 @@ public UpdateProjectOperation updateProject(UpdateProjectRequest request) { return new UpdateProjectOperation(impl, operation); } + /** Update a role for a branch. */ + public UpdateRoleOperation updateRole(UpdateRoleRequest request) { + Operation operation = impl.updateRole(request); + return new UpdateRoleOperation(impl, operation); + } + public PostgresService impl() { return impl; } 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 b225c0d28..d0acc22af 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresImpl.java @@ -467,4 +467,22 @@ public Operation updateProject(UpdateProjectRequest request) { throw new DatabricksException("IO error: " + e.getMessage(), e); } } + + @Override + public Operation updateRole(UpdateRoleRequest request) { + String path = String.format("/api/2.0/postgres/%s", request.getName()); + try { + Request req = new Request("PATCH", path, apiClient.serialize(request.getRole())); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Operation.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } } 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 d2577bd81..6de73ad6d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresService.java @@ -123,4 +123,7 @@ DatabaseCredential generateDatabaseCredential( /** Updates the specified database project. */ Operation updateProject(UpdateProjectRequest updateProjectRequest); + + /** Update a role for a branch. */ + Operation updateRole(UpdateRoleRequest updateRoleRequest); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RoleRoleStatus.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RoleRoleStatus.java index 5c1a4fa7a..abb3d9ea0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RoleRoleStatus.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/RoleRoleStatus.java @@ -10,6 +10,10 @@ @Generated public class RoleRoleStatus { + /** The PG role attributes associated with the role. */ + @JsonProperty("attributes") + private RoleAttributes attributes; + /** */ @JsonProperty("auth_method") private RoleAuthMethod authMethod; @@ -26,6 +30,15 @@ public class RoleRoleStatus { @JsonProperty("postgres_role") private String postgresRole; + public RoleRoleStatus setAttributes(RoleAttributes attributes) { + this.attributes = attributes; + return this; + } + + public RoleAttributes getAttributes() { + return attributes; + } + public RoleRoleStatus setAuthMethod(RoleAuthMethod authMethod) { this.authMethod = authMethod; return this; @@ -67,7 +80,8 @@ public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; RoleRoleStatus that = (RoleRoleStatus) o; - return Objects.equals(authMethod, that.authMethod) + return Objects.equals(attributes, that.attributes) + && Objects.equals(authMethod, that.authMethod) && Objects.equals(identityType, that.identityType) && Objects.equals(membershipRoles, that.membershipRoles) && Objects.equals(postgresRole, that.postgresRole); @@ -75,12 +89,13 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(authMethod, identityType, membershipRoles, postgresRole); + return Objects.hash(attributes, authMethod, identityType, membershipRoles, postgresRole); } @Override public String toString() { return new ToStringer(RoleRoleStatus.class) + .add("attributes", attributes) .add("authMethod", authMethod) .add("identityType", identityType) .add("membershipRoles", membershipRoles) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleOperation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleOperation.java new file mode 100755 index 000000000..57f9b2d25 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleOperation.java @@ -0,0 +1,161 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.postgres; + +import com.databricks.sdk.core.DatabricksException; +import com.databricks.sdk.core.utils.SerDeUtils; +import com.databricks.sdk.service.common.lro.LroOptions; +import com.databricks.sdk.support.Generated; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.Duration; +import java.util.Optional; +import java.util.concurrent.TimeoutException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Wrapper for interacting with a long-running updateRole operation. Provides methods to wait for + * completion, check status, cancel, and access metadata. + */ +@Generated +public class UpdateRoleOperation { + private static final Logger LOG = LoggerFactory.getLogger(UpdateRoleOperation.class); + + private final PostgresService impl; + private Operation operation; + private final ObjectMapper objectMapper; + + public UpdateRoleOperation(PostgresService impl, Operation operation) { + this.impl = impl; + this.operation = operation; + this.objectMapper = SerDeUtils.createMapper(); + } + + /** + * Wait for the operation to complete and return the resulting Role. Waits indefinitely if no + * timeout is specified. + * + * @return the created Role + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public Role waitForCompletion() throws TimeoutException { + return waitForCompletion(Optional.empty()); + } + + /** + * Wait for the operation to complete and return the resulting Role. + * + * @param options the options for configuring the wait behavior, can be empty for defaults + * @return the created Role + * @throws TimeoutException if the operation doesn't complete within the timeout + * @throws DatabricksException if the operation fails + */ + public Role waitForCompletion(Optional options) throws TimeoutException { + Optional timeout = options.flatMap(LroOptions::getTimeout); + long deadline = + timeout.isPresent() + ? System.currentTimeMillis() + timeout.get().toMillis() + : Long.MAX_VALUE; + String statusMessage = "polling operation..."; + int attempt = 1; + + while (System.currentTimeMillis() < deadline) { + // Refresh the operation state + refreshOperation(); + + if (operation.getDone() != null && operation.getDone()) { + // Operation completed, check for success or failure + if (operation.getError() != null) { + String errorMsg = "unknown error"; + if (operation.getError().getMessage() != null + && !operation.getError().getMessage().isEmpty()) { + errorMsg = operation.getError().getMessage(); + } + + if (operation.getError().getErrorCode() != null) { + errorMsg = String.format("[%s] %s", operation.getError().getErrorCode(), errorMsg); + } + + throw new DatabricksException("Operation failed: " + errorMsg); + } + + // Operation completed successfully, unmarshal response + if (operation.getResponse() == null) { + throw new DatabricksException("Operation completed but no response available"); + } + + try { + JsonNode responseJson = objectMapper.valueToTree(operation.getResponse()); + return objectMapper.treeToValue(responseJson, Role.class); + } catch (JsonProcessingException e) { + throw new DatabricksException("Failed to unmarshal role response: " + e.getMessage(), e); + } + } + + // Operation still in progress, wait before polling again + String prefix = String.format("operation=%s", operation.getName()); + int sleep = Math.min(attempt, 10); // sleep 10s max per attempt + LOG.info("{}: operation in progress (sleeping ~{}s)", prefix, sleep); + + try { + Thread.sleep((long) (sleep * 1000L + Math.random() * 1000)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new DatabricksException("Current thread was interrupted", e); + } + attempt++; + } + + String timeoutMessage = + timeout.isPresent() + ? String.format("Operation timed out after %s: %s", timeout.get(), statusMessage) + : String.format("Operation timed out: %s", statusMessage); + throw new TimeoutException(timeoutMessage); + } + + /** + * Get the operation name. + * + * @return the operation name + */ + public String getName() { + return operation.getName(); + } + + /** + * Get the operation metadata. + * + * @return the operation metadata, or null if not available + * @throws DatabricksException if the metadata cannot be deserialized + */ + public RoleOperationMetadata getMetadata() { + if (operation.getMetadata() == null) { + return null; + } + + try { + JsonNode metadataJson = objectMapper.valueToTree(operation.getMetadata()); + return objectMapper.treeToValue(metadataJson, RoleOperationMetadata.class); + } catch (JsonProcessingException e) { + throw new DatabricksException("Failed to unmarshal operation metadata: " + e.getMessage(), e); + } + } + + /** + * Check if the operation is done. This method refreshes the operation state before checking. + * + * @return true if the operation is complete, false otherwise + * @throws DatabricksException if the status check fails + */ + public boolean isDone() { + refreshOperation(); + return operation.getDone() != null && operation.getDone(); + } + + /** Refresh the operation state by polling the server. */ + private void refreshOperation() { + operation = impl.getOperation(new GetOperationRequest().setName(operation.getName())); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleRequest.java new file mode 100755 index 000000000..9249a2f37 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/UpdateRoleRequest.java @@ -0,0 +1,88 @@ +// 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.QueryParam; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.FieldMask; +import java.util.Objects; + +@Generated +public class UpdateRoleRequest { + /** + * Output only. The full resource path of the role. Format: + * projects/{project_id}/branches/{branch_id}/roles/{role_id} + */ + @JsonIgnore private String name; + + /** + * The Postgres Role to update. + * + *

The role's `name` field is used to identify the role to update. Format: + * projects/{project_id}/branches/{branch_id}/roles/{role_id} + */ + @JsonProperty("role") + private Role role; + + /** + * The list of fields to update in Postgres Role. If unspecified, all fields will be updated when + * possible. + */ + @JsonIgnore + @QueryParam("update_mask") + private FieldMask updateMask; + + public UpdateRoleRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public UpdateRoleRequest setRole(Role role) { + this.role = role; + return this; + } + + public Role getRole() { + return role; + } + + public UpdateRoleRequest setUpdateMask(FieldMask updateMask) { + this.updateMask = updateMask; + return this; + } + + public FieldMask getUpdateMask() { + return updateMask; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + UpdateRoleRequest that = (UpdateRoleRequest) o; + return Objects.equals(name, that.name) + && Objects.equals(role, that.role) + && Objects.equals(updateMask, that.updateMask); + } + + @Override + public int hashCode() { + return Objects.hash(name, role, updateMask); + } + + @Override + public String toString() { + return new ToStringer(UpdateRoleRequest.class) + .add("name", name) + .add("role", role) + .add("updateMask", updateMask) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWorkspaceWarehouseConfigResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWorkspaceWarehouseConfigResponse.java index 50913917d..a7d3b787a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWorkspaceWarehouseConfigResponse.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/GetWorkspaceWarehouseConfigResponse.java @@ -25,7 +25,7 @@ public class GetWorkspaceWarehouseConfigResponse { @JsonProperty("data_access_config") private Collection dataAccessConfig; - /** Enable Serverless compute for SQL warehouses */ + /** Deprecated: only setting this to true is allowed. */ @JsonProperty("enable_serverless_compute") private Boolean enableServerlessCompute; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SetWorkspaceWarehouseConfigRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SetWorkspaceWarehouseConfigRequest.java index 9a19ee96b..b2018a461 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SetWorkspaceWarehouseConfigRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/SetWorkspaceWarehouseConfigRequest.java @@ -31,7 +31,7 @@ public class SetWorkspaceWarehouseConfigRequest { @JsonProperty("data_access_config") private Collection dataAccessConfig; - /** Enable Serverless compute for SQL warehouses */ + /** Deprecated: only setting this to true is allowed. */ @JsonProperty("enable_serverless_compute") private Boolean enableServerlessCompute;