Databricks CLI
Go to file
Pieter Noordhuis e4d039a1aa
Handle normalization of `dyn.KindTime` into an any type (#1836)
## Changes

The issue reported in #1828 illustrates how using a YAML timestamp-like
value (a date in this case) causes an issue during conversion to and
from the typed configuration tree.

We use the `AsAny()` function on the `dyn.Value` when normalizing for
the `any` type. We only use the `any` type for variable values, because
they can assume every type. The `AsAny()` function returns a `time.Time`
for the time value during conversion **to** the typed configuration
tree. Upon conversion **from** the typed configuration tree back into
the dynamic configuration tree, we cannot distinguish a `time.Time`
struct from any other struct.

To address this, we use the underlying string value of the time value
when we normalize for the `any` type.

Fixes #1828.

## Tests

Existing unit tests pass
2024-10-17 10:00:40 +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 Handle normalization of `dyn.KindTime` into an any type (#1836) 2024-10-17 10:00:40 +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 Fix `TestAccFsMkdirWhenFileExistsAtPath` in isolated Azure environments (#1833) 2024-10-16 12:50:17 +00:00
libs Handle normalization of `dyn.KindTime` into an any type (#1836) 2024-10-17 10:00:40 +00:00
.codegen.json Assert SDK version is consistent in the CLI generation process (#1814) 2024-10-14 16:19:48 +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.