Uh oh!
There was an error while loading. Please reload this page.
Define constant for the invalid dyn.Value - #1101
Conversation
codecov-commenter
commented
Jan 4, 2024
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@## main #1101 +/- ##
==========================================
+ Coverage 48.43% 48.60% +0.17%
==========================================
Files 268 268 Lines 10497 10499 +2 ==========================================
+ Hits 5084 5103 +19 + Misses 4859 4842 -17
Partials 554 554 ☔ View full report in Codecov by Sentry. |
| } | ||
| // NilValue is equal to the zero-value of Value. | ||
| // InvalidValue is equal to the zero-value of Value. |
There was a problem hiding this comment.
Based on the purpose of it EmptyValue or ZeroValue might be a better name, WDYT?
There was a problem hiding this comment.
That's what it is, essentially, though I'd like to convey the validity of a value.
Both EmptyValue and ZeroValue sound like they may be valid, but it shouldn't be.
It's also symmetric with the name of the Kind and the IsValid function:
func (vValue) IsValid() bool {
returnv.k!=KindInvalid
}Then when we do some operation (like a get) and verify it returned an actual node in the tree, we can do:
out, _:=v.Get("foo.bar")
if!out.IsValid() {
// foo.bar doesn't exist
}CLI: * Tweak command groups in CLI help ([#1092](#1092)). * Fixed storage-credentials list command in text output ([#1094](#1094)). * Allow account client auth with environment variables when no `.databrickscfg` file present ([#1097](#1097)). * Always log with text format by default ([#1096](#1096)). Bundles: * Added exec.NewCommandExecutor to execute commands with correct interpreter ([#1075](#1075)). * Use resource key as name in permissions code ([#1087](#1087)). * Add support for reprompts if user input does not match template schema ([#946](#946)). * Improve experience for multiple builtin templates ([#1052](#1052)). * Improve error when bundle root is not writable ([#1093](#1093)). * Change recommended production deployment path from `/Shared` to `/Users` ([#1091](#1091)). * Allow referencing bundle resources by name ([#872](#872)). * Make libs/exec fallback to `sh` if `bash` cannot be found ([#1114](#1114)). Internal: * Functionality to walk a `config.Value` tree ([#1081](#1081)). * Rename libs/config -> libs/dyn ([#1086](#1086)). * Added codecov integration on code push ([#1095](#1095)). * Consolidate functions to convert `dyn.Value` to native types ([#1100](#1100)). * Define constant for the invalid `dyn.Value` ([#1101](#1101)). API Changes: * Changed `databricks serving-endpoints update-config` command with new required argument order. * Changed `databricks account ip-access-lists create` command with new required argument order. * Changed `databricks account ip-access-lists replace` command with new required argument order. * Changed `databricks account ip-access-lists update` command with new required argument order. * Changed `databricks ip-access-lists create` command with new required argument order. * Changed `databricks ip-access-lists replace` command with new required argument order. * Changed `databricks ip-access-lists update` command with new required argument order. OpenAPI commit a7a9dc025bb80303e676bf3708942c6aa06689f1 (2024-01-04) Dependency updates: * Bump github.com/hashicorp/terraform-exec from 0.19.0 to 0.20.0 ([#1088](#1088)). * Bump go.uber.org/mock from 0.3.0 to 0.4.0 ([#1089](#1089)). * Bump github.com/hashicorp/terraform-json from 0.18.0 to 0.20.0 ([#1090](#1090)). * Bump golang.org/x/term from 0.15.0 to 0.16.0 ([#1103](#1103)). * Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 ([#1105](#1105)). * Bump golang.org/x/sync from 0.5.0 to 0.6.0 ([#1104](#1104)). * Upgrade golang.org/x/crypto to v0.17.0 in internal module ([#1110](#1110)). * Upgrade Go SDK to v0.29.0 ([#1111](#1111)).
CLI: * Tweak command groups in CLI help ([#1092](#1092)). * Fixed storage-credentials list command in text output ([#1094](#1094)). * Allow account client auth with environment variables when no `.databrickscfg` file present ([#1097](#1097)). * Always log with text format by default ([#1096](#1096)). Bundles: * Added exec.NewCommandExecutor to execute commands with correct interpreter ([#1075](#1075)). * Use resource key as name in permissions code ([#1087](#1087)). * Add support for reprompts if user input does not match template schema ([#946](#946)). * Improve experience for multiple builtin templates ([#1052](#1052)). * Improve error when bundle root is not writable ([#1093](#1093)). * Change recommended production deployment path from `/Shared` to `/Users` ([#1091](#1091)). * Allow referencing bundle resources by name ([#872](#872)). * Make libs/exec fallback to `sh` if `bash` cannot be found ([#1114](#1114)). Internal: * Functionality to walk a `config.Value` tree ([#1081](#1081)). * Rename libs/config -> libs/dyn ([#1086](#1086)). * Added codecov integration on code push ([#1095](#1095)). * Consolidate functions to convert `dyn.Value` to native types ([#1100](#1100)). * Define constant for the invalid `dyn.Value` ([#1101](#1101)). API Changes: * Changed `databricks serving-endpoints update-config` command with new required argument order. * Changed `databricks account ip-access-lists create` command with new required argument order. * Changed `databricks account ip-access-lists replace` command with new required argument order. * Changed `databricks account ip-access-lists update` command with new required argument order. * Changed `databricks ip-access-lists create` command with new required argument order. * Changed `databricks ip-access-lists replace` command with new required argument order. * Changed `databricks ip-access-lists update` command with new required argument order. OpenAPI commit a7a9dc025bb80303e676bf3708942c6aa06689f1 (2024-01-04) Dependency updates: * Bump github.com/hashicorp/terraform-exec from 0.19.0 to 0.20.0 ([#1088](#1088)). * Bump go.uber.org/mock from 0.3.0 to 0.4.0 ([#1089](#1089)). * Bump github.com/hashicorp/terraform-json from 0.18.0 to 0.20.0 ([#1090](#1090)). * Bump golang.org/x/term from 0.15.0 to 0.16.0 ([#1103](#1103)). * Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 ([#1105](#1105)). * Bump golang.org/x/sync from 0.5.0 to 0.6.0 ([#1104](#1104)). * Upgrade golang.org/x/crypto to v0.17.0 in internal module ([#1110](#1110)). * Upgrade Go SDK to v0.29.0 ([#1111](#1111)).
## Changes The nil value is a real valid value that we need to represent. To accommodate this we introduced `dyn.KindInvalid` as the zero-value for `dyn.Kind` (see #904), but did not yet update the comments on `dyn.NilValue` or add tests for `kind.go`. This also moves `KindNil` to be last in the definition order (least likely to care about it). ## Tests Tests pass.
CLI: * Tweak command groups in CLI help ([#1092](#1092)). * Fixed storage-credentials list command in text output ([#1094](#1094)). * Allow account client auth with environment variables when no `.databrickscfg` file present ([#1097](#1097)). * Always log with text format by default ([#1096](#1096)). Bundles: * Added exec.NewCommandExecutor to execute commands with correct interpreter ([#1075](#1075)). * Use resource key as name in permissions code ([#1087](#1087)). * Add support for reprompts if user input does not match template schema ([#946](#946)). * Improve experience for multiple builtin templates ([#1052](#1052)). * Improve error when bundle root is not writable ([#1093](#1093)). * Change recommended production deployment path from `/Shared` to `/Users` ([#1091](#1091)). * Allow referencing bundle resources by name ([#872](#872)). * Make libs/exec fallback to `sh` if `bash` cannot be found ([#1114](#1114)). Internal: * Functionality to walk a `config.Value` tree ([#1081](#1081)). * Rename libs/config -> libs/dyn ([#1086](#1086)). * Added codecov integration on code push ([#1095](#1095)). * Consolidate functions to convert `dyn.Value` to native types ([#1100](#1100)). * Define constant for the invalid `dyn.Value` ([#1101](#1101)). API Changes: * Changed `databricks serving-endpoints update-config` command with new required argument order. * Changed `databricks account ip-access-lists create` command with new required argument order. * Changed `databricks account ip-access-lists replace` command with new required argument order. * Changed `databricks account ip-access-lists update` command with new required argument order. * Changed `databricks ip-access-lists create` command with new required argument order. * Changed `databricks ip-access-lists replace` command with new required argument order. * Changed `databricks ip-access-lists update` command with new required argument order. OpenAPI commit a7a9dc025bb80303e676bf3708942c6aa06689f1 (2024-01-04) Dependency updates: * Bump github.com/hashicorp/terraform-exec from 0.19.0 to 0.20.0 ([#1088](#1088)). * Bump go.uber.org/mock from 0.3.0 to 0.4.0 ([#1089](#1089)). * Bump github.com/hashicorp/terraform-json from 0.18.0 to 0.20.0 ([#1090](#1090)). * Bump golang.org/x/term from 0.15.0 to 0.16.0 ([#1103](#1103)). * Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 ([#1105](#1105)). * Bump golang.org/x/sync from 0.5.0 to 0.6.0 ([#1104](#1104)). * Upgrade golang.org/x/crypto to v0.17.0 in internal module ([#1110](#1110)). * Upgrade Go SDK to v0.29.0 ([#1111](#1111)).
Changes
The nil value is a real valid value that we need to represent. To accommodate this we introduced
dyn.KindInvalidas the zero-value fordyn.Kind(see #904), but did not yet update the comments ondyn.NilValueor add tests forkind.go.This also moves
KindNilto be last in the definition order (least likely to care about it).Tests
Tests pass.