diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 864d90a5f..3e6708180 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -6b2dbf5489ec706709fed80ee65caed7d10a2f38 \ No newline at end of file +2cee201b2e8d656f7306b2f9ec98edfa721e9829 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index c27c40bc7..067333c32 100755 --- a/.gitattributes +++ b/.gitattributes @@ -45,6 +45,9 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceSer databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceServingEndpointServingEndpointPermission.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceSqlWarehouse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceSqlWarehouseSqlWarehousePermission.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurable.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurablePermission.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurableType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/ApplicationState.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/ApplicationStatus.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsAPI.java linguist-generated=true @@ -170,10 +173,12 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsCredenti databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsIamRole.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsIamRoleRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsIamRoleResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsSqsQueue.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureActiveDirectoryToken.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureManagedIdentity.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureManagedIdentityRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureManagedIdentityResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureQueueStorage.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureServicePrincipal.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureUserDelegationSas.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CancelRefreshRequest.java linguist-generated=true @@ -282,6 +287,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLoc databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLocationsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLocationsService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FailedStatus.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FileEventQueue.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FindDatabaseInstanceByUidRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ForeignKeyConstraint.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionDependency.java linguist-generated=true @@ -298,6 +304,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsAP databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GcpOauthToken.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GcpPubsub.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GenerateTemporaryServiceCredentialAzureOptions.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GenerateTemporaryServiceCredentialGcpOptions.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/GenerateTemporaryServiceCredentialRequest.java linguist-generated=true @@ -541,6 +548,9 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoo databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetsService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomCollaborator.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookReview.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookReviewNotebookReviewState.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookReviewNotebookReviewSubReason.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookTaskRun.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomOutputCatalog.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomOutputCatalogOutputCatalogStatus.java linguist-generated=true @@ -1436,6 +1446,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateExperiment databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateExperimentResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateForecastingExperimentRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateForecastingExperimentResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateLoggedModelRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateLoggedModelResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateModelRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateModelResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/CreateModelVersionRequest.java linguist-generated=true @@ -1452,6 +1464,10 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteCommentReq databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteCommentResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteExperiment.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteExperimentResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteLoggedModelRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteLoggedModelResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteLoggedModelTagRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteLoggedModelTagResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteModelRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteModelResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/DeleteModelTagRequest.java linguist-generated=true @@ -1484,6 +1500,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.j databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java linguist-generated=true 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/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 @@ -1504,6 +1522,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetForecastingEx databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetHistoryRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLatestVersionsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLatestVersionsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetMetricHistoryResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetModelRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetModelResponse.java linguist-generated=true @@ -1525,6 +1545,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListArtifactsReq databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListArtifactsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListExperimentsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListExperimentsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListModelsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListModelsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListRegistryWebhooks.java linguist-generated=true @@ -1535,16 +1557,27 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogBatch.java li databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogBatchResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogInputs.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogInputsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogLoggedModelParamsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogLoggedModelParamsRequestResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogMetric.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogMetricResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogModel.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogModelResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogOutputsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogOutputsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogParam.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LogParamResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LoggedModel.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LoggedModelData.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LoggedModelInfo.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LoggedModelParameter.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LoggedModelStatus.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/LoggedModelTag.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/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 +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelOutput.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryService.java linguist-generated=true @@ -1583,6 +1616,10 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/RunInputs.java l databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/RunTag.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchExperiments.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchExperimentsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchLoggedModelsDataset.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchLoggedModelsOrderBy.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchLoggedModelsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchLoggedModelsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchModelVersionsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchModelVersionsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchModelsRequest.java linguist-generated=true @@ -1591,6 +1628,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchRuns.java databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SearchRunsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetExperimentTag.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetExperimentTagResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetLoggedModelTagsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetLoggedModelTagsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetModelTagRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetModelTagResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/SetModelVersionTagRequest.java linguist-generated=true @@ -1957,6 +1996,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpA databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountNetworkPolicy.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountSettingsAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountSettingsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountSettingsService.java linguist-generated=true @@ -1994,6 +2034,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateIpAc databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateIpAccessListResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateNetworkConnectivityConfigRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateNetworkConnectivityConfiguration.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateNetworkPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateNotificationDestinationRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateOboTokenRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CreateOboTokenResponse.java linguist-generated=true @@ -2033,6 +2074,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteLlmP databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteLlmProxyPartnerPoweredWorkspaceResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteNetworkConnectivityConfigurationRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteNetworkConnectivityConfigurationResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteNetworkPolicyRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteNetworkPolicyRpcResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeleteNotificationDestinationRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeletePersonalComputeSettingRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DeletePersonalComputeSettingResponse.java linguist-generated=true @@ -2065,6 +2108,15 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetw databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyInternetAccessPolicyRestrictionMode.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyInternetAccessPolicyStorageDestination.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyInternetAccessPolicyStorageDestinationStorageDestinationType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicy.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyInternetDestination.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyInternetDestinationInternetDestinationType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyPolicyEnforcement.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyPolicyEnforcementDryRunModeProductFilter.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyPolicyEnforcementEnforcementMode.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyRestrictionMode.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyStorageDestination.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicyStorageDestinationStorageDestinationType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressResourceType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EmailConfig.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/Empty.java linguist-generated=true @@ -2118,6 +2170,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetLlmProx databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetLlmProxyPartnerPoweredEnforceRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetLlmProxyPartnerPoweredWorkspaceRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetNetworkConnectivityConfigurationRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetNetworkPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetNotificationDestinationRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetPersonalComputeSettingRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetPrivateEndpointRuleRequest.java linguist-generated=true @@ -2126,6 +2179,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetStatusR databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetTokenManagementRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetTokenPermissionLevelsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetTokenResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/GetWorkspaceNetworkOptionRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListsAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListsImpl.java linguist-generated=true @@ -2134,6 +2188,8 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListIpAcce databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNccAzurePrivateEndpointRulesResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNetworkConnectivityConfigurationsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNetworkConnectivityConfigurationsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNetworkPoliciesRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNetworkPoliciesResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNotificationDestinationsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNotificationDestinationsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/ListNotificationDestinationsResult.java linguist-generated=true @@ -2166,6 +2222,10 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkCon databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityConfiguration.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesAPI.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesImpl.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestination.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestinationsAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestinationsImpl.java linguist-generated=true @@ -2230,19 +2290,27 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateLlmP databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateLlmProxyPartnerPoweredEnforceRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateLlmProxyPartnerPoweredWorkspaceRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateNccAzurePrivateEndpointRulePublicRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateNetworkPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateNotificationDestinationRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdatePersonalComputeSettingRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdatePrivateEndpointRule.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateRestrictWorkspaceAdminsSettingRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateWorkspaceNetworkOptionRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceConfAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceConfImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceConfService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationAPI.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationImpl.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkOption.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/AuthenticationType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ColumnTypeName.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateFederationPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateProvider.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateRecipient.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateShare.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteFederationPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteProviderRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteRecipientRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteResponse.java linguist-generated=true @@ -2252,18 +2320,22 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeltaSharin databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeltaSharingFunction.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeltaSharingFunctionDependency.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeltaSharingTableDependency.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FederationPolicy.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FunctionParameterInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FunctionParameterInfos.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FunctionParameterMode.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FunctionParameterType.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetActivationUrlInfoRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetActivationUrlInfoResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetFederationPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetProviderRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetRecipientRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetRecipientSharePermissionsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetSharePermissionsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetShareRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/IpAccessList.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListProviderShareAssetsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListProviderShareAssetsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListProviderSharesResponse.java linguist-generated=true @@ -2274,6 +2346,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListRecipie databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListSharesRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListSharesResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/NotebookFile.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/OidcFederationPolicy.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/Partition.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/PartitionValue.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/PartitionValueOp.java linguist-generated=true @@ -2288,6 +2361,9 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ProvidersSe databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientActivationAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientActivationImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientActivationService.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesAPI.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesImpl.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientInfo.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientProfile.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientTokenInfo.java linguist-generated=true @@ -2315,6 +2391,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesServi databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/Table.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/TableInternalAttributes.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/TableInternalAttributesSharedTableType.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateFederationPolicyRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateProvider.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateRecipient.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateShare.java linguist-generated=true diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 2fff09714..57a5274a0 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -12,3 +12,28 @@ * Added support for .cloud.databricks.mil domains ([#435](https://github.com/databricks/databricks-sdk-java/pull/435)). ### API Changes +* Added `accountClient.networkPolicies()` service and `accountClient.workspaceNetworkConfiguration()` service. +* Added `workspaceClient.recipientFederationPolicies()` service. +* Added `createLoggedModel()`, `deleteLoggedModel()`, `deleteLoggedModelTag()`, `finalizeLoggedModel()`, `getLoggedModel()`, `listLoggedModelArtifacts()`, `logLoggedModelParams()`, `logOutputs()`, `searchLoggedModels()` and `setLoggedModelTags()` methods for `workspaceClient.experiments()` service. +* Added `ucSecurable` field for `com.databricks.sdk.service.apps.AppResource`. +* Added `timeseriesColumns` field for `com.databricks.sdk.service.catalog.PrimaryKeyConstraint`. +* Added `reviewState`, `reviews` and `runnerCollaboratorAliases` fields for `com.databricks.sdk.service.cleanrooms.CleanRoomAssetNotebook`. +* Added `notebookEtag` and `notebookUpdatedAt` fields for `com.databricks.sdk.service.cleanrooms.CleanRoomNotebookTaskRun`. +* Added `rootPath` field for `com.databricks.sdk.service.pipelines.CreatePipeline`. +* Added `rootPath` field for `com.databricks.sdk.service.pipelines.EditPipeline`. +* Added `rootPath` field for `com.databricks.sdk.service.pipelines.PipelineSpec`. +* Added `materializationNamespace` field for `com.databricks.sdk.service.sharing.Table`. +* Added `omitPermissionsList` field for `com.databricks.sdk.service.sharing.UpdateSharePermissions`. +* Added `autoResolveDisplayName` field for `com.databricks.sdk.service.sql.UpdateAlertRequest`. +* Added `autoResolveDisplayName` field for `com.databricks.sdk.service.sql.UpdateQueryRequest`. +* Added `INTERNAL_CATALOG`, `MANAGED_ONLINE_CATALOG` and `UNKNOWN_CATALOG_TYPE` enum values for `com.databricks.sdk.service.catalog.CatalogType`. +* Added `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `UNKNOWN_SECURABLE_TYPE` and `VOLUME` enum values for `com.databricks.sdk.service.catalog.SecurableType`. +* [Breaking] Changed `securableType` field for `com.databricks.sdk.service.catalog.CatalogInfo` to type `com.databricks.sdk.service.catalog.SecurableType` class. +* Changed `etag` and `name` fields for `com.databricks.sdk.service.iam.RuleSetResponse` to be required. +* Added `enableFileEvents` and `fileEventQueue` fields for `com.databricks.sdk.service.catalog.CreateExternalLocation`. +* Added `enableFileEvents` and `fileEventQueue` fields for `com.databricks.sdk.service.catalog.ExternalLocationInfo`. +* Added `enableFileEvents` and `fileEventQueue` fields for `com.databricks.sdk.service.catalog.UpdateExternalLocation`. +* Added `policyId` and `servicePrincipalId` fields for `com.databricks.sdk.service.oauth2.FederationPolicy`. +* [Breaking] Removed `accessPoint` field for `com.databricks.sdk.service.catalog.CreateExternalLocation`. +* [Breaking] Removed `accessPoint` field for `com.databricks.sdk.service.catalog.ExternalLocationInfo`. +* [Breaking] Removed `accessPoint` field for `com.databricks.sdk.service.catalog.UpdateExternalLocation`. 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 85597b682..1c813a589 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 @@ -65,6 +65,10 @@ import com.databricks.sdk.service.settings.AccountSettingsService; import com.databricks.sdk.service.settings.NetworkConnectivityAPI; import com.databricks.sdk.service.settings.NetworkConnectivityService; +import com.databricks.sdk.service.settings.NetworkPoliciesAPI; +import com.databricks.sdk.service.settings.NetworkPoliciesService; +import com.databricks.sdk.service.settings.WorkspaceNetworkConfigurationAPI; +import com.databricks.sdk.service.settings.WorkspaceNetworkConfigurationService; import com.databricks.sdk.support.Generated; /** Entry point for accessing Databricks account-level APIs */ @@ -86,6 +90,7 @@ public class AccountClient { private AccountMetastoreAssignmentsAPI metastoreAssignmentsAPI; private AccountMetastoresAPI metastoresAPI; private NetworkConnectivityAPI networkConnectivityAPI; + private NetworkPoliciesAPI networkPoliciesAPI; private NetworksAPI networksAPI; private OAuthPublishedAppsAPI oAuthPublishedAppsAPI; private PrivateAccessAPI privateAccessAPI; @@ -100,6 +105,7 @@ public class AccountClient { private AccountUsersAPI usersAPI; private VpcEndpointsAPI vpcEndpointsAPI; private WorkspaceAssignmentAPI workspaceAssignmentAPI; + private WorkspaceNetworkConfigurationAPI workspaceNetworkConfigurationAPI; private WorkspacesAPI workspacesAPI; private BudgetsAPI budgetsAPI; @@ -124,6 +130,7 @@ public AccountClient(DatabricksConfig config) { metastoreAssignmentsAPI = new AccountMetastoreAssignmentsAPI(apiClient); metastoresAPI = new AccountMetastoresAPI(apiClient); networkConnectivityAPI = new NetworkConnectivityAPI(apiClient); + networkPoliciesAPI = new NetworkPoliciesAPI(apiClient); networksAPI = new NetworksAPI(apiClient); oAuthPublishedAppsAPI = new OAuthPublishedAppsAPI(apiClient); privateAccessAPI = new PrivateAccessAPI(apiClient); @@ -138,6 +145,7 @@ public AccountClient(DatabricksConfig config) { usersAPI = new AccountUsersAPI(apiClient); vpcEndpointsAPI = new VpcEndpointsAPI(apiClient); workspaceAssignmentAPI = new WorkspaceAssignmentAPI(apiClient); + workspaceNetworkConfigurationAPI = new WorkspaceNetworkConfigurationAPI(apiClient); workspacesAPI = new WorkspacesAPI(apiClient); budgetsAPI = new BudgetsAPI(apiClient); } @@ -384,6 +392,18 @@ public NetworkConnectivityAPI networkConnectivity() { return networkConnectivityAPI; } + /** + * These APIs manage network policies for this account. Network policies control which network + * destinations can be accessed from the Databricks environment. Each Databricks account includes + * a default policy named 'default-policy'. 'default-policy' is associated with any workspace + * lacking an explicit network policy assignment, and is automatically associated with each newly + * created workspace. 'default-policy' is reserved and cannot be deleted, but it can be updated to + * customize the default network access rules for your account. + */ + public NetworkPoliciesAPI networkPolicies() { + return networkPoliciesAPI; + } + /** * These APIs manage network configurations for customer-managed VPCs (optional). Its ID is used * when creating a new workspace if you use customer-managed VPCs. @@ -553,6 +573,17 @@ public WorkspaceAssignmentAPI workspaceAssignment() { return workspaceAssignmentAPI; } + /** + * These APIs allow configuration of network settings for Databricks workspaces. Each workspace is + * always associated with exactly one network policy that controls which network destinations can + * be accessed from the Databricks environment. By default, workspaces are associated with the + * 'default-policy' network policy. You cannot create or delete a workspace's network + * configuration, only update it to associate the workspace with a different policy. + */ + public WorkspaceNetworkConfigurationAPI workspaceNetworkConfiguration() { + return workspaceNetworkConfigurationAPI; + } + /** * These APIs manage workspaces for this account. A Databricks workspace is an environment for * accessing all of your Databricks assets. The workspace organizes objects (notebooks, libraries, @@ -723,6 +754,17 @@ public AccountClient withNetworkConnectivityAPI(NetworkConnectivityAPI networkCo return this; } + /** Replace the default NetworkPoliciesService with a custom implementation. */ + public AccountClient withNetworkPoliciesImpl(NetworkPoliciesService networkPolicies) { + return this.withNetworkPoliciesAPI(new NetworkPoliciesAPI(networkPolicies)); + } + + /** Replace the default NetworkPoliciesAPI with a custom implementation. */ + public AccountClient withNetworkPoliciesAPI(NetworkPoliciesAPI networkPolicies) { + this.networkPoliciesAPI = networkPolicies; + return this; + } + /** Replace the default NetworksService with a custom implementation. */ public AccountClient withNetworksImpl(NetworksService networks) { return this.withNetworksAPI(new NetworksAPI(networks)); @@ -891,6 +933,20 @@ public AccountClient withWorkspaceAssignmentAPI(WorkspaceAssignmentAPI workspace return this; } + /** Replace the default WorkspaceNetworkConfigurationService with a custom implementation. */ + public AccountClient withWorkspaceNetworkConfigurationImpl( + WorkspaceNetworkConfigurationService workspaceNetworkConfiguration) { + return this.withWorkspaceNetworkConfigurationAPI( + new WorkspaceNetworkConfigurationAPI(workspaceNetworkConfiguration)); + } + + /** Replace the default WorkspaceNetworkConfigurationAPI with a custom implementation. */ + public AccountClient withWorkspaceNetworkConfigurationAPI( + WorkspaceNetworkConfigurationAPI workspaceNetworkConfiguration) { + this.workspaceNetworkConfigurationAPI = workspaceNetworkConfiguration; + return this; + } + /** Replace the default WorkspacesService with a custom implementation. */ public AccountClient withWorkspacesImpl(WorkspacesService workspaces) { return this.withWorkspacesAPI(new WorkspacesAPI(workspaces)); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java index cc1c270b5..f6ae23552 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/WorkspaceClient.java @@ -160,6 +160,8 @@ import com.databricks.sdk.service.sharing.ProvidersService; import com.databricks.sdk.service.sharing.RecipientActivationAPI; import com.databricks.sdk.service.sharing.RecipientActivationService; +import com.databricks.sdk.service.sharing.RecipientFederationPoliciesAPI; +import com.databricks.sdk.service.sharing.RecipientFederationPoliciesService; import com.databricks.sdk.service.sharing.RecipientsAPI; import com.databricks.sdk.service.sharing.RecipientsService; import com.databricks.sdk.service.sharing.SharesAPI; @@ -285,6 +287,7 @@ public class WorkspaceClient { private QueryVisualizationsAPI queryVisualizationsAPI; private QueryVisualizationsLegacyAPI queryVisualizationsLegacyAPI; private RecipientActivationAPI recipientActivationAPI; + private RecipientFederationPoliciesAPI recipientFederationPoliciesAPI; private RecipientsAPI recipientsAPI; private RedashConfigAPI redashConfigAPI; private RegisteredModelsAPI registeredModelsAPI; @@ -394,6 +397,7 @@ public WorkspaceClient(DatabricksConfig config) { queryVisualizationsAPI = new QueryVisualizationsAPI(apiClient); queryVisualizationsLegacyAPI = new QueryVisualizationsLegacyAPI(apiClient); recipientActivationAPI = new RecipientActivationAPI(apiClient); + recipientFederationPoliciesAPI = new RecipientFederationPoliciesAPI(apiClient); recipientsAPI = new RecipientsAPI(apiClient); redashConfigAPI = new RedashConfigAPI(apiClient); registeredModelsAPI = new RegisteredModelsAPI(apiClient); @@ -444,7 +448,7 @@ public AccessControlAPI accessControl() { * These APIs manage access rules on resources in an account. Currently, only grant rules are * supported. A grant rule specifies a role assigned to a set of principals. A list of rules * attached to a resource is called a rule set. A workspace must belong to an account for these - * APIs to work. + * APIs to work */ public AccountAccessControlProxyAPI accountAccessControlProxy() { return accountAccessControlProxyAPI; @@ -1289,6 +1293,33 @@ public RecipientActivationAPI recipientActivation() { return recipientActivationAPI; } + /** + * The Recipient Federation Policies APIs are only applicable in the open sharing model where the + * recipient object has the authentication type of `OIDC_RECIPIENT`, enabling data sharing from + * Databricks to non-Databricks recipients. OIDC Token Federation enables secure, secret-less + * authentication for accessing Delta Sharing servers. Users and applications authenticate using + * short-lived OIDC tokens issued by their own Identity Provider (IdP), such as Azure Entra ID or + * Okta, without the need for managing static credentials or client secrets. A federation policy + * defines how non-Databricks recipients authenticate using OIDC tokens. It validates the OIDC + * claims in federated tokens and is set at the recipient level. The caller must be the owner of + * the recipient to create or manage a federation policy. Federation policies support the + * following scenarios: - User-to-Machine (U2M) flow: A user accesses Delta Shares using their own + * identity, such as connecting through PowerBI Delta Sharing Client. - Machine-to-Machine (M2M) + * flow: An application accesses Delta Shares using its own identity, typically for automation + * tasks like nightly jobs through Python Delta Sharing Client. OIDC Token Federation enables + * fine-grained access control, supports Multi-Factor Authentication (MFA), and enhances security + * by minimizing the risk of credential leakage through the use of short-lived, expiring tokens. + * It is designed for strong identity governance, secure cross-platform data sharing, and reduced + * operational overhead for credential management. + * + *
For more information, see
+ * https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security
+ * and https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed
+ */
+ public RecipientFederationPoliciesAPI recipientFederationPolicies() {
+ return recipientFederationPoliciesAPI;
+ }
+
/**
* A recipient is an object you create using :method:recipients/create to represent an
* organization which you want to allow access shares. The way how sharing works differs depending
@@ -2557,6 +2588,20 @@ public WorkspaceClient withRecipientActivationAPI(RecipientActivationAPI recipie
return this;
}
+ /** Replace the default RecipientFederationPoliciesService with a custom implementation. */
+ public WorkspaceClient withRecipientFederationPoliciesImpl(
+ RecipientFederationPoliciesService recipientFederationPolicies) {
+ return this.withRecipientFederationPoliciesAPI(
+ new RecipientFederationPoliciesAPI(recipientFederationPolicies));
+ }
+
+ /** Replace the default RecipientFederationPoliciesAPI with a custom implementation. */
+ public WorkspaceClient withRecipientFederationPoliciesAPI(
+ RecipientFederationPoliciesAPI recipientFederationPolicies) {
+ this.recipientFederationPoliciesAPI = recipientFederationPolicies;
+ return this;
+ }
+
/** Replace the default RecipientsService with a custom implementation. */
public WorkspaceClient withRecipientsImpl(RecipientsService recipients) {
return this.withRecipientsAPI(new RecipientsAPI(recipients));
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResource.java
index a0728e385..727e187f3 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResource.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResource.java
@@ -33,6 +33,10 @@ public class AppResource {
@JsonProperty("sql_warehouse")
private AppResourceSqlWarehouse sqlWarehouse;
+ /** */
+ @JsonProperty("uc_securable")
+ private AppResourceUcSecurable ucSecurable;
+
public AppResource setDescription(String description) {
this.description = description;
return this;
@@ -87,6 +91,15 @@ public AppResourceSqlWarehouse getSqlWarehouse() {
return sqlWarehouse;
}
+ public AppResource setUcSecurable(AppResourceUcSecurable ucSecurable) {
+ this.ucSecurable = ucSecurable;
+ return this;
+ }
+
+ public AppResourceUcSecurable getUcSecurable() {
+ return ucSecurable;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -97,12 +110,13 @@ public boolean equals(Object o) {
&& Objects.equals(name, that.name)
&& Objects.equals(secret, that.secret)
&& Objects.equals(servingEndpoint, that.servingEndpoint)
- && Objects.equals(sqlWarehouse, that.sqlWarehouse);
+ && Objects.equals(sqlWarehouse, that.sqlWarehouse)
+ && Objects.equals(ucSecurable, that.ucSecurable);
}
@Override
public int hashCode() {
- return Objects.hash(description, job, name, secret, servingEndpoint, sqlWarehouse);
+ return Objects.hash(description, job, name, secret, servingEndpoint, sqlWarehouse, ucSecurable);
}
@Override
@@ -114,6 +128,7 @@ public String toString() {
.add("secret", secret)
.add("servingEndpoint", servingEndpoint)
.add("sqlWarehouse", sqlWarehouse)
+ .add("ucSecurable", ucSecurable)
.toString();
}
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurable.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurable.java
new file mode 100755
index 000000000..8944df179
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurable.java
@@ -0,0 +1,76 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.apps;
+
+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 AppResourceUcSecurable {
+ /** */
+ @JsonProperty("permission")
+ private AppResourceUcSecurableUcSecurablePermission permission;
+
+ /** */
+ @JsonProperty("securable_full_name")
+ private String securableFullName;
+
+ /** */
+ @JsonProperty("securable_type")
+ private AppResourceUcSecurableUcSecurableType securableType;
+
+ public AppResourceUcSecurable setPermission(
+ AppResourceUcSecurableUcSecurablePermission permission) {
+ this.permission = permission;
+ return this;
+ }
+
+ public AppResourceUcSecurableUcSecurablePermission getPermission() {
+ return permission;
+ }
+
+ public AppResourceUcSecurable setSecurableFullName(String securableFullName) {
+ this.securableFullName = securableFullName;
+ return this;
+ }
+
+ public String getSecurableFullName() {
+ return securableFullName;
+ }
+
+ public AppResourceUcSecurable setSecurableType(
+ AppResourceUcSecurableUcSecurableType securableType) {
+ this.securableType = securableType;
+ return this;
+ }
+
+ public AppResourceUcSecurableUcSecurableType getSecurableType() {
+ return securableType;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ AppResourceUcSecurable that = (AppResourceUcSecurable) o;
+ return Objects.equals(permission, that.permission)
+ && Objects.equals(securableFullName, that.securableFullName)
+ && Objects.equals(securableType, that.securableType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(permission, securableFullName, securableType);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(AppResourceUcSecurable.class)
+ .add("permission", permission)
+ .add("securableFullName", securableFullName)
+ .add("securableType", securableType)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurablePermission.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurablePermission.java
new file mode 100755
index 000000000..551de2d21
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurablePermission.java
@@ -0,0 +1,11 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.apps;
+
+import com.databricks.sdk.support.Generated;
+
+@Generated
+public enum AppResourceUcSecurableUcSecurablePermission {
+ READ_VOLUME,
+ WRITE_VOLUME,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurableType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurableType.java
new file mode 100755
index 000000000..b05b5435e
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppResourceUcSecurableUcSecurableType.java
@@ -0,0 +1,10 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.apps;
+
+import com.databricks.sdk.support.Generated;
+
+@Generated
+public enum AppResourceUcSecurableUcSecurableType {
+ VOLUME,
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsSqsQueue.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsSqsQueue.java
new file mode 100755
index 000000000..ebf035131
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AwsSqsQueue.java
@@ -0,0 +1,62 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.catalog;
+
+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 AwsSqsQueue {
+ /** Unique identifier included in the name of file events managed cloud resources. */
+ @JsonProperty("managed_resource_id")
+ private String managedResourceId;
+
+ /**
+ * The AQS queue url in the format https://sqs.{region}.amazonaws.com/{account id}/{queue name}
+ * REQUIRED for provided_sqs.
+ */
+ @JsonProperty("queue_url")
+ private String queueUrl;
+
+ public AwsSqsQueue setManagedResourceId(String managedResourceId) {
+ this.managedResourceId = managedResourceId;
+ return this;
+ }
+
+ public String getManagedResourceId() {
+ return managedResourceId;
+ }
+
+ public AwsSqsQueue setQueueUrl(String queueUrl) {
+ this.queueUrl = queueUrl;
+ return this;
+ }
+
+ public String getQueueUrl() {
+ return queueUrl;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ AwsSqsQueue that = (AwsSqsQueue) o;
+ return Objects.equals(managedResourceId, that.managedResourceId)
+ && Objects.equals(queueUrl, that.queueUrl);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(managedResourceId, queueUrl);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(AwsSqsQueue.class)
+ .add("managedResourceId", managedResourceId)
+ .add("queueUrl", queueUrl)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureQueueStorage.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureQueueStorage.java
new file mode 100755
index 000000000..060de1960
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AzureQueueStorage.java
@@ -0,0 +1,98 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.catalog;
+
+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 AzureQueueStorage {
+ /** Unique identifier included in the name of file events managed cloud resources. */
+ @JsonProperty("managed_resource_id")
+ private String managedResourceId;
+
+ /**
+ * The AQS queue url in the format https://{storage account}.queue.core.windows.net/{queue name}
+ * REQUIRED for provided_aqs.
+ */
+ @JsonProperty("queue_url")
+ private String queueUrl;
+
+ /**
+ * The resource group for the queue, event grid subscription, and external location storage
+ * account. ONLY REQUIRED for locations with a service principal storage credential
+ */
+ @JsonProperty("resource_group")
+ private String resourceGroup;
+
+ /**
+ * OPTIONAL: The subscription id for the queue, event grid subscription, and external location
+ * storage account. REQUIRED for locations with a service principal storage credential
+ */
+ @JsonProperty("subscription_id")
+ private String subscriptionId;
+
+ public AzureQueueStorage setManagedResourceId(String managedResourceId) {
+ this.managedResourceId = managedResourceId;
+ return this;
+ }
+
+ public String getManagedResourceId() {
+ return managedResourceId;
+ }
+
+ public AzureQueueStorage setQueueUrl(String queueUrl) {
+ this.queueUrl = queueUrl;
+ return this;
+ }
+
+ public String getQueueUrl() {
+ return queueUrl;
+ }
+
+ public AzureQueueStorage setResourceGroup(String resourceGroup) {
+ this.resourceGroup = resourceGroup;
+ return this;
+ }
+
+ public String getResourceGroup() {
+ return resourceGroup;
+ }
+
+ public AzureQueueStorage setSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ public String getSubscriptionId() {
+ return subscriptionId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ AzureQueueStorage that = (AzureQueueStorage) o;
+ return Objects.equals(managedResourceId, that.managedResourceId)
+ && Objects.equals(queueUrl, that.queueUrl)
+ && Objects.equals(resourceGroup, that.resourceGroup)
+ && Objects.equals(subscriptionId, that.subscriptionId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(managedResourceId, queueUrl, resourceGroup, subscriptionId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(AzureQueueStorage.class)
+ .add("managedResourceId", managedResourceId)
+ .add("queueUrl", queueUrl)
+ .add("resourceGroup", resourceGroup)
+ .add("subscriptionId", subscriptionId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogInfo.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogInfo.java
index 82be0cd83..ccdc57264 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogInfo.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogInfo.java
@@ -89,9 +89,9 @@ public class CatalogInfo {
@JsonProperty("provisioning_info")
private ProvisioningInfo provisioningInfo;
- /** */
+ /** The type of Unity Catalog securable. */
@JsonProperty("securable_type")
- private String securableType;
+ private SecurableType securableType;
/** The name of the share under the share provider. */
@JsonProperty("share_name")
@@ -268,12 +268,12 @@ public ProvisioningInfo getProvisioningInfo() {
return provisioningInfo;
}
- public CatalogInfo setSecurableType(String securableType) {
+ public CatalogInfo setSecurableType(SecurableType securableType) {
this.securableType = securableType;
return this;
}
- public String getSecurableType() {
+ public SecurableType getSecurableType() {
return securableType;
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogIsolationMode.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogIsolationMode.java
index 04a2037e4..cd8bb5e3c 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogIsolationMode.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogIsolationMode.java
@@ -4,9 +4,6 @@
import com.databricks.sdk.support.Generated;
-/**
- * Whether the current securable is accessible from all workspaces or a specific set of workspaces.
- */
@Generated
public enum CatalogIsolationMode {
ISOLATED,
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogType.java
index 47f4d0ce0..992b920ab 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogType.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogType.java
@@ -9,6 +9,9 @@
public enum CatalogType {
DELTASHARING_CATALOG,
FOREIGN_CATALOG,
+ INTERNAL_CATALOG,
MANAGED_CATALOG,
+ MANAGED_ONLINE_CATALOG,
SYSTEM_CATALOG,
+ UNKNOWN_CATALOG_TYPE,
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java
index 33695c99d..744c57db6 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java
@@ -83,10 +83,6 @@ public CatalogInfo get(GetCatalogRequest request) {
* specific ordering of the elements in the array.
*/
public Iterable In the UI, you can select the instance profile when launching clusters. This API is only
- * available to admin users.
+ * Registers an instance profile in Databricks. In the UI, you can then give users the
+ * permission to use this instance profile when launching clusters.
+ *
+ * This API is only available to admin users.
*/
public void add(AddInstanceProfile request) {
impl.add(request);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesService.java
index ac5a1b443..eb7e78c1d 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesService.java
@@ -20,8 +20,10 @@ public interface InstanceProfilesService {
/**
* Register an instance profile.
*
- * In the UI, you can select the instance profile when launching clusters. This API is only
- * available to admin users.
+ * Registers an instance profile in Databricks. In the UI, you can then give users the
+ * permission to use this instance profile when launching clusters.
+ *
+ * This API is only available to admin users.
*/
void add(AddInstanceProfile addInstanceProfile);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/UpdateClusterResource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/UpdateClusterResource.java
index 273736519..151d44359 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/UpdateClusterResource.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/UpdateClusterResource.java
@@ -53,7 +53,8 @@ public class UpdateClusterResource {
/**
* Cluster name requested by the user. This doesn't have to be unique. If not specified at
- * creation, the cluster name will be an empty string.
+ * creation, the cluster name will be an empty string. For job clusters, the cluster name is
+ * automatically set based on the job and job run IDs.
*/
@JsonProperty("cluster_name")
private String clusterName;
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyAPI.java
index 613cdd616..6d95a309b 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyAPI.java
@@ -10,7 +10,7 @@
* These APIs manage access rules on resources in an account. Currently, only grant rules are
* supported. A grant rule specifies a role assigned to a set of principals. A list of rules
* attached to a resource is called a rule set. A workspace must belong to an account for these APIs
- * to work.
+ * to work
*/
@Generated
public class AccountAccessControlProxyAPI {
@@ -36,7 +36,7 @@ public GetAssignableRolesForResourceResponse getAssignableRolesForResource(Strin
/**
* Get assignable roles for a resource.
*
- * Gets all the roles that can be granted on an account-level resource. A role is grantable if
+ * Gets all the roles that can be granted on an account level resource. A role is grantable if
* the rule set on the resource can contain an access rule of the role.
*/
public GetAssignableRolesForResourceResponse getAssignableRolesForResource(
@@ -66,9 +66,8 @@ public RuleSetResponse updateRuleSet(String name, RuleSetUpdateRequest ruleSet)
/**
* Update a rule set.
*
- * Replace the rules of a rule set. First, use a GET rule set request to read the current
- * version of the rule set before modifying it. This pattern helps prevent conflicts between
- * concurrent updates.
+ * Replace the rules of a rule set. First, use get to read the current version of the rule set
+ * before modifying it. This pattern helps prevent conflicts between concurrent updates.
*/
public RuleSetResponse updateRuleSet(UpdateRuleSetRequest request) {
return impl.updateRuleSet(request);
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyService.java
index 18282b4db..3de92d68e 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountAccessControlProxyService.java
@@ -7,7 +7,7 @@
* These APIs manage access rules on resources in an account. Currently, only grant rules are
* supported. A grant rule specifies a role assigned to a set of principals. A list of rules
* attached to a resource is called a rule set. A workspace must belong to an account for these APIs
- * to work.
+ * to work
*
* This is the high-level interface, that contains generated methods.
*
@@ -18,7 +18,7 @@ public interface AccountAccessControlProxyService {
/**
* Get assignable roles for a resource.
*
- * Gets all the roles that can be granted on an account-level resource. A role is grantable if
+ * Gets all the roles that can be granted on an account level resource. A role is grantable if
* the rule set on the resource can contain an access rule of the role.
*/
GetAssignableRolesForResourceResponse getAssignableRolesForResource(
@@ -36,9 +36,8 @@ GetAssignableRolesForResourceResponse getAssignableRolesForResource(
/**
* Update a rule set.
*
- * Replace the rules of a rule set. First, use a GET rule set request to read the current
- * version of the rule set before modifying it. This pattern helps prevent conflicts between
- * concurrent updates.
+ * Replace the rules of a rule set. First, use get to read the current version of the rule set
+ * before modifying it. This pattern helps prevent conflicts between concurrent updates.
*/
RuleSetResponse updateRuleSet(UpdateRuleSetRequest updateRuleSetRequest);
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetAssignableRolesForResourceRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetAssignableRolesForResourceRequest.java
index e8119fff8..2b034b2d3 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetAssignableRolesForResourceRequest.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetAssignableRolesForResourceRequest.java
@@ -11,7 +11,14 @@
/** Get assignable roles for a resource */
@Generated
public class GetAssignableRolesForResourceRequest {
- /** The resource name for which assignable roles will be listed. */
+ /**
+ * The resource name for which assignable roles will be listed.
+ *
+ * Examples | Summary :--- | :--- `resource=accounts/ Examples | Summary :--- | :--- `etag=` | An empty etag can only be used in GET to indicate
+ * no freshness requirements. `etag=RENUAAABhSweA4NvVmmUYdiU717H3Tgy0UJdor3gE4a+mq/oj9NjAf8ZsQ==`
+ * | An etag encoded a specific version of the rule set to get or to be updated.
*/
@JsonIgnore
@QueryParam("etag")
private String etag;
- /** The ruleset name associated with the request. */
+ /**
+ * The ruleset name associated with the request.
+ *
+ * Examples | Summary :--- | :--- `name=accounts/ List artifacts for a logged model. Takes an optional ``artifact_directory_path`` prefix
+ * which if specified, the response contains only artifacts with the specified prefix.
+ */
+ public ListLoggedModelArtifactsResponse listLoggedModelArtifacts(
+ ListLoggedModelArtifactsRequest request) {
+ return impl.listLoggedModelArtifacts(request);
+ }
+
/**
* Log a batch of metrics/params/tags for a run.
*
@@ -349,6 +410,22 @@ public void logInputs(LogInputs request) {
impl.logInputs(request);
}
+ public void logLoggedModelParams(String modelId) {
+ logLoggedModelParams(new LogLoggedModelParamsRequest().setModelId(modelId));
+ }
+
+ /**
+ * Log params for a logged model.
+ *
+ * Logs params for a logged model. A param is a key-value pair (string key, string value).
+ * Examples include hyperparameters used for ML model training. A param can be logged only once
+ * for a logged model, and attempting to overwrite an existing param with a different value will
+ * result in an error
+ */
+ public void logLoggedModelParams(LogLoggedModelParamsRequest request) {
+ impl.logLoggedModelParams(request);
+ }
+
public void logMetric(String key, double value, long timestamp) {
logMetric(new LogMetric().setKey(key).setValue(value).setTimestamp(timestamp));
}
@@ -374,6 +451,22 @@ public void logModel(LogModel request) {
impl.logModel(request);
}
+ public void logOutputs(String runId) {
+ logOutputs(new LogOutputsRequest().setRunId(runId));
+ }
+
+ /**
+ * Log outputs from a run.
+ *
+ * **NOTE**: Experimental: This API may change or be removed in a future release without
+ * warning.
+ *
+ * Logs outputs, such as models, from an MLflow Run.
+ */
+ public void logOutputs(LogOutputsRequest request) {
+ impl.logOutputs(request);
+ }
+
public void logParam(String key, String value) {
logParam(new LogParam().setKey(key).setValue(value));
}
@@ -457,6 +550,15 @@ public Iterable Search for Logged Models that satisfy specified search criteria.
+ */
+ public SearchLoggedModelsResponse searchLoggedModels(SearchLoggedModelsRequest request) {
+ return impl.searchLoggedModels(request);
+ }
+
/**
* Search for runs.
*
@@ -492,6 +594,15 @@ public void setExperimentTag(SetExperimentTag request) {
impl.setExperimentTag(request);
}
+ public void setLoggedModelTags(String modelId) {
+ setLoggedModelTags(new SetLoggedModelTagsRequest().setModelId(modelId));
+ }
+
+ /** Set a tag for a logged model. */
+ public void setLoggedModelTags(SetLoggedModelTagsRequest request) {
+ impl.setLoggedModelTags(request);
+ }
+
public ExperimentPermissions setPermissions(String experimentId) {
return setPermissions(new ExperimentPermissionsRequest().setExperimentId(experimentId));
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java
index 0e3b7116b..c228b7e72 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsImpl.java
@@ -30,6 +30,20 @@ public CreateExperimentResponse createExperiment(CreateExperiment request) {
}
}
+ @Override
+ public CreateLoggedModelResponse createLoggedModel(CreateLoggedModelRequest request) {
+ String path = "/api/2.0/mlflow/logged-models";
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, CreateLoggedModelResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public CreateRunResponse createRun(CreateRun request) {
String path = "/api/2.0/mlflow/runs/create";
@@ -58,6 +72,34 @@ public void deleteExperiment(DeleteExperiment request) {
}
}
+ @Override
+ public void deleteLoggedModel(DeleteLoggedModelRequest request) {
+ String path = String.format("/api/2.0/mlflow/logged-models/%s", request.getModelId());
+ try {
+ Request req = new Request("DELETE", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, DeleteLoggedModelResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteLoggedModelTag(DeleteLoggedModelTagRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/mlflow/logged-models/%s/tags/%s", request.getModelId(), request.getTagKey());
+ try {
+ Request req = new Request("DELETE", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, DeleteLoggedModelTagResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void deleteRun(DeleteRun request) {
String path = "/api/2.0/mlflow/runs/delete";
@@ -100,6 +142,20 @@ public void deleteTag(DeleteTag request) {
}
}
+ @Override
+ public FinalizeLoggedModelResponse finalizeLoggedModel(FinalizeLoggedModelRequest request) {
+ String path = String.format("/api/2.0/mlflow/logged-models/%s", request.getModelId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, FinalizeLoggedModelResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public GetExperimentByNameResponse getByName(GetByNameRequest request) {
String path = "/api/2.0/mlflow/experiments/get-by-name";
@@ -171,6 +227,19 @@ public GetMetricHistoryResponse getHistory(GetHistoryRequest request) {
}
}
+ @Override
+ public GetLoggedModelResponse getLoggedModel(GetLoggedModelRequest request) {
+ String path = String.format("/api/2.0/mlflow/logged-models/%s", request.getModelId());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, GetLoggedModelResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public GetExperimentPermissionLevelsResponse getPermissionLevels(
GetExperimentPermissionLevelsRequest request) {
@@ -239,6 +308,22 @@ public ListExperimentsResponse listExperiments(ListExperimentsRequest request) {
}
}
+ @Override
+ public ListLoggedModelArtifactsResponse listLoggedModelArtifacts(
+ ListLoggedModelArtifactsRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/mlflow/logged-models/%s/artifacts/directories", request.getModelId());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListLoggedModelArtifactsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void logBatch(LogBatch request) {
String path = "/api/2.0/mlflow/runs/log-batch";
@@ -267,6 +352,20 @@ public void logInputs(LogInputs request) {
}
}
+ @Override
+ public void logLoggedModelParams(LogLoggedModelParamsRequest request) {
+ String path = String.format("/api/2.0/mlflow/logged-models/%s/params", request.getModelId());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ apiClient.execute(req, LogLoggedModelParamsRequestResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void logMetric(LogMetric request) {
String path = "/api/2.0/mlflow/runs/log-metric";
@@ -295,6 +394,20 @@ public void logModel(LogModel request) {
}
}
+ @Override
+ public void logOutputs(LogOutputsRequest request) {
+ String path = "/api/2.0/mlflow/runs/outputs";
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ apiClient.execute(req, LogOutputsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public void logParam(LogParam request) {
String path = "/api/2.0/mlflow/runs/log-parameter";
@@ -365,6 +478,20 @@ public SearchExperimentsResponse searchExperiments(SearchExperiments request) {
}
}
+ @Override
+ public SearchLoggedModelsResponse searchLoggedModels(SearchLoggedModelsRequest request) {
+ String path = "/api/2.0/mlflow/logged-models/search";
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, SearchLoggedModelsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public SearchRunsResponse searchRuns(SearchRuns request) {
String path = "/api/2.0/mlflow/runs/search";
@@ -393,6 +520,20 @@ public void setExperimentTag(SetExperimentTag request) {
}
}
+ @Override
+ public void setLoggedModelTags(SetLoggedModelTagsRequest request) {
+ String path = String.format("/api/2.0/mlflow/logged-models/%s/tags", request.getModelId());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ apiClient.execute(req, SetLoggedModelTagsResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
@Override
public ExperimentPermissions setPermissions(ExperimentPermissionsRequest request) {
String path = String.format("/api/2.0/permissions/experiments/%s", request.getExperimentId());
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java
index ec7ca96ea..abafed87e 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsService.java
@@ -29,6 +29,9 @@ public interface ExperimentsService {
*/
CreateExperimentResponse createExperiment(CreateExperiment createExperiment);
+ /** Create a logged model. */
+ CreateLoggedModelResponse createLoggedModel(CreateLoggedModelRequest createLoggedModelRequest);
+
/**
* Create a run.
*
@@ -46,6 +49,12 @@ public interface ExperimentsService {
*/
void deleteExperiment(DeleteExperiment deleteExperiment);
+ /** Delete a logged model. */
+ void deleteLoggedModel(DeleteLoggedModelRequest deleteLoggedModelRequest);
+
+ /** Delete a tag on a logged model. */
+ void deleteLoggedModelTag(DeleteLoggedModelTagRequest deleteLoggedModelTagRequest);
+
/**
* Delete a run.
*
@@ -70,6 +79,10 @@ public interface ExperimentsService {
*/
void deleteTag(DeleteTag deleteTag);
+ /** Finalize a logged model. */
+ FinalizeLoggedModelResponse finalizeLoggedModel(
+ FinalizeLoggedModelRequest finalizeLoggedModelRequest);
+
/**
* Get an experiment by name.
*
@@ -105,6 +118,9 @@ GetCredentialsForTraceDataUploadResponse getCredentialsForTraceDataUpload(
*/
GetMetricHistoryResponse getHistory(GetHistoryRequest getHistoryRequest);
+ /** Get a logged model. */
+ GetLoggedModelResponse getLoggedModel(GetLoggedModelRequest getLoggedModelRequest);
+
/**
* Get experiment permission levels.
*
@@ -150,6 +166,15 @@ ExperimentPermissions getPermissions(
*/
ListExperimentsResponse listExperiments(ListExperimentsRequest listExperimentsRequest);
+ /**
+ * List artifacts for a logged model.
+ *
+ * List artifacts for a logged model. Takes an optional ``artifact_directory_path`` prefix
+ * which if specified, the response contains only artifacts with the specified prefix.
+ */
+ ListLoggedModelArtifactsResponse listLoggedModelArtifacts(
+ ListLoggedModelArtifactsRequest listLoggedModelArtifactsRequest);
+
/**
* Log a batch of metrics/params/tags for a run.
*
@@ -208,6 +233,16 @@ ExperimentPermissions getPermissions(
*/
void logInputs(LogInputs logInputs);
+ /**
+ * Log params for a logged model.
+ *
+ * Logs params for a logged model. A param is a key-value pair (string key, string value).
+ * Examples include hyperparameters used for ML model training. A param can be logged only once
+ * for a logged model, and attempting to overwrite an existing param with a different value will
+ * result in an error
+ */
+ void logLoggedModelParams(LogLoggedModelParamsRequest logLoggedModelParamsRequest);
+
/**
* Log a metric for a run.
*
@@ -225,6 +260,16 @@ ExperimentPermissions getPermissions(
*/
void logModel(LogModel logModel);
+ /**
+ * Log outputs from a run.
+ *
+ * **NOTE**: Experimental: This API may change or be removed in a future release without
+ * warning.
+ *
+ * Logs outputs, such as models, from an MLflow Run.
+ */
+ void logOutputs(LogOutputsRequest logOutputsRequest);
+
/**
* Log a param for a run.
*
@@ -271,6 +316,14 @@ ExperimentPermissions getPermissions(
*/
SearchExperimentsResponse searchExperiments(SearchExperiments searchExperiments);
+ /**
+ * Search logged models.
+ *
+ * Search for Logged Models that satisfy specified search criteria.
+ */
+ SearchLoggedModelsResponse searchLoggedModels(
+ SearchLoggedModelsRequest searchLoggedModelsRequest);
+
/**
* Search for runs.
*
@@ -287,6 +340,9 @@ ExperimentPermissions getPermissions(
*/
void setExperimentTag(SetExperimentTag setExperimentTag);
+ /** Set a tag for a logged model. */
+ void setLoggedModelTags(SetLoggedModelTagsRequest setLoggedModelTagsRequest);
+
/**
* Set experiment permissions.
*
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelRequest.java
new file mode 100755
index 000000000..e57f1bbae
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelRequest.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.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class FinalizeLoggedModelRequest {
+ /** The ID of the logged model to finalize. */
+ @JsonIgnore private String modelId;
+
+ /**
+ * Whether or not the model is ready for use. ``"LOGGED_MODEL_UPLOAD_FAILED"`` indicates that
+ * something went wrong when logging the model weights / agent code).
+ */
+ @JsonProperty("status")
+ private LoggedModelStatus status;
+
+ public FinalizeLoggedModelRequest setModelId(String modelId) {
+ this.modelId = modelId;
+ return this;
+ }
+
+ public String getModelId() {
+ return modelId;
+ }
+
+ public FinalizeLoggedModelRequest setStatus(LoggedModelStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ public LoggedModelStatus getStatus() {
+ return status;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ FinalizeLoggedModelRequest that = (FinalizeLoggedModelRequest) o;
+ return Objects.equals(modelId, that.modelId) && Objects.equals(status, that.status);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(modelId, status);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(FinalizeLoggedModelRequest.class)
+ .add("modelId", modelId)
+ .add("status", status)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelResponse.java
new file mode 100755
index 000000000..295478ce5
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FinalizeLoggedModelResponse.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 FinalizeLoggedModelResponse {
+ /** The updated logged model. */
+ @JsonProperty("model")
+ private LoggedModel model;
+
+ public FinalizeLoggedModelResponse setModel(LoggedModel model) {
+ this.model = model;
+ return this;
+ }
+
+ public LoggedModel getModel() {
+ return model;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ FinalizeLoggedModelResponse that = (FinalizeLoggedModelResponse) o;
+ return Objects.equals(model, that.model);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(model);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(FinalizeLoggedModelResponse.class).add("model", model).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelRequest.java
new file mode 100755
index 000000000..e2f070898
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelRequest.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.JsonIgnore;
+import java.util.Objects;
+
+/** Get a logged model */
+@Generated
+public class GetLoggedModelRequest {
+ /** The ID of the logged model to retrieve. */
+ @JsonIgnore private String modelId;
+
+ public GetLoggedModelRequest setModelId(String modelId) {
+ this.modelId = modelId;
+ return this;
+ }
+
+ public String getModelId() {
+ return modelId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetLoggedModelRequest that = (GetLoggedModelRequest) o;
+ return Objects.equals(modelId, that.modelId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(modelId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetLoggedModelRequest.class).add("modelId", modelId).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelResponse.java
new file mode 100755
index 000000000..afb45504b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/GetLoggedModelResponse.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 GetLoggedModelResponse {
+ /** The retrieved logged model. */
+ @JsonProperty("model")
+ private LoggedModel model;
+
+ public GetLoggedModelResponse setModel(LoggedModel model) {
+ this.model = model;
+ return this;
+ }
+
+ public LoggedModel getModel() {
+ return model;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetLoggedModelResponse that = (GetLoggedModelResponse) o;
+ return Objects.equals(model, that.model);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(model);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetLoggedModelResponse.class).add("model", model).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsRequest.java
new file mode 100755
index 000000000..e94842c95
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsRequest.java
@@ -0,0 +1,83 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.ml;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+/** List artifacts for a logged model */
+@Generated
+public class ListLoggedModelArtifactsRequest {
+ /** Filter artifacts matching this path (a relative path from the root artifact directory). */
+ @JsonIgnore
+ @QueryParam("artifact_directory_path")
+ private String artifactDirectoryPath;
+
+ /** The ID of the logged model for which to list the artifacts. */
+ @JsonIgnore private String modelId;
+
+ /**
+ * Token indicating the page of artifact results to fetch. `page_token` is not supported when
+ * listing artifacts in UC Volumes. A maximum of 1000 artifacts will be retrieved for UC Volumes.
+ * Please call `/api/2.0/fs/directories{directory_path}` for listing artifacts in UC Volumes,
+ * which supports pagination. See [List directory contents | Files
+ * API](/api/workspace/files/listdirectorycontents).
+ */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ public ListLoggedModelArtifactsRequest setArtifactDirectoryPath(String artifactDirectoryPath) {
+ this.artifactDirectoryPath = artifactDirectoryPath;
+ return this;
+ }
+
+ public String getArtifactDirectoryPath() {
+ return artifactDirectoryPath;
+ }
+
+ public ListLoggedModelArtifactsRequest setModelId(String modelId) {
+ this.modelId = modelId;
+ return this;
+ }
+
+ public String getModelId() {
+ return modelId;
+ }
+
+ public ListLoggedModelArtifactsRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListLoggedModelArtifactsRequest that = (ListLoggedModelArtifactsRequest) o;
+ return Objects.equals(artifactDirectoryPath, that.artifactDirectoryPath)
+ && Objects.equals(modelId, that.modelId)
+ && Objects.equals(pageToken, that.pageToken);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(artifactDirectoryPath, modelId, pageToken);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListLoggedModelArtifactsRequest.class)
+ .add("artifactDirectoryPath", artifactDirectoryPath)
+ .add("modelId", modelId)
+ .add("pageToken", pageToken)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsResponse.java
new file mode 100755
index 000000000..35e2dbe82
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ListLoggedModelArtifactsResponse.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.Collection;
+import java.util.Objects;
+
+@Generated
+public class ListLoggedModelArtifactsResponse {
+ /** File location and metadata for artifacts. */
+ @JsonProperty("files")
+ private Collection Example: ``params.alpha < 0.3 AND metrics.accuracy > 0.9``.
+ */
+ @JsonProperty("filter")
+ private String filter;
+
+ /** The maximum number of Logged Models to return. The maximum limit is 50. */
+ @JsonProperty("max_results")
+ private Long maxResults;
+
+ /** The list of columns for ordering the results, with additional fields for sorting criteria. */
+ @JsonProperty("order_by")
+ private Collection 1. Access to DBFS root and DBFS mounts is disallowed (as well as the creation of new mounts).
+ * 2. Disables Databricks Runtime versions prior to 13.3LTS.
+ *
+ * When the setting is off, all DBFS functionality is enabled and no restrictions are imposed on
+ * Databricks Runtime versions. This setting can take up to 20 minutes to take effect and requires a
+ * manual restart of all-purpose compute clusters and SQL warehouses.
*/
@Generated
public class DisableLegacyDbfsAPI {
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DisableLegacyDbfsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DisableLegacyDbfsService.java
index 6a4aa74fe..28e7572cf 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DisableLegacyDbfsService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/DisableLegacyDbfsService.java
@@ -4,8 +4,14 @@
import com.databricks.sdk.support.Generated;
/**
- * When this setting is on, access to DBFS root and DBFS mounts is disallowed (as well as creation
- * of new mounts). When the setting is off, all DBFS functionality is enabled
+ * Disabling legacy DBFS has the following implications:
+ *
+ * 1. Access to DBFS root and DBFS mounts is disallowed (as well as the creation of new mounts).
+ * 2. Disables Databricks Runtime versions prior to 13.3LTS.
+ *
+ * When the setting is off, all DBFS functionality is enabled and no restrictions are imposed on
+ * Databricks Runtime versions. This setting can take up to 20 minutes to take effect and requires a
+ * manual restart of all-purpose compute clusters and SQL warehouses.
*
* This is the high-level interface, that contains generated methods.
*
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicy.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicy.java
new file mode 100755
index 000000000..886b66041
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/EgressNetworkPolicyNetworkAccessPolicy.java
@@ -0,0 +1,110 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+@Generated
+public class EgressNetworkPolicyNetworkAccessPolicy {
+ /**
+ * List of internet destinations that serverless workloads are allowed to access when in
+ * RESTRICTED_ACCESS mode.
+ */
+ @JsonProperty("allowed_internet_destinations")
+ private Collection Creates a new network policy to manage which network destinations can be accessed from the
+ * Databricks environment.
+ */
+ public AccountNetworkPolicy createNetworkPolicyRpc(CreateNetworkPolicyRequest request) {
+ return impl.createNetworkPolicyRpc(request);
+ }
+
+ public void deleteNetworkPolicyRpc(String networkPolicyId) {
+ deleteNetworkPolicyRpc(new DeleteNetworkPolicyRequest().setNetworkPolicyId(networkPolicyId));
+ }
+
+ /**
+ * Delete a network policy.
+ *
+ * Deletes a network policy. Cannot be called on 'default-policy'.
+ */
+ public void deleteNetworkPolicyRpc(DeleteNetworkPolicyRequest request) {
+ impl.deleteNetworkPolicyRpc(request);
+ }
+
+ public AccountNetworkPolicy getNetworkPolicyRpc(String networkPolicyId) {
+ return getNetworkPolicyRpc(new GetNetworkPolicyRequest().setNetworkPolicyId(networkPolicyId));
+ }
+
+ /**
+ * Get a network policy.
+ *
+ * Gets a network policy.
+ */
+ public AccountNetworkPolicy getNetworkPolicyRpc(GetNetworkPolicyRequest request) {
+ return impl.getNetworkPolicyRpc(request);
+ }
+
+ /**
+ * List network policies.
+ *
+ * Gets an array of network policies.
+ */
+ public Iterable Updates a network policy. This allows you to modify the configuration of a network policy.
+ */
+ public AccountNetworkPolicy updateNetworkPolicyRpc(UpdateNetworkPolicyRequest request) {
+ return impl.updateNetworkPolicyRpc(request);
+ }
+
+ public NetworkPoliciesService impl() {
+ return impl;
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesImpl.java
new file mode 100755
index 000000000..1f9f29054
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesImpl.java
@@ -0,0 +1,96 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.settings;
+
+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 NetworkPolicies */
+@Generated
+class NetworkPoliciesImpl implements NetworkPoliciesService {
+ private final ApiClient apiClient;
+
+ public NetworkPoliciesImpl(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ @Override
+ public AccountNetworkPolicy createNetworkPolicyRpc(CreateNetworkPolicyRequest request) {
+ String path =
+ String.format("/api/2.0/accounts/%s/network-policies", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getNetworkPolicy()));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, AccountNetworkPolicy.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void deleteNetworkPolicyRpc(DeleteNetworkPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/accounts/%s/network-policies/%s",
+ apiClient.configuredAccountID(), request.getNetworkPolicyId());
+ try {
+ Request req = new Request("DELETE", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, DeleteNetworkPolicyRpcResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public AccountNetworkPolicy getNetworkPolicyRpc(GetNetworkPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/accounts/%s/network-policies/%s",
+ apiClient.configuredAccountID(), request.getNetworkPolicyId());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, AccountNetworkPolicy.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListNetworkPoliciesResponse listNetworkPoliciesRpc(ListNetworkPoliciesRequest request) {
+ String path =
+ String.format("/api/2.0/accounts/%s/network-policies", apiClient.configuredAccountID());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListNetworkPoliciesResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public AccountNetworkPolicy updateNetworkPolicyRpc(UpdateNetworkPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/accounts/%s/network-policies/%s",
+ apiClient.configuredAccountID(), request.getNetworkPolicyId());
+ try {
+ Request req = new Request("PUT", path, apiClient.serialize(request.getNetworkPolicy()));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, AccountNetworkPolicy.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/settings/NetworkPoliciesService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesService.java
new file mode 100755
index 000000000..17cf556d1
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesService.java
@@ -0,0 +1,58 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * These APIs manage network policies for this account. Network policies control which network
+ * destinations can be accessed from the Databricks environment. Each Databricks account includes a
+ * default policy named 'default-policy'. 'default-policy' is associated with any workspace lacking
+ * an explicit network policy assignment, and is automatically associated with each newly created
+ * workspace. 'default-policy' is reserved and cannot be deleted, but it can be updated to customize
+ * the default network access rules for your account.
+ *
+ * This is the high-level interface, that contains generated methods.
+ *
+ * Evolving: this interface is under development. Method signatures may change.
+ */
+@Generated
+public interface NetworkPoliciesService {
+ /**
+ * Create a network policy.
+ *
+ * Creates a new network policy to manage which network destinations can be accessed from the
+ * Databricks environment.
+ */
+ AccountNetworkPolicy createNetworkPolicyRpc(
+ CreateNetworkPolicyRequest createNetworkPolicyRequest);
+
+ /**
+ * Delete a network policy.
+ *
+ * Deletes a network policy. Cannot be called on 'default-policy'.
+ */
+ void deleteNetworkPolicyRpc(DeleteNetworkPolicyRequest deleteNetworkPolicyRequest);
+
+ /**
+ * Get a network policy.
+ *
+ * Gets a network policy.
+ */
+ AccountNetworkPolicy getNetworkPolicyRpc(GetNetworkPolicyRequest getNetworkPolicyRequest);
+
+ /**
+ * List network policies.
+ *
+ * Gets an array of network policies.
+ */
+ ListNetworkPoliciesResponse listNetworkPoliciesRpc(
+ ListNetworkPoliciesRequest listNetworkPoliciesRequest);
+
+ /**
+ * Update a network policy.
+ *
+ * Updates a network policy. This allows you to modify the configuration of a network policy.
+ */
+ AccountNetworkPolicy updateNetworkPolicyRpc(
+ UpdateNetworkPolicyRequest updateNetworkPolicyRequest);
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java
new file mode 100755
index 000000000..a3b0dea02
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPolicyEgress.java
@@ -0,0 +1,50 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/**
+ * The network policies applying for egress traffic. This message is used by the UI/REST API. We
+ * translate this message to the format expected by the dataplane in Lakehouse Network Manager (for
+ * the format expected by the dataplane, see networkconfig.textproto). This policy should be
+ * consistent with [[com.databricks.api.proto.settingspolicy.EgressNetworkPolicy]]. Details see
+ * API-design: https://docs.google.com/document/d/1DKWO_FpZMCY4cF2O62LpwII1lx8gsnDGG-qgE3t3TOA/
+ */
+@Generated
+public class NetworkPolicyEgress {
+ /** The access policy enforced for egress traffic to the internet. */
+ @JsonProperty("network_access")
+ private EgressNetworkPolicyNetworkAccessPolicy networkAccess;
+
+ public NetworkPolicyEgress setNetworkAccess(
+ EgressNetworkPolicyNetworkAccessPolicy networkAccess) {
+ this.networkAccess = networkAccess;
+ return this;
+ }
+
+ public EgressNetworkPolicyNetworkAccessPolicy getNetworkAccess() {
+ return networkAccess;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ NetworkPolicyEgress that = (NetworkPolicyEgress) o;
+ return Objects.equals(networkAccess, that.networkAccess);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(networkAccess);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(NetworkPolicyEgress.class).add("networkAccess", networkAccess).toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/SettingsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/SettingsAPI.java
index b0fba4f64..f5eb3d0a5 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/SettingsAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/SettingsAPI.java
@@ -112,10 +112,7 @@ public DisableLegacyAccessAPI DisableLegacyAccess() {
return disableLegacyAccessAPI;
}
- /**
- * When this setting is on, access to DBFS root and DBFS mounts is disallowed (as well as creation
- * of new mounts).
- */
+ /** Disabling legacy DBFS has the following implications: 1. */
public DisableLegacyDbfsAPI DisableLegacyDbfs() {
return disableLegacyDbfsAPI;
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateNetworkPolicyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateNetworkPolicyRequest.java
new file mode 100755
index 000000000..82fb015bd
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateNetworkPolicyRequest.java
@@ -0,0 +1,60 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Update a network policy */
+@Generated
+public class UpdateNetworkPolicyRequest {
+ /** */
+ @JsonProperty("network_policy")
+ private AccountNetworkPolicy networkPolicy;
+
+ /** The unique identifier for the network policy. */
+ @JsonIgnore private String networkPolicyId;
+
+ public UpdateNetworkPolicyRequest setNetworkPolicy(AccountNetworkPolicy networkPolicy) {
+ this.networkPolicy = networkPolicy;
+ return this;
+ }
+
+ public AccountNetworkPolicy getNetworkPolicy() {
+ return networkPolicy;
+ }
+
+ public UpdateNetworkPolicyRequest setNetworkPolicyId(String networkPolicyId) {
+ this.networkPolicyId = networkPolicyId;
+ return this;
+ }
+
+ public String getNetworkPolicyId() {
+ return networkPolicyId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateNetworkPolicyRequest that = (UpdateNetworkPolicyRequest) o;
+ return Objects.equals(networkPolicy, that.networkPolicy)
+ && Objects.equals(networkPolicyId, that.networkPolicyId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(networkPolicy, networkPolicyId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateNetworkPolicyRequest.class)
+ .add("networkPolicy", networkPolicy)
+ .add("networkPolicyId", networkPolicyId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateWorkspaceNetworkOptionRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateWorkspaceNetworkOptionRequest.java
new file mode 100755
index 000000000..84c39c6b0
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/UpdateWorkspaceNetworkOptionRequest.java
@@ -0,0 +1,61 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Update workspace network configuration */
+@Generated
+public class UpdateWorkspaceNetworkOptionRequest {
+ /** The workspace ID. */
+ @JsonIgnore private Long workspaceId;
+
+ /** */
+ @JsonProperty("workspace_network_option")
+ private WorkspaceNetworkOption workspaceNetworkOption;
+
+ public UpdateWorkspaceNetworkOptionRequest setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ public UpdateWorkspaceNetworkOptionRequest setWorkspaceNetworkOption(
+ WorkspaceNetworkOption workspaceNetworkOption) {
+ this.workspaceNetworkOption = workspaceNetworkOption;
+ return this;
+ }
+
+ public WorkspaceNetworkOption getWorkspaceNetworkOption() {
+ return workspaceNetworkOption;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateWorkspaceNetworkOptionRequest that = (UpdateWorkspaceNetworkOptionRequest) o;
+ return Objects.equals(workspaceId, that.workspaceId)
+ && Objects.equals(workspaceNetworkOption, that.workspaceNetworkOption);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(workspaceId, workspaceNetworkOption);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateWorkspaceNetworkOptionRequest.class)
+ .add("workspaceId", workspaceId)
+ .add("workspaceNetworkOption", workspaceNetworkOption)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationAPI.java
new file mode 100755
index 000000000..90fe8feba
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationAPI.java
@@ -0,0 +1,71 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.core.ApiClient;
+import com.databricks.sdk.support.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * These APIs allow configuration of network settings for Databricks workspaces. Each workspace is
+ * always associated with exactly one network policy that controls which network destinations can be
+ * accessed from the Databricks environment. By default, workspaces are associated with the
+ * 'default-policy' network policy. You cannot create or delete a workspace's network configuration,
+ * only update it to associate the workspace with a different policy.
+ */
+@Generated
+public class WorkspaceNetworkConfigurationAPI {
+ private static final Logger LOG = LoggerFactory.getLogger(WorkspaceNetworkConfigurationAPI.class);
+
+ private final WorkspaceNetworkConfigurationService impl;
+
+ /** Regular-use constructor */
+ public WorkspaceNetworkConfigurationAPI(ApiClient apiClient) {
+ impl = new WorkspaceNetworkConfigurationImpl(apiClient);
+ }
+
+ /** Constructor for mocks */
+ public WorkspaceNetworkConfigurationAPI(WorkspaceNetworkConfigurationService mock) {
+ impl = mock;
+ }
+
+ public WorkspaceNetworkOption getWorkspaceNetworkOptionRpc(long workspaceId) {
+ return getWorkspaceNetworkOptionRpc(
+ new GetWorkspaceNetworkOptionRequest().setWorkspaceId(workspaceId));
+ }
+
+ /**
+ * Get workspace network configuration.
+ *
+ * Gets the network configuration for a workspace. Every workspace has exactly one network
+ * policy binding, with 'default-policy' used if no explicit assignment exists.
+ */
+ public WorkspaceNetworkOption getWorkspaceNetworkOptionRpc(
+ GetWorkspaceNetworkOptionRequest request) {
+ return impl.getWorkspaceNetworkOptionRpc(request);
+ }
+
+ public WorkspaceNetworkOption updateWorkspaceNetworkOptionRpc(
+ long workspaceId, WorkspaceNetworkOption workspaceNetworkOption) {
+ return updateWorkspaceNetworkOptionRpc(
+ new UpdateWorkspaceNetworkOptionRequest()
+ .setWorkspaceId(workspaceId)
+ .setWorkspaceNetworkOption(workspaceNetworkOption));
+ }
+
+ /**
+ * Update workspace network configuration.
+ *
+ * Updates the network configuration for a workspace. This operation associates the workspace
+ * with the specified network policy. To revert to the default policy, specify 'default-policy' as
+ * the network_policy_id.
+ */
+ public WorkspaceNetworkOption updateWorkspaceNetworkOptionRpc(
+ UpdateWorkspaceNetworkOptionRequest request) {
+ return impl.updateWorkspaceNetworkOptionRpc(request);
+ }
+
+ public WorkspaceNetworkConfigurationService impl() {
+ return impl;
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationImpl.java
new file mode 100755
index 000000000..b2e71a210
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationImpl.java
@@ -0,0 +1,54 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.settings;
+
+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 WorkspaceNetworkConfiguration */
+@Generated
+class WorkspaceNetworkConfigurationImpl implements WorkspaceNetworkConfigurationService {
+ private final ApiClient apiClient;
+
+ public WorkspaceNetworkConfigurationImpl(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ @Override
+ public WorkspaceNetworkOption getWorkspaceNetworkOptionRpc(
+ GetWorkspaceNetworkOptionRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/accounts/%s/workspaces/%s/network",
+ apiClient.configuredAccountID(), request.getWorkspaceId());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, WorkspaceNetworkOption.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public WorkspaceNetworkOption updateWorkspaceNetworkOptionRpc(
+ UpdateWorkspaceNetworkOptionRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/accounts/%s/workspaces/%s/network",
+ apiClient.configuredAccountID(), request.getWorkspaceId());
+ try {
+ Request req =
+ new Request("PUT", path, apiClient.serialize(request.getWorkspaceNetworkOption()));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, WorkspaceNetworkOption.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/settings/WorkspaceNetworkConfigurationService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationService.java
new file mode 100755
index 000000000..7c414aa6d
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkConfigurationService.java
@@ -0,0 +1,37 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * These APIs allow configuration of network settings for Databricks workspaces. Each workspace is
+ * always associated with exactly one network policy that controls which network destinations can be
+ * accessed from the Databricks environment. By default, workspaces are associated with the
+ * 'default-policy' network policy. You cannot create or delete a workspace's network configuration,
+ * only update it to associate the workspace with a different policy.
+ *
+ * This is the high-level interface, that contains generated methods.
+ *
+ * Evolving: this interface is under development. Method signatures may change.
+ */
+@Generated
+public interface WorkspaceNetworkConfigurationService {
+ /**
+ * Get workspace network configuration.
+ *
+ * Gets the network configuration for a workspace. Every workspace has exactly one network
+ * policy binding, with 'default-policy' used if no explicit assignment exists.
+ */
+ WorkspaceNetworkOption getWorkspaceNetworkOptionRpc(
+ GetWorkspaceNetworkOptionRequest getWorkspaceNetworkOptionRequest);
+
+ /**
+ * Update workspace network configuration.
+ *
+ * Updates the network configuration for a workspace. This operation associates the workspace
+ * with the specified network policy. To revert to the default policy, specify 'default-policy' as
+ * the network_policy_id.
+ */
+ WorkspaceNetworkOption updateWorkspaceNetworkOptionRpc(
+ UpdateWorkspaceNetworkOptionRequest updateWorkspaceNetworkOptionRequest);
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkOption.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkOption.java
new file mode 100755
index 000000000..796892bf0
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/WorkspaceNetworkOption.java
@@ -0,0 +1,63 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.settings;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class WorkspaceNetworkOption {
+ /**
+ * The network policy ID to apply to the workspace. This controls the network access rules for all
+ * serverless compute resources in the workspace. Each workspace can only be linked to one policy
+ * at a time. If no policy is explicitly assigned, the workspace will use 'default-policy'.
+ */
+ @JsonProperty("network_policy_id")
+ private String networkPolicyId;
+
+ /** The workspace ID. */
+ @JsonProperty("workspace_id")
+ private Long workspaceId;
+
+ public WorkspaceNetworkOption setNetworkPolicyId(String networkPolicyId) {
+ this.networkPolicyId = networkPolicyId;
+ return this;
+ }
+
+ public String getNetworkPolicyId() {
+ return networkPolicyId;
+ }
+
+ public WorkspaceNetworkOption setWorkspaceId(Long workspaceId) {
+ this.workspaceId = workspaceId;
+ return this;
+ }
+
+ public Long getWorkspaceId() {
+ return workspaceId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ WorkspaceNetworkOption that = (WorkspaceNetworkOption) o;
+ return Objects.equals(networkPolicyId, that.networkPolicyId)
+ && Objects.equals(workspaceId, that.workspaceId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(networkPolicyId, workspaceId);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(WorkspaceNetworkOption.class)
+ .add("networkPolicyId", networkPolicyId)
+ .add("workspaceId", workspaceId)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateFederationPolicyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateFederationPolicyRequest.java
new file mode 100755
index 000000000..0f8a544c2
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/CreateFederationPolicyRequest.java
@@ -0,0 +1,61 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Create recipient federation policy */
+@Generated
+public class CreateFederationPolicyRequest {
+ /** */
+ @JsonProperty("policy")
+ private FederationPolicy policy;
+
+ /**
+ * Name of the recipient. This is the name of the recipient for which the policy is being created.
+ */
+ @JsonIgnore private String recipientName;
+
+ public CreateFederationPolicyRequest setPolicy(FederationPolicy policy) {
+ this.policy = policy;
+ return this;
+ }
+
+ public FederationPolicy getPolicy() {
+ return policy;
+ }
+
+ public CreateFederationPolicyRequest setRecipientName(String recipientName) {
+ this.recipientName = recipientName;
+ return this;
+ }
+
+ public String getRecipientName() {
+ return recipientName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CreateFederationPolicyRequest that = (CreateFederationPolicyRequest) o;
+ return Objects.equals(policy, that.policy) && Objects.equals(recipientName, that.recipientName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(policy, recipientName);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(CreateFederationPolicyRequest.class)
+ .add("policy", policy)
+ .add("recipientName", recipientName)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteFederationPolicyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteFederationPolicyRequest.java
new file mode 100755
index 000000000..1453ea54e
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/DeleteFederationPolicyRequest.java
@@ -0,0 +1,59 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+/** Delete recipient federation policy */
+@Generated
+public class DeleteFederationPolicyRequest {
+ /** Name of the policy. This is the name of the policy to be deleted. */
+ @JsonIgnore private String name;
+
+ /**
+ * Name of the recipient. This is the name of the recipient for which the policy is being deleted.
+ */
+ @JsonIgnore private String recipientName;
+
+ public DeleteFederationPolicyRequest setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public DeleteFederationPolicyRequest setRecipientName(String recipientName) {
+ this.recipientName = recipientName;
+ return this;
+ }
+
+ public String getRecipientName() {
+ return recipientName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ DeleteFederationPolicyRequest that = (DeleteFederationPolicyRequest) o;
+ return Objects.equals(name, that.name) && Objects.equals(recipientName, that.recipientName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, recipientName);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(DeleteFederationPolicyRequest.class)
+ .add("name", name)
+ .add("recipientName", recipientName)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FederationPolicy.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FederationPolicy.java
new file mode 100755
index 000000000..b8f41b300
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/FederationPolicy.java
@@ -0,0 +1,122 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+@Generated
+public class FederationPolicy {
+ /** Description of the policy. This is a user-provided description. */
+ @JsonProperty("comment")
+ private String comment;
+
+ /** System-generated timestamp indicating when the policy was created. */
+ @JsonProperty("create_time")
+ private String createTime;
+
+ /** Unique, immutable system-generated identifier for the federation policy. */
+ @JsonProperty("id")
+ private String id;
+
+ /**
+ * Name of the federation policy. A recipient can have multiple policies with different names. The
+ * name must contain only lowercase alphanumeric characters, numbers, and hyphens.
+ */
+ @JsonProperty("name")
+ private String name;
+
+ /** Specifies the policy to use for validating OIDC claims in the federated tokens. */
+ @JsonProperty("oidc_policy")
+ private OidcFederationPolicy oidcPolicy;
+
+ /** System-generated timestamp indicating when the policy was last updated. */
+ @JsonProperty("update_time")
+ private String updateTime;
+
+ public FederationPolicy setComment(String comment) {
+ this.comment = comment;
+ return this;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ public FederationPolicy setCreateTime(String createTime) {
+ this.createTime = createTime;
+ return this;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public FederationPolicy setId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public FederationPolicy setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public FederationPolicy setOidcPolicy(OidcFederationPolicy oidcPolicy) {
+ this.oidcPolicy = oidcPolicy;
+ return this;
+ }
+
+ public OidcFederationPolicy getOidcPolicy() {
+ return oidcPolicy;
+ }
+
+ public FederationPolicy setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ return this;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ FederationPolicy that = (FederationPolicy) o;
+ return Objects.equals(comment, that.comment)
+ && Objects.equals(createTime, that.createTime)
+ && Objects.equals(id, that.id)
+ && Objects.equals(name, that.name)
+ && Objects.equals(oidcPolicy, that.oidcPolicy)
+ && Objects.equals(updateTime, that.updateTime);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(comment, createTime, id, name, oidcPolicy, updateTime);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(FederationPolicy.class)
+ .add("comment", comment)
+ .add("createTime", createTime)
+ .add("id", id)
+ .add("name", name)
+ .add("oidcPolicy", oidcPolicy)
+ .add("updateTime", updateTime)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetFederationPolicyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetFederationPolicyRequest.java
new file mode 100755
index 000000000..88320e5e1
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/GetFederationPolicyRequest.java
@@ -0,0 +1,60 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+/** Get recipient federation policy */
+@Generated
+public class GetFederationPolicyRequest {
+ /** Name of the policy. This is the name of the policy to be retrieved. */
+ @JsonIgnore private String name;
+
+ /**
+ * Name of the recipient. This is the name of the recipient for which the policy is being
+ * retrieved.
+ */
+ @JsonIgnore private String recipientName;
+
+ public GetFederationPolicyRequest setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public GetFederationPolicyRequest setRecipientName(String recipientName) {
+ this.recipientName = recipientName;
+ return this;
+ }
+
+ public String getRecipientName() {
+ return recipientName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GetFederationPolicyRequest that = (GetFederationPolicyRequest) o;
+ return Objects.equals(name, that.name) && Objects.equals(recipientName, that.recipientName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, recipientName);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GetFederationPolicyRequest.class)
+ .add("name", name)
+ .add("recipientName", recipientName)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesRequest.java
new file mode 100755
index 000000000..dcd317716
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesRequest.java
@@ -0,0 +1,80 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Objects;
+
+/** List recipient federation policies */
+@Generated
+public class ListFederationPoliciesRequest {
+ /** */
+ @JsonIgnore
+ @QueryParam("max_results")
+ private Long maxResults;
+
+ /** */
+ @JsonIgnore
+ @QueryParam("page_token")
+ private String pageToken;
+
+ /**
+ * Name of the recipient. This is the name of the recipient for which the policies are being
+ * listed.
+ */
+ @JsonIgnore private String recipientName;
+
+ public ListFederationPoliciesRequest setMaxResults(Long maxResults) {
+ this.maxResults = maxResults;
+ return this;
+ }
+
+ public Long getMaxResults() {
+ return maxResults;
+ }
+
+ public ListFederationPoliciesRequest setPageToken(String pageToken) {
+ this.pageToken = pageToken;
+ return this;
+ }
+
+ public String getPageToken() {
+ return pageToken;
+ }
+
+ public ListFederationPoliciesRequest setRecipientName(String recipientName) {
+ this.recipientName = recipientName;
+ return this;
+ }
+
+ public String getRecipientName() {
+ return recipientName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ListFederationPoliciesRequest that = (ListFederationPoliciesRequest) o;
+ return Objects.equals(maxResults, that.maxResults)
+ && Objects.equals(pageToken, that.pageToken)
+ && Objects.equals(recipientName, that.recipientName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(maxResults, pageToken, recipientName);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(ListFederationPoliciesRequest.class)
+ .add("maxResults", maxResults)
+ .add("pageToken", pageToken)
+ .add("recipientName", recipientName)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesResponse.java
new file mode 100755
index 000000000..e91353bb2
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ListFederationPoliciesResponse.java
@@ -0,0 +1,60 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+@Generated
+public class ListFederationPoliciesResponse {
+ /** */
+ @JsonProperty("next_page_token")
+ private String nextPageToken;
+
+ /** */
+ @JsonProperty("policies")
+ private Collection Supported `subject_claim` values are: - `oid`: Object ID of the user. - `azp`: Client ID of
+ * the OAuth app. - `groups`: Object ID of the group. - `sub`: Subject identifier for other use
+ * cases.
+ */
+ @JsonProperty("subject_claim")
+ private String subjectClaim;
+
+ public OidcFederationPolicy setAudiences(Collection For more information, see
+ * https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security
+ * and https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed
+ */
+@Generated
+public class RecipientFederationPoliciesAPI {
+ private static final Logger LOG = LoggerFactory.getLogger(RecipientFederationPoliciesAPI.class);
+
+ private final RecipientFederationPoliciesService impl;
+
+ /** Regular-use constructor */
+ public RecipientFederationPoliciesAPI(ApiClient apiClient) {
+ impl = new RecipientFederationPoliciesImpl(apiClient);
+ }
+
+ /** Constructor for mocks */
+ public RecipientFederationPoliciesAPI(RecipientFederationPoliciesService mock) {
+ impl = mock;
+ }
+
+ public FederationPolicy create(String recipientName, FederationPolicy policy) {
+ return create(
+ new CreateFederationPolicyRequest().setRecipientName(recipientName).setPolicy(policy));
+ }
+
+ /**
+ * Create recipient federation policy.
+ *
+ * Create a federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks
+ * to non-Databricks recipients. The caller must be the owner of the recipient. When sharing data
+ * from Databricks to non-Databricks clients, you can define a federation policy to authenticate
+ * non-Databricks recipients. The federation policy validates OIDC claims in federated tokens and
+ * is defined at the recipient level. This enables secretless sharing clients to authenticate
+ * using OIDC tokens.
+ *
+ * Supported scenarios for federation policies: 1. **User-to-Machine (U2M) flow** (e.g.,
+ * PowerBI): A user accesses a resource using their own identity. 2. **Machine-to-Machine (M2M)
+ * flow** (e.g., OAuth App): An OAuth App accesses a resource using its own identity, typically
+ * for tasks like running nightly jobs.
+ *
+ * For an overview, refer to: - Blog post: Overview of feature:
+ * https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security
+ *
+ * For detailed configuration guides based on your use case: - Creating a Federation Policy as
+ * a provider: https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed -
+ * Configuration and usage for Machine-to-Machine (M2M) applications (e.g., Python Delta Sharing
+ * Client): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-m2m - Configuration
+ * and usage for User-to-Machine (U2M) applications (e.g., PowerBI):
+ * https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-u2m
+ */
+ public FederationPolicy create(CreateFederationPolicyRequest request) {
+ return impl.create(request);
+ }
+
+ public void delete(String recipientName, String name) {
+ delete(new DeleteFederationPolicyRequest().setRecipientName(recipientName).setName(name));
+ }
+
+ /**
+ * Delete recipient federation policy.
+ *
+ * Deletes an existing federation policy for an OIDC_FEDERATION recipient. The caller must be
+ * the owner of the recipient.
+ */
+ public void delete(DeleteFederationPolicyRequest request) {
+ impl.delete(request);
+ }
+
+ public FederationPolicy getFederationPolicy(String recipientName, String name) {
+ return getFederationPolicy(
+ new GetFederationPolicyRequest().setRecipientName(recipientName).setName(name));
+ }
+
+ /**
+ * Get recipient federation policy.
+ *
+ * Reads an existing federation policy for an OIDC_FEDERATION recipient for sharing data from
+ * Databricks to non-Databricks recipients. The caller must have read access to the recipient.
+ */
+ public FederationPolicy getFederationPolicy(GetFederationPolicyRequest request) {
+ return impl.getFederationPolicy(request);
+ }
+
+ public Iterable Lists federation policies for an OIDC_FEDERATION recipient for sharing data from Databricks
+ * to non-Databricks recipients. The caller must have read access to the recipient.
+ */
+ public Iterable Updates an existing federation policy for an OIDC_RECIPIENT. The caller must be the owner of
+ * the recipient.
+ */
+ public FederationPolicy update(UpdateFederationPolicyRequest request) {
+ return impl.update(request);
+ }
+
+ public RecipientFederationPoliciesService impl() {
+ return impl;
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesImpl.java
new file mode 100755
index 000000000..03b5136cf
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesImpl.java
@@ -0,0 +1,98 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.sharing;
+
+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 RecipientFederationPolicies */
+@Generated
+class RecipientFederationPoliciesImpl implements RecipientFederationPoliciesService {
+ private final ApiClient apiClient;
+
+ public RecipientFederationPoliciesImpl(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ @Override
+ public FederationPolicy create(CreateFederationPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/data-sharing/recipients/%s/federation-policies", request.getRecipientName());
+ try {
+ Request req = new Request("POST", path, apiClient.serialize(request.getPolicy()));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, FederationPolicy.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public void delete(DeleteFederationPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/data-sharing/recipients/%s/federation-policies/%s",
+ request.getRecipientName(), request.getName());
+ try {
+ Request req = new Request("DELETE", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ apiClient.execute(req, DeleteResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public FederationPolicy getFederationPolicy(GetFederationPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/data-sharing/recipients/%s/federation-policies/%s",
+ request.getRecipientName(), request.getName());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, FederationPolicy.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public ListFederationPoliciesResponse list(ListFederationPoliciesRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/data-sharing/recipients/%s/federation-policies", request.getRecipientName());
+ try {
+ Request req = new Request("GET", path);
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ return apiClient.execute(req, ListFederationPoliciesResponse.class);
+ } catch (IOException e) {
+ throw new DatabricksException("IO error: " + e.getMessage(), e);
+ }
+ }
+
+ @Override
+ public FederationPolicy update(UpdateFederationPolicyRequest request) {
+ String path =
+ String.format(
+ "/api/2.0/data-sharing/recipients/%s/federation-policies/%s",
+ request.getRecipientName(), request.getName());
+ try {
+ Request req = new Request("PATCH", path, apiClient.serialize(request.getPolicy()));
+ ApiClient.setQuery(req, request);
+ req.withHeader("Accept", "application/json");
+ req.withHeader("Content-Type", "application/json");
+ return apiClient.execute(req, FederationPolicy.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/sharing/RecipientFederationPoliciesService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesService.java
new file mode 100755
index 000000000..ccf79726a
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesService.java
@@ -0,0 +1,93 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+
+/**
+ * The Recipient Federation Policies APIs are only applicable in the open sharing model where the
+ * recipient object has the authentication type of `OIDC_RECIPIENT`, enabling data sharing from
+ * Databricks to non-Databricks recipients. OIDC Token Federation enables secure, secret-less
+ * authentication for accessing Delta Sharing servers. Users and applications authenticate using
+ * short-lived OIDC tokens issued by their own Identity Provider (IdP), such as Azure Entra ID or
+ * Okta, without the need for managing static credentials or client secrets. A federation policy
+ * defines how non-Databricks recipients authenticate using OIDC tokens. It validates the OIDC
+ * claims in federated tokens and is set at the recipient level. The caller must be the owner of the
+ * recipient to create or manage a federation policy. Federation policies support the following
+ * scenarios: - User-to-Machine (U2M) flow: A user accesses Delta Shares using their own identity,
+ * such as connecting through PowerBI Delta Sharing Client. - Machine-to-Machine (M2M) flow: An
+ * application accesses Delta Shares using its own identity, typically for automation tasks like
+ * nightly jobs through Python Delta Sharing Client. OIDC Token Federation enables fine-grained
+ * access control, supports Multi-Factor Authentication (MFA), and enhances security by minimizing
+ * the risk of credential leakage through the use of short-lived, expiring tokens. It is designed
+ * for strong identity governance, secure cross-platform data sharing, and reduced operational
+ * overhead for credential management.
+ *
+ * For more information, see
+ * https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security
+ * and https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed
+ *
+ * This is the high-level interface, that contains generated methods.
+ *
+ * Evolving: this interface is under development. Method signatures may change.
+ */
+@Generated
+public interface RecipientFederationPoliciesService {
+ /**
+ * Create recipient federation policy.
+ *
+ * Create a federation policy for an OIDC_FEDERATION recipient for sharing data from Databricks
+ * to non-Databricks recipients. The caller must be the owner of the recipient. When sharing data
+ * from Databricks to non-Databricks clients, you can define a federation policy to authenticate
+ * non-Databricks recipients. The federation policy validates OIDC claims in federated tokens and
+ * is defined at the recipient level. This enables secretless sharing clients to authenticate
+ * using OIDC tokens.
+ *
+ * Supported scenarios for federation policies: 1. **User-to-Machine (U2M) flow** (e.g.,
+ * PowerBI): A user accesses a resource using their own identity. 2. **Machine-to-Machine (M2M)
+ * flow** (e.g., OAuth App): An OAuth App accesses a resource using its own identity, typically
+ * for tasks like running nightly jobs.
+ *
+ * For an overview, refer to: - Blog post: Overview of feature:
+ * https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security
+ *
+ * For detailed configuration guides based on your use case: - Creating a Federation Policy as
+ * a provider: https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed -
+ * Configuration and usage for Machine-to-Machine (M2M) applications (e.g., Python Delta Sharing
+ * Client): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-m2m - Configuration
+ * and usage for User-to-Machine (U2M) applications (e.g., PowerBI):
+ * https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-u2m
+ */
+ FederationPolicy create(CreateFederationPolicyRequest createFederationPolicyRequest);
+
+ /**
+ * Delete recipient federation policy.
+ *
+ * Deletes an existing federation policy for an OIDC_FEDERATION recipient. The caller must be
+ * the owner of the recipient.
+ */
+ void delete(DeleteFederationPolicyRequest deleteFederationPolicyRequest);
+
+ /**
+ * Get recipient federation policy.
+ *
+ * Reads an existing federation policy for an OIDC_FEDERATION recipient for sharing data from
+ * Databricks to non-Databricks recipients. The caller must have read access to the recipient.
+ */
+ FederationPolicy getFederationPolicy(GetFederationPolicyRequest getFederationPolicyRequest);
+
+ /**
+ * List recipient federation policies.
+ *
+ * Lists federation policies for an OIDC_FEDERATION recipient for sharing data from Databricks
+ * to non-Databricks recipients. The caller must have read access to the recipient.
+ */
+ ListFederationPoliciesResponse list(ListFederationPoliciesRequest listFederationPoliciesRequest);
+
+ /**
+ * Update recipient federation policy.
+ *
+ * Updates an existing federation policy for an OIDC_RECIPIENT. The caller must be the owner of
+ * the recipient.
+ */
+ FederationPolicy update(UpdateFederationPolicyRequest updateFederationPolicyRequest);
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/Table.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/Table.java
index c0d4e744e..119e8a050 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/Table.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/Table.java
@@ -22,6 +22,10 @@ public class Table {
@JsonProperty("internal_attributes")
private TableInternalAttributes internalAttributes;
+ /** The catalog and schema of the materialized table */
+ @JsonProperty("materialization_namespace")
+ private String materializationNamespace;
+
/** The name of a materialized table. */
@JsonProperty("materialized_table_name")
private String materializedTableName;
@@ -73,6 +77,15 @@ public TableInternalAttributes getInternalAttributes() {
return internalAttributes;
}
+ public Table setMaterializationNamespace(String materializationNamespace) {
+ this.materializationNamespace = materializationNamespace;
+ return this;
+ }
+
+ public String getMaterializationNamespace() {
+ return materializationNamespace;
+ }
+
public Table setMaterializedTableName(String materializedTableName) {
this.materializedTableName = materializedTableName;
return this;
@@ -135,6 +148,7 @@ public boolean equals(Object o) {
return Objects.equals(comment, that.comment)
&& Objects.equals(id, that.id)
&& Objects.equals(internalAttributes, that.internalAttributes)
+ && Objects.equals(materializationNamespace, that.materializationNamespace)
&& Objects.equals(materializedTableName, that.materializedTableName)
&& Objects.equals(name, that.name)
&& Objects.equals(schema, that.schema)
@@ -146,7 +160,16 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
return Objects.hash(
- comment, id, internalAttributes, materializedTableName, name, schema, share, shareId, tags);
+ comment,
+ id,
+ internalAttributes,
+ materializationNamespace,
+ materializedTableName,
+ name,
+ schema,
+ share,
+ shareId,
+ tags);
}
@Override
@@ -155,6 +178,7 @@ public String toString() {
.add("comment", comment)
.add("id", id)
.add("internalAttributes", internalAttributes)
+ .add("materializationNamespace", materializationNamespace)
.add("materializedTableName", materializedTableName)
.add("name", name)
.add("schema", schema)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateFederationPolicyRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateFederationPolicyRequest.java
new file mode 100755
index 000000000..d318fe872
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateFederationPolicyRequest.java
@@ -0,0 +1,99 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.sharing;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.QueryParam;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Objects;
+
+/** Update recipient federation policy */
+@Generated
+public class UpdateFederationPolicyRequest {
+ /** Name of the policy. This is the name of the current name of the policy. */
+ @JsonIgnore private String name;
+
+ /** */
+ @JsonProperty("policy")
+ private FederationPolicy policy;
+
+ /**
+ * Name of the recipient. This is the name of the recipient for which the policy is being updated.
+ */
+ @JsonIgnore private String recipientName;
+
+ /**
+ * The field mask specifies which fields of the policy to update. To specify multiple fields in
+ * the field mask, use comma as the separator (no space). The special value '*' indicates that all
+ * fields should be updated (full replacement). If unspecified, all fields that are set in the
+ * policy provided in the update request will overwrite the corresponding fields in the existing
+ * policy. Example value: 'comment,oidc_policy.audiences'.
+ */
+ @JsonIgnore
+ @QueryParam("update_mask")
+ private String updateMask;
+
+ public UpdateFederationPolicyRequest setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public UpdateFederationPolicyRequest setPolicy(FederationPolicy policy) {
+ this.policy = policy;
+ return this;
+ }
+
+ public FederationPolicy getPolicy() {
+ return policy;
+ }
+
+ public UpdateFederationPolicyRequest setRecipientName(String recipientName) {
+ this.recipientName = recipientName;
+ return this;
+ }
+
+ public String getRecipientName() {
+ return recipientName;
+ }
+
+ public UpdateFederationPolicyRequest setUpdateMask(String updateMask) {
+ this.updateMask = updateMask;
+ return this;
+ }
+
+ public String getUpdateMask() {
+ return updateMask;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ UpdateFederationPolicyRequest that = (UpdateFederationPolicyRequest) o;
+ return Objects.equals(name, that.name)
+ && Objects.equals(policy, that.policy)
+ && Objects.equals(recipientName, that.recipientName)
+ && Objects.equals(updateMask, that.updateMask);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, policy, recipientName, updateMask);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(UpdateFederationPolicyRequest.class)
+ .add("name", name)
+ .add("policy", policy)
+ .add("recipientName", recipientName)
+ .add("updateMask", updateMask)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateSharePermissions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateSharePermissions.java
index 823f9e6b3..26288362d 100755
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateSharePermissions.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/UpdateSharePermissions.java
@@ -18,6 +18,10 @@ public class UpdateSharePermissions {
/** The name of the share. */
@JsonIgnore private String name;
+ /** Optional. Whether to return the latest permissions list of the share in the response. */
+ @JsonProperty("omit_permissions_list")
+ private Boolean omitPermissionsList;
+
public UpdateSharePermissions setChanges(Collection