in internal/client/connections/connectors.go [984:1026]
func Import(folder string, createSecret bool, wait bool) (err error) {
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
errs := []string{}
err = filepath.Walk(folder, func(path string, info os.FileInfo, err error) error {
if err != nil {
clilog.Warning.Println("connection folder not found")
return nil
}
if info.IsDir() {
return nil
}
if filepath.Ext(path) != ".json" {
return nil
}
name := strings.TrimSuffix(filepath.Base(path), filepath.Ext(filepath.Base(path)))
content, err := os.ReadFile(path)
if err != nil {
return err
}
if _, err := Get(name, "", false, false); err != nil { // create only if connection doesn't exist
_, err = Create(name, content, "", "", "", false, createSecret, wait)
if err != nil {
errs = append(errs, err.Error())
}
clilog.Info.Printf("creating connection %s\n", name)
} else {
clilog.Info.Printf("connection %s already exists, skipping creations\n", name)
}
return nil
})
if err != nil {
return nil
}
if len(errs) > 0 {
return errors.New(strings.Join(errs, "\n"))
}
return nil
}