-
Notifications
You must be signed in to change notification settings - Fork 71
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
Resolve variable references inside variable lookup fields #1368
Conversation
|
||
diags := bundle.Apply(context.Background(), b, bundle.Seq(ResolveVariableReferencesInLookup(), ResolveResourceReferences())) | ||
require.ErrorContains(t, diags.Error(), "lookup variables cannot contain references to another lookup variables") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: shouldn't these tests live next to the variable resolver instead of the resource resolver?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thought about this too but decided to leave them here because at the higher level we test that lookup variables are resolved to correct values even if they contain another variable references
return &resolveVariableReferences{prefixes: []string{ | ||
"bundle", | ||
"workspace", | ||
"variables", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For parity these prefixes should be pushed down into a constructor for the main case as well. Now they are split between the phases
code and here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We actually use different prefixes in build and deploy phases, so we need to keep prefixes as constructor params
This release marks the general availability of Databricks Asset Bundles. CLI: * Publish Docker images ([#1353](#1353)). * Add support for multi-arch Docker images ([#1362](#1362)). * Do not prefill https:// in prompt for Databricks Host ([#1364](#1364)). * Add better documentation for the `auth login` command ([#1366](#1366)). * Add URLs for authentication documentation to the auth command help ([#1365](#1365)). Bundles: * Fix compute override for foreach tasks ([#1357](#1357)). * Transform artifact files source patterns in build not upload stage ([#1359](#1359)). * Convert between integer and float in normalization ([#1371](#1371)). * Disable locking for development mode ([#1302](#1302)). * Resolve variable references inside variable lookup fields ([#1368](#1368)). * Added validate mutator to surface additional bundle warnings ([#1352](#1352)). * Upgrade terraform-provider-databricks to 1.40.0 ([#1376](#1376)). * Print host in `bundle validate` when passed via profile or environment variables ([#1378](#1378)). * Cleanup remote file path on bundle destroy ([#1374](#1374)). * Add docs URL for `run_as` in error message ([#1381](#1381)). * Enable job queueing by default ([#1385](#1385)). * Added support for job environments ([#1379](#1379)). * Processing and completion of positional args to bundle run ([#1120](#1120)). * Add legacy option for `run_as` ([#1384](#1384)). API Changes: * Changed `databricks lakehouse-monitors cancel-refresh` command with new required argument order. * Changed `databricks lakehouse-monitors create` command with new required argument order. * Changed `databricks lakehouse-monitors delete` command with new required argument order. * Changed `databricks lakehouse-monitors get` command with new required argument order. * Changed `databricks lakehouse-monitors get-refresh` command with new required argument order. * Changed `databricks lakehouse-monitors list-refreshes` command with new required argument order. * Changed `databricks lakehouse-monitors run-refresh` command with new required argument order. * Changed `databricks lakehouse-monitors update` command with new required argument order. * Changed `databricks account workspace-assignment update` command to return response. OpenAPI commit 94684175b8bd65f8701f89729351f8069e8309c9 (2024-04-11) Dependency updates: * Bump github.com/databricks/databricks-sdk-go from 0.37.0 to 0.38.0 ([#1361](#1361)). * Bump golang.org/x/net from 0.22.0 to 0.23.0 ([#1380](#1380)).
This release marks the general availability of Databricks Asset Bundles. CLI: * Publish Docker images ([#1353](#1353)). * Add support for multi-arch Docker images ([#1362](#1362)). * Do not prefill https:// in prompt for Databricks Host ([#1364](#1364)). * Add better documentation for the `auth login` command ([#1366](#1366)). * Add URLs for authentication documentation to the auth command help ([#1365](#1365)). Bundles: * Fix compute override for foreach tasks ([#1357](#1357)). * Transform artifact files source patterns in build not upload stage ([#1359](#1359)). * Convert between integer and float in normalization ([#1371](#1371)). * Disable locking for development mode ([#1302](#1302)). * Resolve variable references inside variable lookup fields ([#1368](#1368)). * Added validate mutator to surface additional bundle warnings ([#1352](#1352)). * Upgrade terraform-provider-databricks to 1.40.0 ([#1376](#1376)). * Print host in `bundle validate` when passed via profile or environment variables ([#1378](#1378)). * Cleanup remote file path on bundle destroy ([#1374](#1374)). * Add docs URL for `run_as` in error message ([#1381](#1381)). * Enable job queueing by default ([#1385](#1385)). * Added support for job environments ([#1379](#1379)). * Processing and completion of positional args to bundle run ([#1120](#1120)). * Add legacy option for `run_as` ([#1384](#1384)). API Changes: * Changed `databricks lakehouse-monitors cancel-refresh` command with new required argument order. * Changed `databricks lakehouse-monitors create` command with new required argument order. * Changed `databricks lakehouse-monitors delete` command with new required argument order. * Changed `databricks lakehouse-monitors get` command with new required argument order. * Changed `databricks lakehouse-monitors get-refresh` command with new required argument order. * Changed `databricks lakehouse-monitors list-refreshes` command with new required argument order. * Changed `databricks lakehouse-monitors run-refresh` command with new required argument order. * Changed `databricks lakehouse-monitors update` command with new required argument order. * Changed `databricks account workspace-assignment update` command to return response. OpenAPI commit 94684175b8bd65f8701f89729351f8069e8309c9 (2024-04-11) Dependency updates: * Bump github.com/databricks/databricks-sdk-go from 0.37.0 to 0.38.0 ([#1361](#1361)). * Bump golang.org/x/net from 0.22.0 to 0.23.0 ([#1380](#1380)).
Changes
Allows for the syntax below
Fixes #1259
Tests
Added regression test