Skip to content

Modify permissions to use SDK types where available - #4686

Merged
denik merged 29 commits into
mainfrom
denik/simpler-permissions
Mar 11, 2026
Merged

Modify permissions to use SDK types where available#4686
denik merged 29 commits into
mainfrom
denik/simpler-permissions

Conversation

@denik

@denikdenik commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Changes

Replace custom permission types (JobPermission, PipelinePermission, AlertPermission, etc.) and their associated per-resource permission level enums with a single generic-based permission type that embeds Level type from SDK where it's available and iam.PermissionLevel where it is not.

This affects enum validation, previously, our types (except for AlertPermission) did not have associated list of values, which means invalid values were not producing a warning.

Note, alerts, dashboards, database_instances do not have dedicated permission level type, so their list of possible values includes all valid values for levels for all resources.

Why

Simplification. Supports autogeneration of resource, no need to manually provide allowed levels.

Similar change for grants: #4666

@denik
deniktemporarily deployed to test-trigger-is March 9, 2026 15:05 — with GitHub Actions Inactive
denik added a commit that referenced this pull request Mar 9, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@denik
deniktemporarily deployed to test-trigger-is March 9, 2026 15:07 — with GitHub Actions Inactive
@denikdenik changed the title Modify permissions to use SDK structsModify permissions to use a shared Permission typeMar 9, 2026
@denik
denik requested a review from kanterovMarch 9, 2026 15:10
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Mar 9, 2026

Copy link
Copy Markdown
Collaborator

Commit: c16028d

Run: 22958492625

Env🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
💚​aws linux872687816:42
💚​aws windows872707794:18
🔄​aws-ucws linux2773646968:20
🔄​aws-ucws windows2773666946:08
💚​azure linux292717796:20
💚​azure windows292737775:16
🔄​azure-ucws linux3193686929:00
🔄​azure-ucws windows3193706907:26
💚​gcp linux292677825:42
💚​gcp windows292697805:20
17 interesting tests: 7 SKIP, 6 RECOVERED, 4 flaky
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🔄​TestAccept💚​R💚​R💚​R🔄​f💚​R💚​R💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions💚​R💚​R💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions💚​R💚​R💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/resources/postgres_branches/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/recreate🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/update_protected🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/without_branch_id🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_endpoints/recreate🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/synced_database_tables/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🔄​TestAccept/ssh/connect-serverless-gpu🙈​s🙈​s🔄​f🔄​f🙈​s🙈​s🔄​f🔄​f🙈​s🙈​s
🔄​TestAccept/ssh/connection💚​R💚​R🔄​f💚​R💚​R💚​R🔄​f🔄​f💚​R💚​R
🔄​TestApiPost✅​p✅​p✅​p✅​p✅​p✅​p🔄​f🔄​f🙈​s🙈​s
Top 20 slowest tests (at least 2 minutes):
durationenvtestname
3:53aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:43aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:37aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:35gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:24aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:20azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:18azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:15aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:15gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:13azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:13azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:09gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:08aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:06gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:56aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:39aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:23azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:13azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:09azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:05azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct

denik added a commit that referenced this pull request Mar 10, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@denik
denikforce-pushed the denik/simpler-permissions branch from a39e224 to 04f0df6CompareMarch 10, 2026 13:32
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 13:33 — with GitHub Actions Inactive
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 14:08 — with GitHub Actions Inactive
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 14:33 — with GitHub Actions Inactive
denikand others added 14 commits March 10, 2026 16:24
Analogous to simpler-grant: replace 12 resource-specific permission types
with iam.AccessControlRequest from the SDK directly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove 12 per-resource permission structs (JobPermission, PipelinePermission, etc.)
and corresponding PermissionLevel enum types in favor of shared resources.Permission
- Remove IPermission interface and reflection-based dispatch in dresources/permissions.go
- Replace with static permissionResourceToObjectType map and direct type assertion
- Update annotations.yml and annotations_openapi_overrides.yml to remove obsolete entries
- Regenerate JSON schema
- Add backward-compat aliases (JobPermission, PipelinePermission, etc.) in Python __init__.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move jobs/pipelines permission aliases from packages.EXTRA_ALIASES to
aliases_patch.ALIASES, consistent with how grant aliases are handled.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
JobPermissionLevel = str and PipelinePermissionLevel = str preserve
the exported names while reflecting that levels are now plain strings.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the generic `[]resources.Permission[iam.PermissionLevel]` with
per-resource typed `resources.Permissions[L]` using the SDK's own enum types
(e.g. `jobs.JobPermissionLevel`, `pipelines.PipelinePermissionLevel`, etc.).
This provides type safety and IDE autocomplete for valid permission levels
per resource. A `PermissionsSlice` interface enables type-agnostic conversion
to `iam.AccessControlRequest` without reflection.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ypes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ermission
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
denikand others added 2 commits March 10, 2026 16:43
…mize diff
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 15:47 — with GitHub Actions Inactive
denikand others added 3 commits March 10, 2026 16:48
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 15:52 — with GitHub Actions Inactive
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 15:54 — with GitHub Actions Inactive
…ython codegen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 15:59 — with GitHub Actions Inactive
The spec is already flat with dotted keys; no logic changes needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@denik
deniktemporarily deployed to test-trigger-is March 10, 2026 16:08 — with GitHub Actions Inactive

@kanterovkanterov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

//python/... LGTM

Other code I didn't check

Comment threadNEXT_CHANGELOG.md Outdated

### Bundles
* Modify grants to use SDK types ([#4666](https://github.com/databricks/cli/pull/4666))
* Modify permissions to use SDK types where available ([#4686](https://github.com/databricks/cli/pull/4686))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is this a user-visible change now? We can clarify that we re-ordered Python enums

@pieternpietern left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you take a look at the changelog to make it to users if they need to do anything?

@denik
deniktemporarily deployed to test-trigger-is March 11, 2026 11:03 — with GitHub Actions Inactive
@denik
denik added this pull request to the merge queueMar 11, 2026
@denik
denik removed this pull request from the merge queue due to a manual request Mar 11, 2026
@denik
deniktemporarily deployed to test-trigger-is March 11, 2026 14:47 — with GitHub Actions Inactive
@denik
denik merged commit dc16dbd into mainMar 11, 2026
23 checks passed
@denik
denik deleted the denik/simpler-permissions branch March 11, 2026 15:02
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Commit: dc16dbd

Run: 22959281254

Env🪲​BUG❌​FAIL🟨​KNOWN🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🪲​aws linux33127748673562:26
🪲​aws windows31147745874370:48
🪲​aws-ucws linux3151231748583105:36
🪲​aws-ucws windows315222171159492:36
🪲​azure linux3111949373350:03
🪲​azure windows31121946374154:49
🪲​azure-ucws linux3114874058890:16
🪲​azure-ucws windows3113870459983:40
🪲​gcp linux3411947374165:51
🪲​gcp windows3111944874951:35
54 interesting tests: 22 RECOVERED, 20 FAIL, 6 flaky, 3 BUG, 2 KNOWN, 1 SKIP
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K
❌​TestAccept/bundle/apps/job_permissions❌​F❌​F❌​F✅​p❌​F❌​F🔄​f✅​p❌​F❌​F
❌​TestAccept/bundle/resources/clusters/run/spark_python_task✅​p✅​p✅​p✅​p✅​p🔄​f✅​p✅​p❌​F✅​p
❌​TestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p❌​F✅​p
❌​TestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p🔄​f✅​p✅​p❌​F✅​p
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🔄​TestAccept/bundle/resources/permissions/factcheck✅​p🔄​f✅​p✅​p✅​p✅​p✅​p✅​p🙈​s🙈​s
🔄​TestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🔄​f✅​p✅​p✅​p✅​p✅​p✅​p
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions💚​R💚​R💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions💚​R💚​R💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
🪲​TestAccept/bundle/resources/pipelines/update🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B
🪲​TestAccept/bundle/resources/pipelines/update/DATABRICKS_BUNDLE_ENGINE=direct🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B
🪲​TestAccept/bundle/resources/pipelines/update/DATABRICKS_BUNDLE_ENGINE=terraform🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B🪲​B
💚​TestAccept/bundle/resources/postgres_branches/basic🙈​S🙈​S💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/postgres_branches/basic/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/basic/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/recreate🙈​S🙈​S💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/postgres_branches/recreate/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/recreate/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/update_protected🙈​S🙈​S💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/postgres_branches/update_protected/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/update_protected/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/without_branch_id🙈​S🙈​S💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/postgres_branches/without_branch_id/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R
💚​TestAccept/bundle/resources/postgres_branches/without_branch_id/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R
❌​TestAccept/bundle/resources/postgres_endpoints/basic🙈​s🙈​s❌​F❌​F🙈​s🙈​s🙈​s🙈​s🙈​s🙈​s
❌​TestAccept/bundle/resources/postgres_endpoints/basic/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F
❌​TestAccept/bundle/resources/postgres_endpoints/basic/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F
💚​TestAccept/bundle/resources/postgres_endpoints/recreate🙈​S🙈​S💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
❌​TestAccept/bundle/resources/postgres_projects/basic🙈​s🙈​s❌​F❌​F🙈​s🙈​s🙈​s🙈​s🙈​s🙈​s
❌​TestAccept/bundle/resources/postgres_projects/basic/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F
❌​TestAccept/bundle/resources/postgres_projects/basic/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F
❌​TestAccept/bundle/resources/postgres_projects/recreate🙈​s🙈​s❌​F❌​F🙈​s🙈​s🙈​s🙈​s🙈​s🙈​s
❌​TestAccept/bundle/resources/postgres_projects/recreate/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F
❌​TestAccept/bundle/resources/postgres_projects/recreate/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F
❌​TestAccept/bundle/resources/postgres_projects/update_display_name🙈​s🙈​s❌​F❌​F🙈​s🙈​s🙈​s🙈​s🙈​s🙈​s
❌​TestAccept/bundle/resources/postgres_projects/update_display_name/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F
❌​TestAccept/bundle/resources/postgres_projects/update_display_name/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F
💚​TestAccept/bundle/resources/synced_database_tables/basic🙈​S🙈​S💚​R💚​R🙈​S🙈​S💚​R💚​R🙈​S🙈​S
💚​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
❌​TestAccept/bundle/run/app-with-job❌​F✅​p❌​F❌​F✅​p✅​p✅​p✅​p✅​p✅​p
❌​TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=direct❌​F✅​p❌​F✅​p✅​p✅​p✅​p✅​p✅​p✅​p
❌​TestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p❌​F✅​p✅​p✅​p✅​p✅​p✅​p
❌​TestAccept/ssh/connect-serverless-gpu🙈​s🙈​s✅​p❌​F🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🟨​TestAccept/ssh/connection💚​R💚​R💚​R🟨​K💚​R💚​R💚​R🔄​f💚​R💚​R
🔄​TestSparkJarTaskDeployAndRunOnWorkspace✅​p🔄​f✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🔄​TestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS✅​p🔄​f✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🔄​TestFsCpDir🔄​f✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🔄​TestFsCpDir/local_to_dbfs🔄​f✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p
Top 50 slowest tests (at least 2 minutes):
durationenvtestname
14:35gcp windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
14:21gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
13:43aws-ucws windowsTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform
13:26aws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
13:15azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
12:44aws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
12:23aws-ucws windowsTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct
11:31aws-ucws linuxTestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform
11:14azure linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
10:20gcp linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
10:09azure-ucws linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
9:53aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform
9:34aws-ucws linuxTestAccept/bundle/resources/database_instances/single-instance/DATABRICKS_BUNDLE_ENGINE=terraform
9:33aws linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
9:08aws-ucws linuxTestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=direct
9:04aws-ucws linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
9:03azure-ucws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
9:02aws linuxTestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform
8:50gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
8:46gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
8:45aws windowsTestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform
8:43azure-ucws linuxTestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=terraform
8:43aws-ucws linuxTestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform
8:42gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
8:39aws-ucws linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
8:37gcp linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
8:36aws-ucws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
8:35gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
8:33gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
8:19gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
8:17aws linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
8:10gcp linuxTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
8:06gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
8:04gcp windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
8:01azure windowsTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct
7:59aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct
7:59azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
7:57gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
7:56gcp windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=direct
7:52gcp linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
7:51aws-ucws linuxTestAccept/bundle/invariant/migrate/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=synced_database_table.yml.tmpl
7:51azure linuxTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct
7:50aws-ucws linuxTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
7:48azure-ucws linuxTestAccept/bundle/resources/database_catalogs/basic/DATABRICKS_BUNDLE_ENGINE=terraform
7:48gcp linuxTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
7:45gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
7:43aws windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
7:41gcp windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct
7:37aws-ucws windowsTestAccept/bundle/resources/database_instances/single-instance/DATABRICKS_BUNDLE_ENGINE=direct
7:37azure-ucws windowsTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform

deco-sdk-taggingBot added a commit that referenced this pull request Mar 12, 2026
## Release v0.294.0
### Bundles
* Modify grants to use SDK types ([#4666](#4666))
* Modify permissions to use SDK types where available. This makes DABs validate permission levels, producing a warning on the unknown ones ([#4686](#4686))
### Dependency updates
* Bump databricks-sdk-go from v0.112.0 to v0.119.0 ([#4631](#4631), [#4695](#4695))
rauchy pushed a commit that referenced this pull request Mar 17, 2026
## Changes
Replace custom permission types (JobPermission, PipelinePermission,
AlertPermission, etc.) and their associated per-resource permission
level enums with a single generic-based permission type that embeds
Level type from SDK where it's available and iam.PermissionLevel where
it is not.
This affects enum validation, previously, our types (except for
AlertPermission) did not have associated list of values, which means
invalid values were not producing a warning.
Note, alerts, dashboards, database_instances do not have dedicated
permission level type, so their list of possible values includes all
valid values for levels for all resources.
## Why
Simplification. Supports autogeneration of resource, no need to manually
provide allowed levels.
Similar change for grants: #4666
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
rauchy pushed a commit that referenced this pull request Mar 17, 2026
## Release v0.294.0
### Bundles
* Modify grants to use SDK types ([#4666](#4666))
* Modify permissions to use SDK types where available. This makes DABs validate permission levels, producing a warning on the unknown ones ([#4686](#4686))
### Dependency updates
* Bump databricks-sdk-go from v0.112.0 to v0.119.0 ([#4631](#4631), [#4695](#4695))
denik added a commit that referenced this pull request May 20, 2026
## Changes
Replace custom permission types (JobPermission, PipelinePermission,
AlertPermission, etc.) and their associated per-resource permission
level enums with a single generic-based permission type that embeds
Level type from SDK where it's available and iam.PermissionLevel where
it is not.
This affects enum validation, previously, our types (except for
AlertPermission) did not have associated list of values, which means
invalid values were not producing a warning.
Note, alerts, dashboards, database_instances do not have dedicated
permission level type, so their list of possible values includes all
valid values for levels for all resources.
## Why
Simplification. Supports autogeneration of resource, no need to manually
provide allowed levels.
Similar change for grants: #4666
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
denik pushed a commit that referenced this pull request May 20, 2026
## Release v0.294.0
### Bundles
* Modify grants to use SDK types ([#4666](#4666))
* Modify permissions to use SDK types where available. This makes DABs validate permission levels, producing a warning on the unknown ones ([#4686](#4686))
### Dependency updates
* Bump databricks-sdk-go from v0.112.0 to v0.119.0 ([#4631](#4631), [#4695](#4695))
Sign up for freeto 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.

4 participants

@denik@eng-dev-ecosystem-bot@pietern@kanterov