Skip to content

Add cloud field to HostMetadata#710

Merged
hectorcast-db merged 1 commit intomainfrom
hectorcast-db/stack/port-1-cloud-hostmetadata
Mar 19, 2026
Merged

Add cloud field to HostMetadata#710
hectorcast-db merged 1 commit intomainfrom
hectorcast-db/stack/port-1-cloud-hostmetadata

Conversation

@hectorcast-db
Copy link
Contributor

@hectorcast-db hectorcast-db commented Mar 19, 2026

🥞 Stacked PR


Summary

Port of Go SDK #1512.

Adds a cloud field to HostMetadata that is populated from the /.well-known/databricks-config discovery endpoint.

Why: Today, isAws(), isAzure(), and isGcp() infer cloud type by suffix-matching the workspace hostname against a hardcoded list of known DNS zones. This works for standard deployments but fails for non-standard hostnames (custom vanity domains, unified hosts, etc.). The discovery endpoint is the authoritative source and already returns a cloud field, but the SDK was discarding it.

Changes:

  • HostMetadata: new cloud field (@JsonProperty("cloud")), getter, and 4-arg constructor
  • HostMetadataTest: deserialization with/without cloud, constructor tests

NO_CHANGELOG=true

Test plan

  • HostMetadataTest: 4 tests for cloud field deserialization and constructors

Port of Go SDK #1512. Adds a `cloud` field (String, `@JsonProperty("cloud")`)
to the HostMetadata class, with getter and updated constructor. Includes
deserialization and constructor tests.

Co-authored-by: Isaac
@github-actions
Copy link

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/sdk-java

Inputs:

  • PR number: 710
  • Commit SHA: 85cf695c1f68ed86fd31b4d89d094c69c27311c3

Checks will be approved automatically on success.

Copy link
Contributor

@tejaskochar-db tejaskochar-db left a comment

Choose a reason for hiding this comment

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

lgtm

@hectorcast-db hectorcast-db added this pull request to the merge queue Mar 19, 2026
@hectorcast-db hectorcast-db removed this pull request from the merge queue due to a manual request Mar 19, 2026
@hectorcast-db hectorcast-db added this pull request to the merge queue Mar 19, 2026
Merged via the queue into main with commit c24277a Mar 19, 2026
16 of 17 checks passed
@hectorcast-db hectorcast-db deleted the hectorcast-db/stack/port-1-cloud-hostmetadata branch March 19, 2026 11:46
github-merge-queue bot pushed a commit that referenced this pull request Mar 19, 2026
## 🥞 Stacked PR

- [#710 Add cloud field to
HostMetadata](#710)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/710/files)]
- [**#711 Fix GetWorkspaceClient for unified account
hosts**](#711)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/711/files)]
- [#712 Add test for GetWorkspaceClient with SPOG
host](#712)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/712/files)]
- [#713 Call resolveHostMetadata on Config
init](#713)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/713/files)]
- [#714 Resolve TokenAudience from host metadata for account
hosts](#714)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/714/files)]
- [#718 Make GCP SA token refresh
non-blocking](#718)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/718/files)]
- [#719 Add integration test for host metadata
resolution](#719)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/719/files)]
- [#720 Remove unified flag usage, rely on host
metadata](#720)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/720/files)]

---------
## Summary

Port of Go SDK
[#1517](databricks/databricks-sdk-go#1517).

Fixes `getWorkspaceClient()` for unified account hosts that don't follow
the standard environment DNS zone pattern (e.g. SPOG/unified hosts).
Previously, the workspace host was always constructed via
`getDeploymentUrl(ws.getDeploymentName())`, which blindly appends the
environment's DNS zone. For unified hosts where the account and
workspace share the same host, this produces an incorrect URL.

**Changes:**
- `AccountClient.getWorkspaceClient()`: clones config instead of
mutating `this.config` for unified hosts

**Note:** `AccountClient.java` is a generated file. The template needs
to be updated.

`NO_CHANGELOG=true`

## Test plan
- [x] `AccountClientTest`: existing tests pass
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.

2 participants