-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix OIDC Endpoint Fetching in DatabricksConfig for Workspace Clients #277
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tanmay-db
approved these changes
Apr 26, 2024
github-merge-queue bot
pushed a commit
that referenced
this pull request
May 13, 2024
## Changes The test is written to specifically test one branch so it should be isolated from the environment. Resolve the configuration with an empty `Environment` instance to achieve this. This test was added in #277. ## Tests * Unit test passes. * Confirmed it also passes when environment variables that are used in the nightlies are set.
tanmay-db
added a commit
that referenced
this pull request
May 15, 2024
* Fix OIDC Endpoint Fetching in DatabricksConfig for Workspace Clients ([#277](#277)). * Fix NullPointerException when reading error response body ([#276](#276)). * Update SDK to OpenAPI spec ([#280](#280)). * Remove unused script from repository root ([#281](#281)). * Add missing return ([#283](#283)). * Incorporate host in request after `authenticate()` call ([#282](#282)). * Fix NPE in string function on DatabricksConfig ([#285](#285)). * Add instructions for building a shaded JAR ([#284](#284)). * Fix test that was picking up configuration from the environment ([#287](#287)). API Changes: * Added `ingestionDefinition` field for `com.databricks.sdk.service.pipelines.CreatePipeline`. * Added `ingestionDefinition` field for `com.databricks.sdk.service.pipelines.EditPipeline`. * Added `ingestionDefinition` field for `com.databricks.sdk.service.pipelines.PipelineSpec`. * Added `com.databricks.sdk.service.pipelines.IngestionConfig` class. * Added `com.databricks.sdk.service.pipelines.ManagedIngestionPipelineDefinition` class. * Added `com.databricks.sdk.service.pipelines.SchemaSpec` class. * Added `com.databricks.sdk.service.pipelines.TableSpec` class. * Changed `create()` method for `workspaceClient.apps()` service . New request type is `com.databricks.sdk.service.serving.CreateAppRequest` class. * Changed `create()` method for `workspaceClient.apps()` service to return `com.databricks.sdk.service.serving.App` class. * Removed `deleteApp()` method for `workspaceClient.apps()` service. * Removed `getApp()` method for `workspaceClient.apps()` service. * Removed `getAppDeploymentStatus()` method for `workspaceClient.apps()` service. * Removed `getApps()` method for `workspaceClient.apps()` service. * Removed `getEvents()` method for `workspaceClient.apps()` service. * Added `createDeployment()` method for `workspaceClient.apps()` service. * Added `delete()` method for `workspaceClient.apps()` service. * Added `get()` method for `workspaceClient.apps()` service. * Added `getDeployment()` method for `workspaceClient.apps()` service. * Added `getEnvironment()` method for `workspaceClient.apps()` service. * Added `list()` method for `workspaceClient.apps()` service. * Added `listDeployments()` method for `workspaceClient.apps()` service. * Added `stop()` method for `workspaceClient.apps()` service. * Added `update()` method for `workspaceClient.apps()` service. * Added `getOpenApi()` method for `workspaceClient.servingEndpoints()` service. * Removed `com.databricks.sdk.service.serving.AppEvents` class. * Removed `com.databricks.sdk.service.serving.AppManifest` class. * Removed `com.databricks.sdk.service.serving.AppServiceStatus` class. * Added `routeOptimized` field for `com.databricks.sdk.service.serving.CreateServingEndpoint`. * Removed `com.databricks.sdk.service.serving.DeleteAppResponse` class. * Removed `com.databricks.sdk.service.serving.DeployAppRequest` class. * Removed `com.databricks.sdk.service.serving.DeploymentStatus` class. * Removed `com.databricks.sdk.service.serving.DeploymentStatusState` class. * Removed `com.databricks.sdk.service.serving.GetAppDeploymentStatusRequest` class. * Removed `com.databricks.sdk.service.serving.GetAppResponse` class. * Removed `com.databricks.sdk.service.serving.GetEventsRequest` class. * Removed `com.databricks.sdk.service.serving.ListAppEventsResponse` class. * Changed `apps` field for `com.databricks.sdk.service.serving.ListAppsResponse` to `com.databricks.sdk.service.serving.AppList` class. * Added `endpointUrl` field for `com.databricks.sdk.service.serving.ServingEndpointDetailed`. * Added `routeOptimized` field for `com.databricks.sdk.service.serving.ServingEndpointDetailed`. * Added `com.databricks.sdk.service.serving.App` class. * Added `com.databricks.sdk.service.serving.AppDeployment` class. * Added `com.databricks.sdk.service.serving.AppDeploymentState` class. * Added `com.databricks.sdk.service.serving.AppDeploymentStatus` class. * Added `com.databricks.sdk.service.serving.AppEnvironment` class. * Added `com.databricks.sdk.service.serving.AppState` class. * Added `com.databricks.sdk.service.serving.AppStatus` class. * Added `com.databricks.sdk.service.serving.CreateAppDeploymentRequest` class. * Added `com.databricks.sdk.service.serving.CreateAppRequest` class. * Added `com.databricks.sdk.service.serving.EnvVariable` class. * Added `com.databricks.sdk.service.serving.GetAppDeploymentRequest` class. * Added `com.databricks.sdk.service.serving.GetAppEnvironmentRequest` class. * Added `com.databricks.sdk.service.serving.GetOpenApiRequest` class. * Added `Object` class. * Added `com.databricks.sdk.service.serving.ListAppDeploymentsRequest` class. * Added `com.databricks.sdk.service.serving.ListAppDeploymentsResponse` class. * Added `com.databricks.sdk.service.serving.ListAppsRequest` class. * Added `com.databricks.sdk.service.serving.StopAppRequest` class. * Added `Object` class. * Added `com.databricks.sdk.service.serving.UpdateAppRequest` class. * Removed `workspaceClient.cspEnablement()` service. * Removed `workspaceClient.esmEnablement()` service. * Added `workspaceClient.complianceSecurityProfile()` service. * Added `workspaceClient.enhancedSecurityMonitoring()` service. * Removed `com.databricks.sdk.service.settings.CspEnablement` class. * Removed `com.databricks.sdk.service.settings.CspEnablementSetting` class. * Removed `com.databricks.sdk.service.settings.EsmEnablement` class. * Removed `com.databricks.sdk.service.settings.EsmEnablementSetting` class. * Removed `com.databricks.sdk.service.settings.GetCspEnablementSettingRequest` class. * Removed `com.databricks.sdk.service.settings.GetEsmEnablementSettingRequest` class. * Removed `com.databricks.sdk.service.settings.UpdateCspEnablementSettingRequest` class. * Removed `com.databricks.sdk.service.settings.UpdateEsmEnablementSettingRequest` class. * Added `com.databricks.sdk.service.settings.ComplianceSecurityProfile` class. * Added `com.databricks.sdk.service.settings.ComplianceSecurityProfileSetting` class. * Added `com.databricks.sdk.service.settings.EnhancedSecurityMonitoring` class. * Added `com.databricks.sdk.service.settings.EnhancedSecurityMonitoringSetting` class. * Added `com.databricks.sdk.service.settings.GetComplianceSecurityProfileSettingRequest` class. * Added `com.databricks.sdk.service.settings.GetEnhancedSecurityMonitoringSettingRequest` class. * Added `com.databricks.sdk.service.settings.UpdateComplianceSecurityProfileSettingRequest` class. * Added `com.databricks.sdk.service.settings.UpdateEnhancedSecurityMonitoringSettingRequest` class. * Added `tags` field for `com.databricks.sdk.service.sql.DashboardEditContent`. * Added `tags` field for `com.databricks.sdk.service.sql.QueryEditContent`. * Added `catalog` field for `com.databricks.sdk.service.sql.QueryOptions`. * Added `schema` field for `com.databricks.sdk.service.sql.QueryOptions`. * Added `tags` field for `com.databricks.sdk.service.sql.QueryPostContent`. * Added `query` field for `com.databricks.sdk.service.sql.Visualization`. OpenAPI SHA: 84f9315bc9cdcf3917f764cf608255a74271ab2c, Date: 2024-05-06
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
May 15, 2024
## 0.25.0 ### New Features and Improvements * Fix OIDC Endpoint Fetching in DatabricksConfig for Workspace Clients ([#277](#277)). * Fix NullPointerException when reading error response body ([#276](#276)). * Incorporate host in request after `authenticate()` call ([#282](#282)). * Fix NPE in string function on DatabricksConfig ([#285](#285)). ### Documentation Changes * Add instructions for building a shaded JAR ([#284](#284)). ### API Changes: * Added `ingestionDefinition` field for `com.databricks.sdk.service.pipelines.CreatePipeline`, `com.databricks.sdk.service.pipelines.EditPipeline` and `com.databricks.sdk.service.pipelines.PipelineSpec` * Changed `create()` method for `workspaceClient.apps()` service . New request type is `com.databricks.sdk.service.serving.CreateAppRequest` class. * Changed `create()` method for `workspaceClient.apps()` service to return `com.databricks.sdk.service.serving.App` class. * Removed `deleteApp()`, `getApp()`, `getApps()` and `getEvents()` method for `workspaceClient.apps()` service. * Added `createDeployment()`, `delete()`, `get()`, `getDeployment()`, `getEnvironment()`, `list()`, `listDeployments()`, `stop()`, and `update()` methods for `workspaceClient.apps()` service. * Added `getOpenApi()` method for `workspaceClient.servingEndpoints()` service. * Changed `apps` field for `com.databricks.sdk.service.serving.ListAppsResponse` to `com.databricks.sdk.service.serving.AppList` class. * Added `routeOptimized` field for `com.databricks.sdk.service.serving.CreateServingEndpoint`. * Added `endpointUrl` field for `com.databricks.sdk.service.serving.ServingEndpointDetailed`. * Added `routeOptimized` field for `com.databricks.sdk.service.serving.ServingEndpointDetailed`. * Added `tags` field for `com.databricks.sdk.service.sql.DashboardEditContent`. `com.databricks.sdk.service.sql.QueryEditContent` and `com.databricks.sdk.service.sql.QueryPostContent`. * Added `catalog` field for `com.databricks.sdk.service.sql.QueryOptions`. * Added `schema` field for `com.databricks.sdk.service.sql.QueryOptions`. * Added `query` field for `com.databricks.sdk.service.sql.Visualization`. * Added `com.databricks.sdk.service.pipelines.IngestionConfig` class. * Added `com.databricks.sdk.service.pipelines.ManagedIngestionPipelineDefinition` class. * Added `com.databricks.sdk.service.pipelines.SchemaSpec` class. * Added `com.databricks.sdk.service.pipelines.TableSpec` class. * Added `com.databricks.sdk.service.serving.App` class. * Added `com.databricks.sdk.service.serving.AppDeployment` class. * Added `com.databricks.sdk.service.serving.AppDeploymentState` class. * Added `com.databricks.sdk.service.serving.AppDeploymentStatus` class. * Added `com.databricks.sdk.service.serving.AppEnvironment` class. * Added `com.databricks.sdk.service.serving.AppState` class. * Added `com.databricks.sdk.service.serving.AppStatus` class. * Added `com.databricks.sdk.service.serving.CreateAppDeploymentRequest` class. * Added `com.databricks.sdk.service.serving.CreateAppRequest` class. * Added `com.databricks.sdk.service.serving.EnvVariable` class. * Added `com.databricks.sdk.service.serving.GetAppDeploymentRequest` class. * Added `com.databricks.sdk.service.serving.GetAppEnvironmentRequest` class. * Added `com.databricks.sdk.service.serving.GetOpenApiRequest` class. * Added `Object` class. * Added `com.databricks.sdk.service.serving.ListAppDeploymentsRequest` class. * Added `com.databricks.sdk.service.serving.ListAppDeploymentsResponse` class. * Added `com.databricks.sdk.service.serving.ListAppsRequest` class. * Added `com.databricks.sdk.service.serving.StopAppRequest` class. * Added `Object` class. * Added `com.databricks.sdk.service.serving.UpdateAppRequest` class. * Added `com.databricks.sdk.service.settings.ComplianceSecurityProfile` class. * Added `com.databricks.sdk.service.settings.ComplianceSecurityProfileSetting` class. * Added `com.databricks.sdk.service.settings.EnhancedSecurityMonitoring` class. * Added `com.databricks.sdk.service.settings.EnhancedSecurityMonitoringSetting` class. * Added `com.databricks.sdk.service.settings.GetComplianceSecurityProfileSettingRequest` class. * Added `com.databricks.sdk.service.settings.GetEnhancedSecurityMonitoringSettingRequest` class. * Added `com.databricks.sdk.service.settings.UpdateComplianceSecurityProfileSettingRequest` class. * Added `com.databricks.sdk.service.settings.UpdateEnhancedSecurityMonitoringSettingRequest` class. * Added `workspaceClient.complianceSecurityProfile()` service. * Added `workspaceClient.enhancedSecurityMonitoring()` service. * Removed `workspaceClient.cspEnablement()` service. * Removed `workspaceClient.esmEnablement()` service. * Removed `com.databricks.sdk.service.serving.AppEvents` class. * Removed `com.databricks.sdk.service.serving.AppManifest` class. * Removed `com.databricks.sdk.service.serving.AppServiceStatus` class. * Removed `com.databricks.sdk.service.serving.DeleteAppResponse` class. * Removed `com.databricks.sdk.service.serving.DeployAppRequest` class. * Removed `com.databricks.sdk.service.serving.DeploymentStatus` class. * Removed `com.databricks.sdk.service.serving.DeploymentStatusState` class. * Removed `com.databricks.sdk.service.serving.GetAppDeploymentStatusRequest` class. * Removed `com.databricks.sdk.service.serving.GetAppResponse` class. * Removed `com.databricks.sdk.service.serving.GetEventsRequest` class. * Removed `com.databricks.sdk.service.serving.ListAppEventsResponse` class. * Removed `com.databricks.sdk.service.settings.CspEnablement` class. * Removed `com.databricks.sdk.service.settings.CspEnablementSetting` class. * Removed `com.databricks.sdk.service.settings.EsmEnablement` class. * Removed `com.databricks.sdk.service.settings.EsmEnablementSetting` class. * Removed `com.databricks.sdk.service.settings.GetCspEnablementSettingRequest` class. * Removed `com.databricks.sdk.service.settings.GetEsmEnablementSettingRequest` class. * Removed `com.databricks.sdk.service.settings.UpdateCspEnablementSettingRequest` class. * Removed `com.databricks.sdk.service.settings.UpdateEsmEnablementSettingRequest` class. OpenAPI SHA: 84f9315bc9cdcf3917f764cf608255a74271ab2c, Date: 2024-05-06 ### Internal Changes * Update SDK to OpenAPI spec ([#280](#280)). * Remove unused script from repository root ([#281](#281)). * Add missing return ([#283](#283)). * Fix test that was picking up configuration from the environment ([#287](#287)).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
The logic for determining OIDC endpoints depends on whether a user is authenticating to the workspace or account. The Java SDK uses presence of account ID to make this decision, which is actually incorrect: logic for determining whether a client is configured at the workspace or account-level is based on the hostname. This PR fixes this logic to match the Python SDK. As a result, users are able to set the account ID configuration for Workspace clients and will still be able to authenticate with OAuth.
Tests