From aed6b9eff94d0d0018a4f11478796b475fecb264 Mon Sep 17 00:00:00 2001 From: srinandan <13950006+srinandan@users.noreply.github.com> Date: Thu, 27 Apr 2023 07:37:18 -0700 Subject: [PATCH 1/3] bug: fixes allversions and shareflow export #190 --- internal/client/apis/apis.go | 9 +++++++-- internal/client/sharedflows/sharedflows.go | 12 +++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/internal/client/apis/apis.go b/internal/client/apis/apis.go index 2ac56b5bd..a6558bdfb 100644 --- a/internal/client/apis/apis.go +++ b/internal/client/apis/apis.go @@ -385,8 +385,13 @@ func ExportProxies(conn int, folder string, allRevisions bool) (err error) { } for _, proxy := range prxs.Proxies { - for _, rev := range proxy.Revision { - jobChan <- revision{name: proxy.Name, rev: rev} + if allRevisions { + for _, rev := range proxy.Revision { + jobChan <- revision{name: proxy.Name, rev: rev} + } + } else { + lastRevision := maxRevision(proxy.Revision) + jobChan <- revision{name: proxy.Name, rev: lastRevision} } } close(jobChan) diff --git a/internal/client/sharedflows/sharedflows.go b/internal/client/sharedflows/sharedflows.go index aa01e6221..6df687caf 100644 --- a/internal/client/sharedflows/sharedflows.go +++ b/internal/client/sharedflows/sharedflows.go @@ -337,9 +337,15 @@ func Export(conn int, folder string, allRevisions bool) (err error) { } for _, proxy := range shrdflows.Flows { - for _, rev := range proxy.Revision { - jobChan <- revision{name: proxy.Name, rev: rev} + if allRevisions { + for _, rev := range proxy.Revision { + jobChan <- revision{name: proxy.Name, rev: rev} + } + } else { + lastRevision := maxRevision(proxy.Revision) + jobChan <- revision{name: proxy.Name, rev: lastRevision} } + } close(jobChan) fanOutWg.Wait() @@ -400,7 +406,7 @@ func exportSharedFlows(wg *sync.WaitGroup, jobs <-chan revision, folder string, _ = fd.Close() fpath := filepath.Join(folder, fname+".zip") - if err = os.Rename(filepath.Join(os.TempDir(), fd.Name()), fpath); err != nil { + if err = os.Rename(filepath.Join(fd.Name()), fpath); err != nil { errs <- err continue } From c45f8752bf8fa76b536a66863ad3c3dbcfb3217b Mon Sep 17 00:00:00 2001 From: srinandan <13950006+srinandan@users.noreply.github.com> Date: Thu, 27 Apr 2023 09:58:38 -0700 Subject: [PATCH 2/3] bug: fixes reference exports export #190 --- cmd/targetservers/expts.go | 1 + internal/client/references/references.go | 10 +++------- internal/client/targetservers/targetservers.go | 11 ++++------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/cmd/targetservers/expts.go b/cmd/targetservers/expts.go index e823cfd9e..251482faa 100644 --- a/cmd/targetservers/expts.go +++ b/cmd/targetservers/expts.go @@ -33,6 +33,7 @@ var ExpCmd = &cobra.Command{ }, RunE: func(cmd *cobra.Command, args []string) (err error) { const exportFileName = "targetservers.json" + apiclient.DisableCmdPrintHttpResponse() payload, err := targetservers.Export(conn) if err != nil { return diff --git a/internal/client/references/references.go b/internal/client/references/references.go index 188eebe7d..2ab9f7e23 100644 --- a/internal/client/references/references.go +++ b/internal/client/references/references.go @@ -113,12 +113,10 @@ func Update(name string, description string, resourceType string, refers string) // Export func Export(conn int) (payload [][]byte, err error) { - u, _ := url.Parse(apiclient.BaseURL) - u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv(), "references") // don't print to sysout apiclient.SetClientPrintHttpResponse(false) - respBody, err := apiclient.HttpClient(u.String()) - apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting()) + defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting()) + respBody, err := List() if err != nil { return nil, err } @@ -194,9 +192,7 @@ func exportReferences(wg *sync.WaitGroup, jobs <-chan string, results chan<- []b if !ok { return } - u, _ := url.Parse(apiclient.BaseURL) - u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv(), "targetservers", job) - respBody, err := apiclient.HttpClient(u.String()) + respBody, err := Get(job) if err != nil { errs <- err } else { diff --git a/internal/client/targetservers/targetservers.go b/internal/client/targetservers/targetservers.go index e1031d617..4d112de4f 100644 --- a/internal/client/targetservers/targetservers.go +++ b/internal/client/targetservers/targetservers.go @@ -149,12 +149,11 @@ func List() (respBody []byte, err error) { // Export func Export(conn int) (payload [][]byte, err error) { - u, _ := url.Parse(apiclient.BaseURL) - u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv(), "targetservers") // don't print to sysout apiclient.SetClientPrintHttpResponse(false) - respBody, err := apiclient.HttpClient(u.String()) - apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting()) + defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting()) + + respBody, err := List() if err != nil { return nil, err } @@ -230,9 +229,7 @@ func exportServers(wg *sync.WaitGroup, jobs <-chan string, results chan<- []byte if !ok { return } - u, _ := url.Parse(apiclient.BaseURL) - u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv(), "targetservers", job) - respBody, err := apiclient.HttpClient(u.String()) + respBody, err := Get(job) if err != nil { errs <- err } else { From 117e5dd9742e761e86d7a888d0b161ce31b2d1b0 Mon Sep 17 00:00:00 2001 From: srinandan <13950006+srinandan@users.noreply.github.com> Date: Thu, 27 Apr 2023 12:13:17 -0700 Subject: [PATCH 3/3] bug: remove warning msgs #190 --- cmd/kvm/expentries.go | 4 ---- cmd/org/export.go | 4 ---- cmd/org/import.go | 3 --- cmd/org/reportmonthly.go | 2 -- cmd/org/reportyearly.go | 2 -- 5 files changed, 15 deletions(-) diff --git a/cmd/kvm/expentries.go b/cmd/kvm/expentries.go index b319d96e2..0302deb3b 100644 --- a/cmd/kvm/expentries.go +++ b/cmd/kvm/expentries.go @@ -21,8 +21,6 @@ import ( "internal/apiclient" - "internal/clilog" - "internal/client/kvm" "github.com/spf13/cobra" @@ -46,8 +44,6 @@ var ExpEntryCmd = &cobra.Command{ var payload [][]byte var fileName string - clilog.Warning.Println("Running this command against a large number of KVMs or entries can exhaust the API quota") - if payload, err = kvm.ExportEntries(proxyName, mapName); err != nil { return } diff --git a/cmd/org/export.go b/cmd/org/export.go index 15d1eb975..364961138 100644 --- a/cmd/org/export.go +++ b/cmd/org/export.go @@ -70,10 +70,6 @@ var ExportCmd = &cobra.Command{ return err } - clilog.Warning.Println("Calls to Apigee APIs have a quota of 6000 per min. " + - "Running this tool against large list of entities can exhaust that quota and " + - "impact the usage of the platform.") - clilog.Info.Println("Exporting API Proxies...") if err = apis.ExportProxies(conn, proxiesFolderName, allRevisions); proceedOnError(err) != nil { return err diff --git a/cmd/org/import.go b/cmd/org/import.go index bfd33a502..629aa35e1 100644 --- a/cmd/org/import.go +++ b/cmd/org/import.go @@ -58,9 +58,6 @@ var ImportCmd = &cobra.Command{ } apiclient.DisableCmdPrintHttpResponse() - clilog.Warning.Println("Calls to Apigee APIs have a quota of 6000 per min. " + - "Running this tool against large list of entities can exhaust " + - "that quota and impact the usage of the platform.") clilog.Info.Println("Importing API Proxies...") if err = apis.ImportProxies(conn, path.Join(folder, proxiesFolderName)); err != nil { diff --git a/cmd/org/reportmonthly.go b/cmd/org/reportmonthly.go index 646c1135f..5ee05b302 100644 --- a/cmd/org/reportmonthly.go +++ b/cmd/org/reportmonthly.go @@ -42,8 +42,6 @@ var MonthlyCmd = &cobra.Command{ clilog.Warning.Println("This API is rate limited to 1 API Call per second") - clilog.Warning.Println("This API is rate limited to 1 API Call per second") - if _, err = time.Parse("1/2006", fmt.Sprintf("%d/%d", month, year)); err != nil { return } diff --git a/cmd/org/reportyearly.go b/cmd/org/reportyearly.go index 4b292e26d..8ccafb344 100644 --- a/cmd/org/reportyearly.go +++ b/cmd/org/reportyearly.go @@ -42,8 +42,6 @@ var YearlyCmd = &cobra.Command{ clilog.Warning.Println("This API is rate limited to 1 API Call per second") - clilog.Warning.Println("This API is rate limited to 1 API Call per second") - if _, err = time.Parse("2006", fmt.Sprintf("%d", year)); err != nil { return }