databricks-cli/libs
Andrew Nester f0e2981596
Added JSON input validation for CLI commands (#1771)
## Changes
Added JSON input validation for CLI commands. Now when invalid JSON
passed as a payload to CLI commands, CLI performs input normalisation
and detects if there are any mismatches such as incorrect types, unknown
fields and etc.

This diagnostic information is printed in standard error output and does
not block command execution, so the change is backward compatible.

Fixes #1769 #1764 #1625 #1560


## Tests
Added unit tests

```
andrew.nester@HFW9Y94129 ~ % databricks jobs create --json '{"seeti}'
Error: error decoding JSON at (inline):1:2: unexpected EOF


andrew.nester@HFW9Y94129 ~ % databricks jobs create --json '{"seeti": true}'
Warning: unknown field: seeti
  in (inline):1:9

Error: Job settings must be specified.
```

---------

Co-authored-by: Pieter Noordhuis <pieter.noordhuis@databricks.com>
2024-10-11 14:39:53 +00:00
..
auth Move utility functions dealing with IAM to libs/iamutil (#1820) 2024-10-10 13:02:25 +00:00
cmdgroup Add trailing newline in usage string (#1382) 2024-04-19 14:12:52 +00:00
cmdio Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
databrickscfg Upgrade Go SDK to 0.44.0 (#1679) 2024-08-15 13:23:07 +00:00
diag Show actionable errors for collaborative deployment scenarios (#1386) 2024-10-10 11:18:23 +00:00
dyn Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
env Fix `panic: $HOME is not set` (#1027) 2023-11-29 19:08:27 +00:00
errs Added ability for deferred mutator execution (#380) 2023-05-16 18:01:50 +02:00
exec Fixed building Python artifacts on Windows with WSL (#1249) 2024-03-01 15:59:47 +00:00
filer Show actionable errors for collaborative deployment scenarios (#1386) 2024-10-10 11:18:23 +00:00
fileset Make fileset take optional list of paths to list (#1684) 2024-08-19 15:15:14 +00:00
flags Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
folders Move folders package into libs (#1184) 2024-02-07 16:33:18 +00:00
git Assert tokens are redacted in origin URL when username is not specified (#1785) 2024-09-23 12:42:30 +00:00
iamutil Move utility functions dealing with IAM to libs/iamutil (#1820) 2024-10-10 13:02:25 +00:00
jsonschema Make bundle JSON schema modular with `$defs` (#1700) 2024-09-10 13:55:18 +00:00
locker Correct name for force acquire deploy flag (#656) 2023-08-15 19:03:43 +00:00
log Rewrite the friendly log handler (#1038) 2023-12-01 12:17:04 +00:00
notebook Let notebook detection code use underlying metadata if available (#1574) 2024-07-10 06:37:47 +00:00
process Use Go 1.22 to build and test (#1562) 2024-07-04 06:54:41 +00:00
python Make `pydabs/venv_path` optional (#1687) 2024-08-20 13:26:57 +00:00
set Show actionable errors for collaborative deployment scenarios (#1386) 2024-10-10 11:18:23 +00:00
sync Add verbose flag to the "bundle deploy" command (#1774) 2024-09-23 10:09:11 +00:00
tags Library to validate and normalize cloud specific tags (#819) 2023-09-29 08:49:08 +00:00
template Ignore metastore permission error during template generation (#1819) 2024-10-11 12:28:56 +00:00
terraform Move to a single prompt during bundle destroy (#1583) 2024-07-24 13:02:19 +00:00
testfile Refactor and cover edge cases in sync integration tests (#160) 2023-01-10 13:16:30 +01:00
textutil Fixed job name normalisation for bundle generate (#1601) 2024-07-17 12:33:49 +00:00
vfs Replace `vfs.Path` with extension-aware filer when running on DBR (#1556) 2024-07-03 11:55:42 +00:00