Databricks CLI
Go to file
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
.codegen Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
.github Pin Go toolchain to 1.22.7 (#1790) 2024-09-25 15:45:28 +00:00
.vscode Update VS Code settings to match latest value from IDE plugin (#1677) 2024-08-14 13:21:40 +00:00
bundle Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
cmd Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
docker Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
docs Removed autogenerated docs for the CLI commands (#1392) 2024-04-23 13:25:25 +00:00
internal Move utility functions dealing with IAM to libs/iamutil (#1820) 2024-10-10 13:02:25 +00:00
libs Added JSON input validation for CLI commands (#1771) 2024-10-11 14:39:53 +00:00
.codegen.json Make bundle JSON schema modular with `$defs` (#1700) 2024-09-10 13:55:18 +00:00
.gitattributes Upgrade to Go SDK 0.47.0 (#1799) 2024-10-01 10:44:47 +00:00
.gitignore Add a foundation for built-in templates (#685) 2023-08-25 09:03:42 +00:00
.goreleaser.yaml Use latest version of goreleaser action (#1477) 2024-06-05 11:33:51 +00:00
.mockery.yaml Use mockery to generate mocks compatible with testify/mock (#1190) 2024-02-08 15:18:53 +00:00
CHANGELOG.md [Release] Release v0.230.0 (#1817) 2024-10-09 13:06:57 +00:00
Dockerfile Followup improvements to the Docker setup script (#1369) 2024-04-18 20:52:11 +00:00
LICENSE Trim trailing whitespace (#1206) 2024-02-15 16:23:48 +00:00
Makefile `make snapshot` to build file in `.databricks/databricks` (#927) 2023-10-27 10:50:41 +00:00
NOTICE Add NOTICE for using Terraform 1.5.5 licensed under MPL 2.0 (#1377) 2024-04-19 11:44:05 +00:00
README.md Add link to documentation for Homebrew installation to README (#1505) 2024-06-19 11:01:04 +00:00
go.mod Bump github.com/databricks/databricks-sdk-go from 0.47.0 to 0.48.0 (#1810) 2024-10-07 13:21:05 +00:00
go.sum Bump github.com/databricks/databricks-sdk-go from 0.47.0 to 0.48.0 (#1810) 2024-10-07 13:21:05 +00:00
main.go Add regression tests for CLI error output (#1566) 2024-07-10 06:38:06 +00:00
main_test.go Fix ability to import the CLI repository as module (#1671) 2024-08-12 14:20:04 +00:00

README.md

Databricks CLI

build

This project is in Public Preview.

Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html.

Installation

This CLI is packaged as a dependency-free binary executable and may be located in any directory. See https://github.com/databricks/cli/releases for releases and the Databricks documentation for detailed information about installing the CLI.


Homebrew

We maintain a Homebrew tap for installing the Databricks CLI. You can find instructions for how to install, upgrade and downgrade the CLI using Homebrew here.


Docker

You can use the CLI via a Docker image by pulling the image from ghcr.io. You can find all available versions at: https://github.com/databricks/cli/pkgs/container/cli.

docker pull ghcr.io/databricks/cli:latest

Example of how to run the CLI using the Docker image. More documentation is available at https://docs.databricks.com/dev-tools/bundles/airgapped-environment.html.

docker run -e DATABRICKS_HOST=$YOUR_HOST_URL -e DATABRICKS_TOKEN=$YOUR_TOKEN ghcr.io/databricks/cli:latest current-user me

Authentication

This CLI follows the Databricks Unified Authentication principles.

You can find a detailed description at https://github.com/databricks/databricks-sdk-go#authentication.