mirror of https://github.com/databricks/cli.git
68 lines
2.9 KiB
Go
68 lines
2.9 KiB
Go
package config
|
|
|
|
type Experimental struct {
|
|
Scripts map[ScriptHook]Command `json:"scripts,omitempty"`
|
|
|
|
// By default Python wheel tasks deployed as is to Databricks platform.
|
|
// If notebook wrapper required (for example, used in DBR < 13.1 or other configuration differences), users can provide a following experimental setting
|
|
// experimental:
|
|
// python_wheel_wrapper: true
|
|
// In this case the configured wheel task will be deployed as a notebook task which install defined wheel in runtime and executes it.
|
|
// For more details see https://github.com/databricks/cli/pull/797 and https://github.com/databricks/cli/pull/635
|
|
PythonWheelWrapper bool `json:"python_wheel_wrapper,omitempty"`
|
|
|
|
// Enable legacy run_as behavior. That is:
|
|
// - Set the run_as identity as the owner of any pipelines in the bundle.
|
|
// - Do not error in the presence of resources that do not support run_as.
|
|
// As of April 2024 this includes pipelines and model serving endpoints.
|
|
//
|
|
// This mode of run_as requires the deploying user to be a workspace and metastore
|
|
// admin. Use of this flag is not recommend for new bundles, and it is only provided
|
|
// to unblock customers that are stuck due to breaking changes in the run_as behavior
|
|
// made in https://github.com/databricks/cli/pull/1233. This flag might
|
|
// be removed in the future once we have a proper workaround like allowing IS_OWNER
|
|
// as a top-level permission in the DAB.
|
|
UseLegacyRunAs bool `json:"use_legacy_run_as,omitempty"`
|
|
|
|
// PyDABs determines whether to load the 'databricks-pydabs' package.
|
|
//
|
|
// PyDABs allows to define bundle configuration using Python.
|
|
PyDABs PyDABs `json:"pydabs,omitempty"`
|
|
}
|
|
|
|
type PyDABs struct {
|
|
// Enabled is a flag to enable the feature.
|
|
Enabled bool `json:"enabled,omitempty"`
|
|
|
|
// VEnvPath is path to the virtual environment.
|
|
//
|
|
// If enabled, PyDABs will execute code within this environment. If disabled,
|
|
// it defaults to using the Python interpreter available in the current shell.
|
|
VEnvPath string `json:"venv_path,omitempty"`
|
|
|
|
// Import contains a list Python packages with PyDABs code.
|
|
//
|
|
// These packages are imported to discover resources, resource generators, and mutators.
|
|
// This list can include namespace packages, which causes the import of nested packages.
|
|
Import []string `json:"import,omitempty"`
|
|
|
|
// LoadLocations is a flag to enable loading Python source locations from the PyDABs.
|
|
//
|
|
// Locations are only supported since PyDABs 0.6.0, and because of that,
|
|
// this flag is disabled by default.
|
|
LoadLocations bool `json:"load_locations,omitempty"`
|
|
}
|
|
|
|
type Command string
|
|
type ScriptHook string
|
|
|
|
// These hook names are subject to change and currently experimental
|
|
const (
|
|
ScriptPreInit ScriptHook = "preinit"
|
|
ScriptPostInit ScriptHook = "postinit"
|
|
ScriptPreBuild ScriptHook = "prebuild"
|
|
ScriptPostBuild ScriptHook = "postbuild"
|
|
ScriptPreDeploy ScriptHook = "predeploy"
|
|
ScriptPostDeploy ScriptHook = "postdeploy"
|
|
)
|