Skip to content

[Feature] Specify proxy auth explicitly when using system proxy#300

Merged
renaudhartert-db merged 3 commits intodatabricks:mainfrom
vikrantpuppala:proxy-fix
Jul 10, 2024
Merged

[Feature] Specify proxy auth explicitly when using system proxy#300
renaudhartert-db merged 3 commits intodatabricks:mainfrom
vikrantpuppala:proxy-fix

Conversation

@vikrantpuppala
Copy link
Copy Markdown
Contributor

Changes

In certain cases, customers can use different ways to authenticate proxy even when using the system proxy settings (basic, kerberos etc.). Hence, post this change, the auth for system proxy can be done in different ways and needs to be explicitly specified.

Tests

Tested on a proxy setup in VMs

@vikrantpuppala vikrantpuppala requested a review from nfx July 3, 2024 15:53
@vikrantpuppala
Copy link
Copy Markdown
Contributor Author

vikrantpuppala commented Jul 3, 2024

@nfx / @tanmay-db can you please take a look at this small change?

Copy link
Copy Markdown
Contributor

@renaudhartert-db renaudhartert-db left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks reasonable to me.

Thinking-out-loud: Rather than having two config surfaces in ProxyUtils, I'd like to explore ways to parse the system properties higher in the call stack (e.g. when the config object is created) and use them to instantiate the config. This is out of scope for this PR though.

@renaudhartert-db renaudhartert-db changed the title Specify proxy auth explicitly when using system proxy [Feature] Specify proxy auth explicitly when using system proxy Jul 10, 2024
vikrantpuppala and others added 2 commits July 10, 2024 15:11
### Improvements

* Support partners in headers for SDK
([databricks#291](databricks#291)).
* Add `serverless_compute_id` field to the config
([databricks#299](databricks#299)).

### Internal Changes

* Ignore DataPlane Services during generation
([databricks#296](databricks#296)).
* Update OpenAPI spec
([databricks#297](databricks#297)).
* Retry failed integration tests
([databricks#298](databricks#298)).

### API Changes:

* Changed `list()` method for `accountClient.storageCredentials()`
service to return
`com.databricks.sdk.service.catalog.ListAccountStorageCredentialsResponse`
class.
* Changed `isolationMode` field for
`com.databricks.sdk.service.catalog.CatalogInfo` to
`com.databricks.sdk.service.catalog.CatalogIsolationMode` class.
* Added `isolationMode` field for
`com.databricks.sdk.service.catalog.ExternalLocationInfo`.
* Added `maxResults` and `pageToken` fields for
`com.databricks.sdk.service.catalog.ListCatalogsRequest`.
* Added `nextPageToken` field for
`com.databricks.sdk.service.catalog.ListCatalogsResponse`.
* Added `tableServingUrl` field for
`com.databricks.sdk.service.catalog.OnlineTable`.
* Added `isolationMode` field for
`com.databricks.sdk.service.catalog.StorageCredentialInfo`.
* Changed `isolationMode` field for
`com.databricks.sdk.service.catalog.UpdateCatalog` to
`com.databricks.sdk.service.catalog.CatalogIsolationMode` class.
* Added `isolationMode` field for
`com.databricks.sdk.service.catalog.UpdateExternalLocation`.
* Added `isolationMode` field for
`com.databricks.sdk.service.catalog.UpdateStorageCredential`.
* Added `com.databricks.sdk.service.catalog.CatalogIsolationMode` and
`com.databricks.sdk.service.catalog.ListAccountStorageCredentialsResponse`
class.es
* Added `createSchedule()`, `createSubscription()`, `deleteSchedule()`,
`deleteSubscription()`, `getSchedule()`, `getSubscription()`, `list()`,
`listSchedules()`, `listSubscriptions()` and `updateSchedule()` methods
for `workspaceClient.lakeview()` service.
* Added `com.databricks.sdk.service.dashboards.CreateScheduleRequest`,
`com.databricks.sdk.service.dashboards.CreateSubscriptionRequest`,
`com.databricks.sdk.service.dashboards.CronSchedule`,
`com.databricks.sdk.service.dashboards.DashboardView`,
`com.databricks.sdk.service.dashboards.DeleteScheduleRequest`,
`com.databricks.sdk.service.dashboards.DeleteSubscriptionRequest`,
`com.databricks.sdk.service.dashboards.GetScheduleRequest`,
`com.databricks.sdk.service.dashboards.GetSubscriptionRequest`,
`com.databricks.sdk.service.dashboards.ListDashboardsRequest`,
`com.databricks.sdk.service.dashboards.ListDashboardsResponse`,`com.databricks.sdk.service.dashboards.ListSchedulesRequest`,
`com.databricks.sdk.service.dashboards.ListSchedulesResponse`,
`com.databricks.sdk.service.dashboards.ListSubscriptionsRequest`,
`com.databricks.sdk.service.dashboards.ListSubscriptionsResponse`,
`com.databricks.sdk.service.dashboards.Schedule`,
`com.databricks.sdk.service.dashboards.SchedulePauseStatus`,
`com.databricks.sdk.service.dashboards.Subscriber`,
`com.databricks.sdk.service.dashboards.Subscription`,
`com.databricks.sdk.service.dashboards.SubscriptionSubscriberDestination`,
`com.databricks.sdk.service.dashboards.SubscriptionSubscriberUser`and
`com.databricks.sdk.service.dashboards.UpdateScheduleRequest` classes.
* Added `terminationCategory` field for
`com.databricks.sdk.service.jobs.ForEachTaskErrorMessageStats`.
* Added `onStreamingBacklogExceeded` field for
`com.databricks.sdk.service.jobs.JobEmailNotifications`.
* Added `environmentKey` field for
`com.databricks.sdk.service.jobs.RunTask`.
* Removed `conditionTask`, `dbtTask`, `notebookTask`, `pipelineTask`,
`pythonWheelTask`, `runJobTask`, `sparkJarTask`, `sparkPythonTask`,
`sparkSubmitTask` and `sqlTask` fields for
`com.databricks.sdk.service.jobs.SubmitRun`.
* Added `environments` field for
`com.databricks.sdk.service.jobs.SubmitRun`.
* Added `dbtTask` field for
`com.databricks.sdk.service.jobs.SubmitTask`.
* Added `environmentKey` field for
`com.databricks.sdk.service.jobs.SubmitTask`.
* Added `onStreamingBacklogExceeded` field for
`com.databricks.sdk.service.jobs.TaskEmailNotifications`.
* Added `periodic` field for
`com.databricks.sdk.service.jobs.TriggerSettings`.
* Added `onStreamingBacklogExceeded` field for
`com.databricks.sdk.service.jobs.WebhookNotifications`.
* Added `com.databricks.sdk.service.jobs.PeriodicTriggerConfiguration`
and
`com.databricks.sdk.service.jobs.PeriodicTriggerConfigurationTimeUnit`
classes.
* Added `batchGet()` method for `workspaceClient.consumerListings()`
service.
* Added `batchGet()` method for `workspaceClient.consumerProviders()`
service.
* Added `providerSummary` field for
`com.databricks.sdk.service.marketplace.Listing`.
* Added
`com.databricks.sdk.service.marketplace.BatchGetListingsRequest`,
`com.databricks.sdk.service.marketplace.BatchGetListingsResponse`,
`com.databricks.sdk.service.marketplace.BatchGetProvidersRequest`,
`com.databricks.sdk.service.marketplace.BatchGetProvidersResponse`,
`com.databricks.sdk.service.marketplace.ProviderIconFile`,
`com.databricks.sdk.service.marketplace.ProviderIconType`,
`com.databricks.sdk.service.marketplace.ProviderListingSummaryInfo` and
`com.databricks.sdk.service.oauth2.DataPlaneInfo` classes.
* Removed `createDeployment()` method for `workspaceClient.apps()`
service.
* Added `deploy()` and `start()` methods for `workspaceClient.apps()`
service.
 * Added `workspaceClient.servingEndpointsDataPlane()` service.
* Added `servicePrincipalId` field for
`com.databricks.sdk.service.serving.App`.
* Added `servicePrincipalName` field for
`com.databricks.sdk.service.serving.App`.
* Added `mode` field for
`com.databricks.sdk.service.serving.AppDeployment`.
* Added `mode` field for
`com.databricks.sdk.service.serving.CreateAppDeploymentRequest`.
* Added `dataPlaneInfo` field for
`com.databricks.sdk.service.serving.ServingEndpointDetailed`.
 * Added `com.databricks.sdk.service.serving.AppDeploymentMode` class.
 * Added `com.databricks.sdk.service.serving.ModelDataPlaneInfo` class.
 * Added `com.databricks.sdk.service.serving.StartAppRequest` class.
* Added `queryNextPage()` method for
`workspaceClient.vectorSearchIndexes()` service.
* Added `queryType` field for
`com.databricks.sdk.service.vectorsearch.QueryVectorIndexRequest`.
* Added `nextPageToken` field for
`com.databricks.sdk.service.vectorsearch.QueryVectorIndexResponse`.
* Added
`com.databricks.sdk.service.vectorsearch.QueryVectorIndexNextPageRequest`
class.

OpenAPI SHA: 7437dabb9dadee402c1fc060df4c1ce8cc5369f0, Date: 2024-06-24
auto-merge was automatically disabled July 10, 2024 09:42

Head branch was pushed to by a user without write access

@renaudhartert-db renaudhartert-db added this pull request to the merge queue Jul 10, 2024
Merged via the queue into databricks:main with commit e7f05b9 Jul 10, 2024
tanmay-db added a commit that referenced this pull request Jul 10, 2024
### New Features and Improvements

 * Specify proxy auth explicitly when using system proxy ([#300](#300)).

### Internal Changes

 * Add Release tag and Workflow Fix ([#309](#309)).
 * Improve Changelog by grouping changes ([#308](#308)).

### Other Changes

 * Accept any `HttpRequest` instead of `HttpUriRequest` in `CommonHttpClient` ([#305](#305)).
 * Test parsing of error messages with `int` error codes ([#303](#303)).
@tanmay-db tanmay-db mentioned this pull request Jul 10, 2024
github-merge-queue bot pushed a commit that referenced this pull request Jul 12, 2024
## 0.27.1

### New Features and Improvements
* Specify proxy auth explicitly when using system proxy
([#300](#300)).
* Accept any `HttpRequest` instead of `HttpUriRequest` in
`CommonHttpClient`
([#305](#305)).
* Add credential provider for Azure Github OIDC
([#307](#307)).

### Internal Changes
* Add Release tag and Workflow Fix
([#309](#309)).
* Improve Changelog by grouping changes
([#308](#308)).
* Test parsing of error messages with `int` error codes
([#303](#303)).
* Run AccountClientIT test only for aws-prod-ucacct
([#311](#311)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants