in internal/client/integrations/integrations.go [1132:1171]
func Export(folder string) (err error) {
apiclient.SetExportToFile(folder)
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
pageToken := ""
lintegrations := listintegrations{}
for {
l := listintegrations{}
listRespBytes, err := List(maxPageSize, pageToken, "", "")
if err != nil {
return fmt.Errorf("failed to fetch Integrations: %w", err)
}
err = json.Unmarshal(listRespBytes, &l)
if err != nil {
return fmt.Errorf("failed to unmarshall: %w", err)
}
lintegrations.Integrations = append(lintegrations.Integrations, l.Integrations...)
pageToken = l.NextPageToken
if l.NextPageToken == "" {
break
}
}
// no integrations where found
if len(lintegrations.Integrations) == 0 {
return nil
}
for _, lintegration := range lintegrations.Integrations {
integrationName := lintegration.Name[strings.LastIndex(lintegration.Name, "/")+1:]
clilog.Info.Printf("Exporting all the revisions for Integration Flow %s\n", integrationName)
if _, err = ListVersions(integrationName, maxPageSize, "", "", "", true, false, false); err != nil {
return err
}
}
return nil
}