databricks-cli/cmd/bundle/dryrun.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

49 lines
1.1 KiB
Go
Raw Normal View History

2025-03-09 20:17:56 +00:00
package bundle
import (
"github.com/databricks/cli/bundle/run"
"github.com/databricks/cli/clis"
"github.com/databricks/cli/libs/cmdio"
"github.com/spf13/cobra"
)
func newDryRunCommand(hidden bool) *cobra.Command {
cmd := &cobra.Command{
Use: "dry-run [flags] KEY",
Short: "Start a dry run",
Long: `Start a dry run of the DLT pipeline identified by KEY.
This command is a short-hand for 'databricks bundle run --validate-only KEY
The KEY is the unique identifier of the resource to run, for example:
databricks bundle dry-run my_dlt
`,
Hidden: hidden,
}
runCmd := newRunCommand(clis.DLT)
var pipelineOpts run.PipelineOptions
pipelineOpts.Define(cmd.Flags())
// Reuse the run command's implementation but with our pipeline options
cmd.RunE = func(cmd *cobra.Command, args []string) error {
ctx := cmd.Context()
err := runCmd.Flags().Set("validate-only", "true")
if err != nil {
return err
}
err = runCmd.RunE(cmd, nil)
if err != nil {
return err
}
cmdio.LogString(ctx, "✅ dry run successful, no problems found!")
return nil
}
cmd.ValidArgsFunction = runCmd.ValidArgsFunction
return cmd
}