diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 2cc1f0bd8..41815c7b2 100755 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -c3a1161e432b5db5ec2669b0a855be7cca3a81d6 \ No newline at end of file +9e2277ca39349a689e18d226f2d6abff7964be1c \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 9fad2a72b..ccd8930d4 100755 --- a/.gitattributes +++ b/.gitattributes @@ -1928,6 +1928,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetModelTagReque databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetModelVersionTagRequest.java linguist-generated=true 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/SqlTransformation.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/SubscriptionMode.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/TestRegistryWebhookRequest.java linguist-generated=true @@ -1955,6 +1956,18 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/UpdateRunRespons 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/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 +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/DeleteEndpointRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/Endpoint.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointState.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointUseCase.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsImpl.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/GetEndpointRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyService.java linguist-generated=true diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md old mode 100644 new mode 100755 index 45c83110d..66c5f29a4 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -13,3 +13,6 @@ ### Internal Changes ### API Changes +* Add `com.databricks.sdk.service.networking` package. +* Add `accountClient.endpoints()` service. +* Add `filterCondition` and `transformations` fields for `com.databricks.sdk.service.ml.DeltaTableSource`. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java index b1f503258..f20ce2df3 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java @@ -41,6 +41,8 @@ import com.databricks.sdk.service.iam.WorkspaceAssignmentService; import com.databricks.sdk.service.iamv2.AccountIamV2API; import com.databricks.sdk.service.iamv2.AccountIamV2Service; +import com.databricks.sdk.service.networking.EndpointsAPI; +import com.databricks.sdk.service.networking.EndpointsService; import com.databricks.sdk.service.oauth2.AccountFederationPolicyAPI; import com.databricks.sdk.service.oauth2.AccountFederationPolicyService; import com.databricks.sdk.service.oauth2.CustomAppIntegrationAPI; @@ -95,6 +97,7 @@ public class AccountClient { private CredentialsAPI credentialsAPI; private CustomAppIntegrationAPI customAppIntegrationAPI; private EncryptionKeysAPI encryptionKeysAPI; + private EndpointsAPI endpointsAPI; private AccountFederationPolicyAPI federationPolicyAPI; private AccountGroupsV2API groupsV2API; private AccountIamV2API iamV2API; @@ -140,6 +143,7 @@ public AccountClient(DatabricksConfig config) { credentialsAPI = new CredentialsAPI(apiClient); customAppIntegrationAPI = new CustomAppIntegrationAPI(apiClient); encryptionKeysAPI = new EncryptionKeysAPI(apiClient); + endpointsAPI = new EndpointsAPI(apiClient); federationPolicyAPI = new AccountFederationPolicyAPI(apiClient); groupsV2API = new AccountGroupsV2API(apiClient); iamV2API = new AccountIamV2API(apiClient); @@ -246,6 +250,11 @@ public EncryptionKeysAPI encryptionKeys() { return encryptionKeysAPI; } + /** These APIs manage endpoint configurations for this account. */ + public EndpointsAPI endpoints() { + return endpointsAPI; + } + /** * These APIs manage account federation policies. * @@ -760,6 +769,17 @@ public AccountClient withEncryptionKeysAPI(EncryptionKeysAPI encryptionKeys) { return this; } + /** Replace the default EndpointsService with a custom implementation. */ + public AccountClient withEndpointsImpl(EndpointsService endpoints) { + return this.withEndpointsAPI(new EndpointsAPI(endpoints)); + } + + /** Replace the default EndpointsAPI with a custom implementation. */ + public AccountClient withEndpointsAPI(EndpointsAPI endpoints) { + this.endpointsAPI = endpoints; + return this; + } + /** Replace the default AccountFederationPolicyService with a custom implementation. */ public AccountClient withFederationPolicyImpl( AccountFederationPolicyService accountFederationPolicy) { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/ListDatabaseInstancesRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/ListDatabaseInstancesRequest.java index 6e90930f4..8fe0c3652 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/ListDatabaseInstancesRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/ListDatabaseInstancesRequest.java @@ -10,7 +10,7 @@ @Generated public class ListDatabaseInstancesRequest { - /** Upper bound for items returned. */ + /** Upper bound for items returned. The maximum value is 100. */ @JsonIgnore @QueryParam("page_size") private Long pageSize; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeltaTableSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeltaTableSource.java index 1c2130436..eb543980a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeltaTableSource.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeltaTableSource.java @@ -14,6 +14,13 @@ public class DeltaTableSource { @JsonProperty("entity_columns") private Collection entityColumns; + /** + * Single WHERE clause to filter delta table before applying transformations. Will be row-wise + * evaluated, so should only include conditionals and projections. + */ + @JsonProperty("filter_condition") + private String filterCondition; + /** The full three-part (catalog, schema, table) name of the Delta table. */ @JsonProperty("full_name") private String fullName; @@ -22,6 +29,10 @@ public class DeltaTableSource { @JsonProperty("timeseries_column") private String timeseriesColumn; + /** A series of SQL transformations which forms a DAG (think SQL SELECT). */ + @JsonProperty("transformations") + private Collection transformations; + public DeltaTableSource setEntityColumns(Collection entityColumns) { this.entityColumns = entityColumns; return this; @@ -31,6 +42,15 @@ public Collection getEntityColumns() { return entityColumns; } + public DeltaTableSource setFilterCondition(String filterCondition) { + this.filterCondition = filterCondition; + return this; + } + + public String getFilterCondition() { + return filterCondition; + } + public DeltaTableSource setFullName(String fullName) { this.fullName = fullName; return this; @@ -49,27 +69,41 @@ public String getTimeseriesColumn() { return timeseriesColumn; } + public DeltaTableSource setTransformations(Collection transformations) { + this.transformations = transformations; + return this; + } + + public Collection getTransformations() { + return transformations; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DeltaTableSource that = (DeltaTableSource) o; return Objects.equals(entityColumns, that.entityColumns) + && Objects.equals(filterCondition, that.filterCondition) && Objects.equals(fullName, that.fullName) - && Objects.equals(timeseriesColumn, that.timeseriesColumn); + && Objects.equals(timeseriesColumn, that.timeseriesColumn) + && Objects.equals(transformations, that.transformations); } @Override public int hashCode() { - return Objects.hash(entityColumns, fullName, timeseriesColumn); + return Objects.hash( + entityColumns, filterCondition, fullName, timeseriesColumn, transformations); } @Override public String toString() { return new ToStringer(DeltaTableSource.class) .add("entityColumns", entityColumns) + .add("filterCondition", filterCondition) .add("fullName", fullName) .add("timeseriesColumn", timeseriesColumn) + .add("transformations", transformations) .toString(); } } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SqlTransformation.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SqlTransformation.java new file mode 100755 index 000000000..41428f081 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SqlTransformation.java @@ -0,0 +1,61 @@ +// 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 SqlTransformation { + /** The alias of the output column. */ + @JsonProperty("output_alias") + private String outputAlias; + + /** + * The SQL expression to evaluate. Will be row-wise evaluated (no aggregations). Conditionals and + * projections are supported. + */ + @JsonProperty("sql") + private String sql; + + public SqlTransformation setOutputAlias(String outputAlias) { + this.outputAlias = outputAlias; + return this; + } + + public String getOutputAlias() { + return outputAlias; + } + + public SqlTransformation setSql(String sql) { + this.sql = sql; + return this; + } + + public String getSql() { + return sql; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SqlTransformation that = (SqlTransformation) o; + return Objects.equals(outputAlias, that.outputAlias) && Objects.equals(sql, that.sql); + } + + @Override + public int hashCode() { + return Objects.hash(outputAlias, sql); + } + + @Override + public String toString() { + return new ToStringer(SqlTransformation.class) + .add("outputAlias", outputAlias) + .add("sql", sql) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/AzurePrivateEndpointInfo.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/AzurePrivateEndpointInfo.java new file mode 100755 index 000000000..6d2b685ae --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/AzurePrivateEndpointInfo.java @@ -0,0 +1,99 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +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 AzurePrivateEndpointInfo { + /** The name of the Private Endpoint in the Azure subscription. */ + @JsonProperty("private_endpoint_name") + private String privateEndpointName; + + /** + * The GUID of the Private Endpoint resource in the Azure subscription. This is assigned by Azure + * when the user sets up the Private Endpoint. + */ + @JsonProperty("private_endpoint_resource_guid") + private String privateEndpointResourceGuid; + + /** The full resource ID of the Private Endpoint. */ + @JsonProperty("private_endpoint_resource_id") + private String privateEndpointResourceId; + + /** + * The resource ID of the Databricks Private Link Service that this Private Endpoint connects to. + */ + @JsonProperty("private_link_service_id") + private String privateLinkServiceId; + + public AzurePrivateEndpointInfo setPrivateEndpointName(String privateEndpointName) { + this.privateEndpointName = privateEndpointName; + return this; + } + + public String getPrivateEndpointName() { + return privateEndpointName; + } + + public AzurePrivateEndpointInfo setPrivateEndpointResourceGuid( + String privateEndpointResourceGuid) { + this.privateEndpointResourceGuid = privateEndpointResourceGuid; + return this; + } + + public String getPrivateEndpointResourceGuid() { + return privateEndpointResourceGuid; + } + + public AzurePrivateEndpointInfo setPrivateEndpointResourceId(String privateEndpointResourceId) { + this.privateEndpointResourceId = privateEndpointResourceId; + return this; + } + + public String getPrivateEndpointResourceId() { + return privateEndpointResourceId; + } + + public AzurePrivateEndpointInfo setPrivateLinkServiceId(String privateLinkServiceId) { + this.privateLinkServiceId = privateLinkServiceId; + return this; + } + + public String getPrivateLinkServiceId() { + return privateLinkServiceId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AzurePrivateEndpointInfo that = (AzurePrivateEndpointInfo) o; + return Objects.equals(privateEndpointName, that.privateEndpointName) + && Objects.equals(privateEndpointResourceGuid, that.privateEndpointResourceGuid) + && Objects.equals(privateEndpointResourceId, that.privateEndpointResourceId) + && Objects.equals(privateLinkServiceId, that.privateLinkServiceId); + } + + @Override + public int hashCode() { + return Objects.hash( + privateEndpointName, + privateEndpointResourceGuid, + privateEndpointResourceId, + privateLinkServiceId); + } + + @Override + public String toString() { + return new ToStringer(AzurePrivateEndpointInfo.class) + .add("privateEndpointName", privateEndpointName) + .add("privateEndpointResourceGuid", privateEndpointResourceGuid) + .add("privateEndpointResourceId", privateEndpointResourceId) + .add("privateLinkServiceId", privateLinkServiceId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/CreateEndpointRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/CreateEndpointRequest.java new file mode 100755 index 000000000..bfe97984e --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/CreateEndpointRequest.java @@ -0,0 +1,58 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CreateEndpointRequest { + /** */ + @JsonProperty("endpoint") + private Endpoint endpoint; + + /** */ + @JsonIgnore private String parent; + + public CreateEndpointRequest setEndpoint(Endpoint endpoint) { + this.endpoint = endpoint; + return this; + } + + public Endpoint getEndpoint() { + return endpoint; + } + + public CreateEndpointRequest setParent(String parent) { + this.parent = parent; + return this; + } + + public String getParent() { + return parent; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CreateEndpointRequest that = (CreateEndpointRequest) o; + return Objects.equals(endpoint, that.endpoint) && Objects.equals(parent, that.parent); + } + + @Override + public int hashCode() { + return Objects.hash(endpoint, parent); + } + + @Override + public String toString() { + return new ToStringer(CreateEndpointRequest.class) + .add("endpoint", endpoint) + .add("parent", parent) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/DeleteEndpointRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/DeleteEndpointRequest.java new file mode 100755 index 000000000..46e605420 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/DeleteEndpointRequest.java @@ -0,0 +1,41 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +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 DeleteEndpointRequest { + /** */ + @JsonIgnore private String name; + + public DeleteEndpointRequest 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; + DeleteEndpointRequest that = (DeleteEndpointRequest) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(DeleteEndpointRequest.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/Endpoint.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/Endpoint.java new file mode 100755 index 000000000..b8d575982 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/Endpoint.java @@ -0,0 +1,192 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.Timestamp; +import java.util.Objects; + +/** + * Endpoint represents a cloud networking resource in a user's cloud account and binds it to the + * Databricks account. + */ +@Generated +public class Endpoint { + /** The Databricks Account in which the endpoint object exists. */ + @JsonProperty("account_id") + private String accountId; + + /** Info for an Azure private endpoint. */ + @JsonProperty("azure_private_endpoint_info") + private AzurePrivateEndpointInfo azurePrivateEndpointInfo; + + /** + * The timestamp when the endpoint was created. The timestamp is in RFC 3339 format in UTC + * timezone. + */ + @JsonProperty("create_time") + private Timestamp createTime; + + /** + * The human-readable display name of this endpoint. The input should conform to RFC-1034, which + * restricts to letters, numbers, and hyphens, with the first character a letter, the last a + * letter or a number, and a 63 character maximum. + */ + @JsonProperty("display_name") + private String displayName; + + /** + * The unique identifier for this endpoint under the account. This field is a UUID generated by + * Databricks. + */ + @JsonProperty("endpoint_id") + private String endpointId; + + /** The resource name of the endpoint, which uniquely identifies the endpoint. */ + @JsonProperty("name") + private String name; + + /** The cloud provider region where this endpoint is located. */ + @JsonProperty("region") + private String region; + + /** The state of the endpoint. The endpoint can only be used if the state is `APPROVED`. */ + @JsonProperty("state") + private EndpointState state; + + /** + * The use case that determines the type of network connectivity this endpoint provides. This + * field is automatically determined based on the endpoint configuration and cloud-specific + * settings. + */ + @JsonProperty("use_case") + private EndpointUseCase useCase; + + public Endpoint setAccountId(String accountId) { + this.accountId = accountId; + return this; + } + + public String getAccountId() { + return accountId; + } + + public Endpoint setAzurePrivateEndpointInfo(AzurePrivateEndpointInfo azurePrivateEndpointInfo) { + this.azurePrivateEndpointInfo = azurePrivateEndpointInfo; + return this; + } + + public AzurePrivateEndpointInfo getAzurePrivateEndpointInfo() { + return azurePrivateEndpointInfo; + } + + public Endpoint setCreateTime(Timestamp createTime) { + this.createTime = createTime; + return this; + } + + public Timestamp getCreateTime() { + return createTime; + } + + public Endpoint setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + public String getDisplayName() { + return displayName; + } + + public Endpoint setEndpointId(String endpointId) { + this.endpointId = endpointId; + return this; + } + + public String getEndpointId() { + return endpointId; + } + + public Endpoint setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public Endpoint setRegion(String region) { + this.region = region; + return this; + } + + public String getRegion() { + return region; + } + + public Endpoint setState(EndpointState state) { + this.state = state; + return this; + } + + public EndpointState getState() { + return state; + } + + public Endpoint setUseCase(EndpointUseCase useCase) { + this.useCase = useCase; + return this; + } + + public EndpointUseCase getUseCase() { + return useCase; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Endpoint that = (Endpoint) o; + return Objects.equals(accountId, that.accountId) + && Objects.equals(azurePrivateEndpointInfo, that.azurePrivateEndpointInfo) + && Objects.equals(createTime, that.createTime) + && Objects.equals(displayName, that.displayName) + && Objects.equals(endpointId, that.endpointId) + && Objects.equals(name, that.name) + && Objects.equals(region, that.region) + && Objects.equals(state, that.state) + && Objects.equals(useCase, that.useCase); + } + + @Override + public int hashCode() { + return Objects.hash( + accountId, + azurePrivateEndpointInfo, + createTime, + displayName, + endpointId, + name, + region, + state, + useCase); + } + + @Override + public String toString() { + return new ToStringer(Endpoint.class) + .add("accountId", accountId) + .add("azurePrivateEndpointInfo", azurePrivateEndpointInfo) + .add("createTime", createTime) + .add("displayName", displayName) + .add("endpointId", endpointId) + .add("name", name) + .add("region", region) + .add("state", state) + .add("useCase", useCase) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointState.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointState.java new file mode 100755 index 000000000..516fe4b54 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointState.java @@ -0,0 +1,13 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.support.Generated; + +@Generated +public enum EndpointState { + APPROVED, + DISCONNECTED, + FAILED, + PENDING, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointUseCase.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointUseCase.java new file mode 100755 index 000000000..55682d48f --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointUseCase.java @@ -0,0 +1,10 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.support.Generated; + +@Generated +public enum EndpointUseCase { + SERVICE_DIRECT, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java new file mode 100755 index 000000000..25b926e50 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java @@ -0,0 +1,85 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.core.ApiClient; +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.Paginator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** These APIs manage endpoint configurations for this account. */ +@Generated +public class EndpointsAPI { + private static final Logger LOG = LoggerFactory.getLogger(EndpointsAPI.class); + + private final EndpointsService impl; + + /** Regular-use constructor */ + public EndpointsAPI(ApiClient apiClient) { + impl = new EndpointsImpl(apiClient); + } + + /** Constructor for mocks */ + public EndpointsAPI(EndpointsService mock) { + impl = mock; + } + + /** + * Creates a new network connectivity endpoint that enables private connectivity between your + * network resources and Databricks services. + * + *

After creation, the endpoint is initially in the PENDING state. The Databricks endpoint + * service automatically reviews and approves the endpoint within a few minutes. Use the GET + * method to retrieve the latest endpoint state. + * + *

An endpoint can be used only after it reaches the APPROVED state. + */ + public Endpoint createEndpoint(CreateEndpointRequest request) { + return impl.createEndpoint(request); + } + + public void deleteEndpoint(String name) { + deleteEndpoint(new DeleteEndpointRequest().setName(name)); + } + + /** + * Deletes a network endpoint. This will remove the endpoint configuration from Databricks. + * Depending on the endpoint type and use case, you may also need to delete corresponding network + * resources in your cloud provider account. + */ + public void deleteEndpoint(DeleteEndpointRequest request) { + impl.deleteEndpoint(request); + } + + public Endpoint getEndpoint(String name) { + return getEndpoint(new GetEndpointRequest().setName(name)); + } + + /** Gets details of a specific network endpoint. */ + public Endpoint getEndpoint(GetEndpointRequest request) { + return impl.getEndpoint(request); + } + + public Iterable listEndpoints(String parent) { + return listEndpoints(new ListEndpointsRequest().setParent(parent)); + } + + /** Lists all network connectivity endpoints for the account. */ + public Iterable listEndpoints(ListEndpointsRequest request) { + return new Paginator<>( + request, + impl::listEndpoints, + ListEndpointsResponse::getItems, + response -> { + String token = response.getNextPageToken(); + if (token == null || token.isEmpty()) { + return null; + } + return request.setPageToken(token); + }); + } + + public EndpointsService impl() { + return impl; + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsImpl.java new file mode 100755 index 000000000..3bca33fd6 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsImpl.java @@ -0,0 +1,75 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.core.ApiClient; +import com.databricks.sdk.core.DatabricksException; +import com.databricks.sdk.core.http.Request; +import com.databricks.sdk.support.Generated; +import java.io.IOException; + +/** Package-local implementation of Endpoints */ +@Generated +class EndpointsImpl implements EndpointsService { + private final ApiClient apiClient; + + public EndpointsImpl(ApiClient apiClient) { + this.apiClient = apiClient; + } + + @Override + public Endpoint createEndpoint(CreateEndpointRequest request) { + String path = String.format("/api/networking/v1/%s/endpoints", request.getParent()); + try { + Request req = new Request("POST", path, apiClient.serialize(request.getEndpoint())); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + return apiClient.execute(req, Endpoint.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public void deleteEndpoint(DeleteEndpointRequest request) { + String path = String.format("/api/networking/v1/%s", request.getName()); + try { + Request req = new Request("DELETE", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + apiClient.execute(req, Void.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public Endpoint getEndpoint(GetEndpointRequest request) { + String path = String.format("/api/networking/v1/%s", request.getName()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + return apiClient.execute(req, Endpoint.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public ListEndpointsResponse listEndpoints(ListEndpointsRequest request) { + String path = String.format("/api/networking/v1/%s/endpoints", request.getParent()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + return apiClient.execute(req, ListEndpointsResponse.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/networking/EndpointsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsService.java new file mode 100755 index 000000000..903b53cdc --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsService.java @@ -0,0 +1,39 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.support.Generated; + +/** + * These APIs manage endpoint configurations for this account. + * + *

This is the high-level interface, that contains generated methods. + * + *

Evolving: this interface is under development. Method signatures may change. + */ +@Generated +public interface EndpointsService { + /** + * Creates a new network connectivity endpoint that enables private connectivity between your + * network resources and Databricks services. + * + *

After creation, the endpoint is initially in the PENDING state. The Databricks endpoint + * service automatically reviews and approves the endpoint within a few minutes. Use the GET + * method to retrieve the latest endpoint state. + * + *

An endpoint can be used only after it reaches the APPROVED state. + */ + Endpoint createEndpoint(CreateEndpointRequest createEndpointRequest); + + /** + * Deletes a network endpoint. This will remove the endpoint configuration from Databricks. + * Depending on the endpoint type and use case, you may also need to delete corresponding network + * resources in your cloud provider account. + */ + void deleteEndpoint(DeleteEndpointRequest deleteEndpointRequest); + + /** Gets details of a specific network endpoint. */ + Endpoint getEndpoint(GetEndpointRequest getEndpointRequest); + + /** Lists all network connectivity endpoints for the account. */ + ListEndpointsResponse listEndpoints(ListEndpointsRequest listEndpointsRequest); +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/GetEndpointRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/GetEndpointRequest.java new file mode 100755 index 000000000..3e65a6a5c --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/GetEndpointRequest.java @@ -0,0 +1,41 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +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 GetEndpointRequest { + /** */ + @JsonIgnore private String name; + + public GetEndpointRequest 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; + GetEndpointRequest that = (GetEndpointRequest) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(GetEndpointRequest.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsRequest.java new file mode 100755 index 000000000..9e529b595 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsRequest.java @@ -0,0 +1,76 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.QueryParam; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class ListEndpointsRequest { + /** */ + @JsonIgnore + @QueryParam("page_size") + private Long pageSize; + + /** */ + @JsonIgnore + @QueryParam("page_token") + private String pageToken; + + /** */ + @JsonIgnore private String parent; + + public ListEndpointsRequest setPageSize(Long pageSize) { + this.pageSize = pageSize; + return this; + } + + public Long getPageSize() { + return pageSize; + } + + public ListEndpointsRequest setPageToken(String pageToken) { + this.pageToken = pageToken; + return this; + } + + public String getPageToken() { + return pageToken; + } + + public ListEndpointsRequest setParent(String parent) { + this.parent = parent; + return this; + } + + public String getParent() { + return parent; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ListEndpointsRequest that = (ListEndpointsRequest) o; + return Objects.equals(pageSize, that.pageSize) + && Objects.equals(pageToken, that.pageToken) + && Objects.equals(parent, that.parent); + } + + @Override + public int hashCode() { + return Objects.hash(pageSize, pageToken, parent); + } + + @Override + public String toString() { + return new ToStringer(ListEndpointsRequest.class) + .add("pageSize", pageSize) + .add("pageToken", pageToken) + .add("parent", parent) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsResponse.java new file mode 100755 index 000000000..d6301c358 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/ListEndpointsResponse.java @@ -0,0 +1,59 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.networking; + +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 ListEndpointsResponse { + /** */ + @JsonProperty("items") + private Collection items; + + /** */ + @JsonProperty("next_page_token") + private String nextPageToken; + + public ListEndpointsResponse setItems(Collection items) { + this.items = items; + return this; + } + + public Collection getItems() { + return items; + } + + public ListEndpointsResponse setNextPageToken(String nextPageToken) { + this.nextPageToken = nextPageToken; + return this; + } + + public String getNextPageToken() { + return nextPageToken; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ListEndpointsResponse that = (ListEndpointsResponse) o; + return Objects.equals(items, that.items) && Objects.equals(nextPageToken, that.nextPageToken); + } + + @Override + public int hashCode() { + return Objects.hash(items, nextPageToken); + } + + @Override + public String toString() { + return new ToStringer(ListEndpointsResponse.class) + .add("items", items) + .add("nextPageToken", nextPageToken) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListProjectsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListProjectsRequest.java index e9302e992..7d9296f7e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListProjectsRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/ListProjectsRequest.java @@ -10,7 +10,7 @@ @Generated public class ListProjectsRequest { - /** Upper bound for items returned. Cannot be negative. */ + /** Upper bound for items returned. Cannot be negative. The maximum value is 100. */ @JsonIgnore @QueryParam("page_size") private Long pageSize;