mirror of https://github.com/databricks/cli.git
85 lines
2.6 KiB
Go
85 lines
2.6 KiB
Go
package config
|
|
|
|
import (
|
|
"github.com/databricks/cli/bundle/config/resources"
|
|
"github.com/databricks/cli/bundle/config/variable"
|
|
"github.com/databricks/databricks-sdk-go/service/jobs"
|
|
)
|
|
|
|
type Mode string
|
|
|
|
// Target defines overrides for a single target.
|
|
// This structure is recursively merged into the root configuration.
|
|
type Target struct {
|
|
// Default marks that this target must be used if one isn't specified
|
|
// by the user (through target variable or command line argument).
|
|
Default bool `json:"default,omitempty"`
|
|
|
|
// Determines the mode of the target.
|
|
// For example, 'mode: development' can be used for deployments for
|
|
// development purposes.
|
|
Mode Mode `json:"mode,omitempty"`
|
|
|
|
// Mutator configurations that e.g. change the
|
|
// name prefix of deployed resources.
|
|
Presets Presets `json:"presets,omitempty"`
|
|
|
|
// DEPRECATED: Overrides the compute used for jobs and other supported assets.
|
|
ComputeId string `json:"compute_id,omitempty"`
|
|
|
|
// Overrides the cluster used for jobs and other supported assets.
|
|
ClusterId string `json:"cluster_id,omitempty"`
|
|
|
|
Bundle *Bundle `json:"bundle,omitempty"`
|
|
|
|
Workspace *Workspace `json:"workspace,omitempty"`
|
|
|
|
Artifacts Artifacts `json:"artifacts,omitempty"`
|
|
|
|
Resources *Resources `json:"resources,omitempty"`
|
|
|
|
// Override default values or lookup name for defined variables
|
|
// Does not permit defining new variables or redefining existing ones
|
|
// in the scope of an target
|
|
//
|
|
// There are two valid ways to define a variable override in a target:
|
|
// 1. Direct value override. We normalize this to the variable.Variable
|
|
// struct format when loading the configuration YAML:
|
|
//
|
|
// variables:
|
|
// foo: "value"
|
|
//
|
|
// 2. Override matching the variable.Variable struct.
|
|
//
|
|
// variables:
|
|
// foo:
|
|
// default: "value"
|
|
//
|
|
// OR
|
|
//
|
|
// variables:
|
|
// foo:
|
|
// lookup: "resource_name"
|
|
Variables map[string]*variable.TargetVariable `json:"variables,omitempty"`
|
|
|
|
Git Git `json:"git,omitempty"`
|
|
|
|
RunAs *jobs.JobRunAs `json:"run_as,omitempty"`
|
|
|
|
Sync *Sync `json:"sync,omitempty"`
|
|
|
|
Permissions []resources.Permission `json:"permissions,omitempty"`
|
|
}
|
|
|
|
const (
|
|
// Development mode: deployments done purely for running things in development.
|
|
// Any deployed resources will be marked as "dev" and might be hidden or cleaned up.
|
|
Development Mode = "development"
|
|
|
|
// Production mode: deployments done for production purposes.
|
|
// Any deployed resources will not be changed but this mode will enable
|
|
// various strictness checks to make sure that a deployment is correctly setup
|
|
// for production purposes.
|
|
Production Mode = "production"
|
|
)
|