package paths import ( "fmt" "path/filepath" "github.com/databricks/cli/libs/dyn" ) type Paths struct { // Absolute path on the local file system to the configuration file that holds // the definition of this resource. ConfigFilePath string `json:"-" bundle:"readonly"` // DynamicValue stores the [dyn.Value] of the containing struct. // This assumes that this struct is always embedded. DynamicValue dyn.Value `json:"-"` } func (p *Paths) ConfigureConfigFilePath() { if !p.DynamicValue.IsValid() { panic("DynamicValue not set") } p.ConfigFilePath = p.DynamicValue.Location().File } func (p *Paths) ConfigFileDirectory() (string, error) { if p.ConfigFilePath == "" { return "", fmt.Errorf("config file path not configured") } return filepath.Dir(p.ConfigFilePath), nil }