Repository navigation
Mark postgres_snapshot_schedules Beta and drop its PyDABs support - #6887
Merged
Merged
Conversation
Marking the resource Beta in the bundle schema (parser change lands separately) excludes it from PyDABs codegen, matching the other postgres_* resources. This is the generated fallout: the Python bindings, core wiring, generated test cases, docs, and public-API snapshot regenerated via ./task pydabs-codegen, plus the now-obsolete acceptance support fixture. Co-authored-by: Isaac <no-reply@databricks.com>
The launchStageOverrides map is documented as the way to publish a resource at a stage that differs from its API, but the type-level override was computed after findRef's early return, so it never fired for a resource with no embedded SDK spec type in cli.json (e.g. the hand-written postgres_snapshot_schedules singleton). Compute the override before findRef and stamp the type's self descriptor on a findRef miss, so the map is authoritative for the resource's schema launch stage regardless of SDK backing. Co-authored-by: Isaac <no-reply@databricks.com>
Regenerated with ./task generate-schema. The resource object now carries x-databricks-launch-stage: PUBLIC_BETA and the [Beta] description tag, matching the other postgres_* resources. Co-authored-by: Isaac <no-reply@databricks.com>
…oval Co-authored-by: Isaac <no-reply@databricks.com>
janniklasrose
commented
Sep 30, 2026
denik
approved these changes
Sep 30, 2026
Sankalp-Mittal
approved these changes
Sep 30, 2026
janniklasrose
enabled auto-merge
September 30, 2026 11:16
Collaborator
Integration test reportCommit: f7f6c73
Top 6 slowest tests (at least 2 minutes):
|
deco-sdk-tagging Bot
added a commit
that referenced
this pull request
Sep 30, 2026
## Release v1.19.0 ### CLI * Honor `CLAUDE_CONFIG_DIR` in `aitools` commands. ([#6838](#6838)) * Added `--ttl` and `--no-expiry` flags to `databricks postgres create-branch` so a branch's expiration can be set without hand-writing a `--json` spec. `--ttl` accepts the REST API duration form (`604800s`), a Go duration (`168h`), or day/week units (`7d`, `3w`); `--no-expiry` creates a branch that never expires. One of `--ttl`, `--no-expiry`, or a spec expiration in `--json` is required. ([#6313](#6313)) * `databricks ssh connect` serverless sessions now provide Claude Code and Codex configured with Unity Gateway out of the box. ([#6885](#6885)) ### AI Runtime * Add `databricks air images push` (Preview) to configure Docker authentication and push container images to Databricks Artifact Registry. ([#6869](#6869)) * `air run` now grants the configured `permissions` on the MLflow experiment as well as the job. ([#6870](#6870)) ### Bundles * Add libraries field to clusters. ([#6831](#6831)) * Error out when a configured `workspace_id` does not match the connected workspace, instead of silently using it in resource URLs emitted by `bundle summary`. ([#6754](#6754)) * Fix spurious recreation of Lakebase (Postgres) branches, roles, and catalogs when the referenced project is updated in place: an in-place project change (e.g. `display_name`) no longer forces a delete + create of resources that reference the project's or branch's `name`. ([#6865](#6865)) * Direct engine now detects and applies an explicitly configured integer zero (e.g. `gcp_attributes.local_ssd_count: 0`) added to a resource first deployed without the field. ([#6867](#6867)) * Migrate existing Terraform deployment state to the direct engine before deploying (previously done after a Terraform deploy), so the deploy runs on the direct engine. ([#6749](#6749)) * The `postgres_snapshot_schedules` resource (introduced in [v1.16.0](https://github.com/databricks/cli/releases/tag/v1.16.0)) is now marked Beta and is no longer available in PyDABs, matching the other `postgres_*` resources; configure it in YAML instead. ([#6887](#6887))
Collaborator
Integration test reportCommit: 46988e2
467 interesting tests: 467 FAIL
Top 50 slowest tests (at least 2 minutes):
|
This file contains hidden or 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
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.
Summary
postgres_snapshot_scheduleswas the onlypostgres_*resource exposed in PyDABs, while its seven siblings are Beta and PyDABs-excluded. That inconsistency traced to a deadlaunchStageOverridesentry: the type-level launch-stage override is only applied afterfindRefresolves a resource to an embedded Databricks SDK spec type in.codegen/cli.json. The snapshot-schedule resource is a hand-written singleton (GetSnapshotSchedule/UpdateSnapshotScheduleonly) with no embedded spec type, sofindRefmissed, the override never fired, the schema shipped it unlabelled, and the PyDABs stage filter (which excludesPUBLIC_BETA/PRIVATE_PREVIEW) let it through.Changes
bundle/internal/schema/parser.go: compute the launch-stage override before thefindRefearly return and stamp the type's self descriptor on afindRefmiss, solaunchStageOverridesis authoritative regardless of SDK backing.bundle/schema/jsonschema.json(regenerated): the resource object now carriesx-databricks-launch-stage: PUBLIC_BETAand the[Beta]tag, matching the otherpostgres_*resources../task pydabs-codegen): the resource is now excluded, so its Python bindings, core wiring, generated test cases, docs and public-API snapshot are removed, along with the now-obsoleteacceptance/bundle/python/postgres_snapshot_schedules-support/fixture.The resource still works via YAML / the direct engine; its deploy/bind/invariant acceptance tests are unchanged.
Breaking change
PyDABs support for
postgres_snapshot_schedulesis removed (Resources.add_postgres_snapshot_schedule,postgres_snapshot_schedule_mutator). Configure it in YAML instead.Tests
go build ./...and./task lint-qclean.bundle/internal/schemaandbundle/internal/annotationunit tests pass.refschema(unchanged), snapshot-scheduleresources/bind/invariantpass.test_python_support(coverage guard) andtest_public_apipass../task generate-schemais idempotent;./task check-changelogvalid.This pull request and its description were written by Isaac.