databricks-cli/bundle/deploy/terraform
Pieter Noordhuis 446a9d0c52
Properly deal with nil values in `convert.FromTyped` (#1511)
## Changes

When a configuration defines:
```yaml
run_as:
```

It first showed up as `run_as -> nil` in the dynamic configuration only
to later be converted to `run_as -> {}` while going through typed
conversion. We were using the presence of a key to initialize an empty
value. This is incorrect and it should have remained a nil value.

This conversion was happening in `convert.FromTyped` where any struct
always returned a map value. Instead, it should only return a map value
in any one of these cases: 1) the struct has elements, 2) the struct was
originally a map in the dynamic configuration, or 3) the struct was
initialized to a non-empty pointer value.

Stacked on top of #1516 and #1518.

## Tests

* Unit tests pass.
* Integration tests pass.
* Manually ran through bundle CRUD with a bundle without resources.
2024-06-21 13:43:21 +00:00
..
tfdyn Add support for Lakehouse monitoring in bundles (#1307) 2024-05-31 09:42:25 +00:00
apply.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
check_running_resources.go Don't merge-in remote resources during depolyments (#1432) 2024-05-15 12:41:44 +00:00
check_running_resources_test.go Don't merge-in remote resources during depolyments (#1432) 2024-05-15 12:41:44 +00:00
convert.go Add support for Lakehouse monitoring in bundles (#1307) 2024-05-31 09:42:25 +00:00
convert_test.go Properly deal with nil values in `convert.FromTyped` (#1511) 2024-06-21 13:43:21 +00:00
destroy.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
dir.go Consolidate environment variable interaction (#747) 2023-09-11 08:18:43 +00:00
import.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
init.go Update error checks that use the `os` package to use `errors.Is` (#1461) 2024-06-03 12:39:36 +00:00
init_test.go Update `testutil` helpers to return path (#1383) 2024-04-19 15:05:36 +00:00
interpolate.go Add support for Lakehouse monitoring in bundles (#1307) 2024-05-31 09:42:25 +00:00
interpolate_test.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
load.go Don't fail while parsing outdated terraform state (#1404) 2024-05-01 08:22:35 +00:00
load_test.go Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
pkg.go Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
pkg_test.go Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
plan.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
state_pull.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
state_pull_test.go Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
state_push.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
state_push_test.go Move path field to bundle type (#1316) 2024-03-27 09:03:24 +00:00
state_test.go Added deployment state for bundles (#1267) 2024-03-18 14:41:58 +00:00
unbind.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00
util.go Don't fail while parsing outdated terraform state (#1404) 2024-05-01 08:22:35 +00:00
util_test.go Don't fail while parsing outdated terraform state (#1404) 2024-05-01 08:22:35 +00:00
write.go Return `diag.Diagnostics` from mutators (#1305) 2024-03-25 14:18:47 +00:00