这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cmd/instances/crtinstance.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ var CreateCmd = &cobra.Command{
return apiclient.SetApigeeOrg(org)
},
RunE: func(cmd *cobra.Command, args []string) (err error) {
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
if billingType, err = orgs.GetOrgField("billingType"); err != nil {
return err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

if billingType != "EVALUATION" {
re := regexp.MustCompile(`projects\/([a-zA-Z0-9_-]+)\/locations` +
Expand Down
4 changes: 2 additions & 2 deletions internal/apiclient/bundles.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ func GetAsyncEntity(entityURL string, wg *sync.WaitGroup, mu *sync.Mutex) {
var respBody []byte

// don't print to sysout
SetClientPrintHttpResponse(false)
defer SetClientPrintHttpResponse(GetCmdPrintHttpResponseSetting())
ClientPrintHttpResponse.Set(false)
defer ClientPrintHttpResponse.Set(GetCmdPrintHttpResponseSetting())
respBody, err := HttpClient(entityURL)
if err != nil {
clilog.Error.Fatalf("error with entity: %s", entityURL)
Expand Down
2 changes: 1 addition & 1 deletion internal/apiclient/httpclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ func HttpClient(params ...string) (respBody []byte, err error) {

// PrettyPrint method prints formatted json
func PrettyPrint(body []byte) error {
if GetCmdPrintHttpResponseSetting() && GetClientPrintHttpResponseSetting() {
if GetCmdPrintHttpResponseSetting() && ClientPrintHttpResponse.Get() {
var prettyJSON bytes.Buffer
err := json.Indent(&prettyJSON, body, "", "\t")
if err != nil {
Expand Down
16 changes: 8 additions & 8 deletions internal/apiclient/iam.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ func CreateIAMServiceAccount(name string, iamRole string) (err error) {
return fmt.Errorf("invalid service account role")
}

SetClientPrintHttpResponse(false)
defer SetClientPrintHttpResponse(GetCmdPrintHttpResponseSetting())
ClientPrintHttpResponse.Set(false)
defer ClientPrintHttpResponse.Set(GetCmdPrintHttpResponseSetting())

// Step 1: create a new service account
u, _ := url.Parse(iamURL)
Expand Down Expand Up @@ -258,8 +258,8 @@ func SetIAMPermission(memberName string, iamRole string, memberType string) (err
role = iamRole
}

SetClientPrintHttpResponse(false)
defer SetClientPrintHttpResponse(GetCmdPrintHttpResponseSetting())
ClientPrintHttpResponse.Set(false)
defer ClientPrintHttpResponse.Set(GetCmdPrintHttpResponseSetting())

u, _ := url.Parse(BaseURL)
u.Path = path.Join(u.Path, GetApigeeOrg(), "environments", GetApigeeEnv()+":getIamPolicy")
Expand Down Expand Up @@ -313,8 +313,8 @@ func SetIAMPermission(memberName string, iamRole string, memberType string) (err

// RemoveIAMPermission removes/unbinds IAM permission from all roles for an Apigee Env
func RemoveIAMPermission(memberName string, iamRole string) (err error) {
SetClientPrintHttpResponse(false)
defer SetClientPrintHttpResponse(GetCmdPrintHttpResponseSetting())
ClientPrintHttpResponse.Set(false)
defer ClientPrintHttpResponse.Set(GetCmdPrintHttpResponseSetting())

u, _ := url.Parse(BaseURL)
u.Path = path.Join(u.Path, GetApigeeOrg(), "environments", GetApigeeEnv()+":getIamPolicy")
Expand Down Expand Up @@ -449,8 +449,8 @@ func AddWid(projectID string, namespace string, kServiceAccount string, gService
u, _ := url.Parse(crmBetaURL)
u.Path = path.Join(u.Path, GetProjectID()+":setIamPolicy")

SetClientPrintHttpResponse(false)
defer SetClientPrintHttpResponse(GetCmdPrintHttpResponseSetting())
ClientPrintHttpResponse.Set(false)
defer ClientPrintHttpResponse.Set(GetCmdPrintHttpResponseSetting())
_, err = HttpClient(u.String(), string(setIamPolicyBody))

return err
Expand Down
25 changes: 17 additions & 8 deletions internal/apiclient/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package apiclient
import (
"fmt"
"os"
"sync"

"internal/clilog"
)
Expand Down Expand Up @@ -55,10 +56,14 @@ const (

var apiRate Rate

var (
cmdPrintHttpResponses = true
clientPrintHttpResponses = true
)
var cmdPrintHttpResponses = true

type clientPrintHttpResponse struct {
enable bool
sync.Mutex
}

var ClientPrintHttpResponse = &clientPrintHttpResponse{enable: true}

// NewApigeeClient sets up options to invoke Apigee APIs
func NewApigeeClient(o ApigeeClientOptions) {
Expand Down Expand Up @@ -204,13 +209,17 @@ func GetCmdPrintHttpResponseSetting() bool {
}

// SetClientPrintHttpResponse
func SetClientPrintHttpResponse(b bool) {
clientPrintHttpResponses = b
func (c *clientPrintHttpResponse) Set(b bool) {
c.Lock()
defer c.Unlock()
c.enable = b
}

// GetPrintHttpResponseSetting
func GetClientPrintHttpResponseSetting() bool {
return clientPrintHttpResponses
func (c *clientPrintHttpResponse) Get() bool {
c.Lock()
defer c.Unlock()
return c.enable
}

// GetProxyURL
Expand Down
20 changes: 10 additions & 10 deletions internal/client/apis/apis.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,11 @@ func DeployProxy(name string, revision int, overrides bool, sequencedRollout boo
if safeDeploy {
var safeResp []byte
d := deploychangereport{}
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
if safeResp, err = GenerateDeployChangeReport(name, revision, overrides); err != nil {
return nil, err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
if err = json.Unmarshal(safeResp, &d); err != nil {
return nil, err
}
Expand Down Expand Up @@ -170,8 +170,8 @@ func GetProxy(name string, revision int) (respBody []byte, err error) {

// GetHighestProxyRevision
func GetHighestProxyRevision(name string) (version int, err error) {
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

u, _ := url.Parse(apiclient.BaseURL)
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "apis", name)
Expand Down Expand Up @@ -273,11 +273,11 @@ func ListProxyRevisionDeployments(name string, revision int) (respBody []byte, e
func UndeployProxy(name string, revision int, safeUndeploy bool) (respBody []byte, err error) {
if safeUndeploy {
var safeResp []byte
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
if safeResp, err = GenerateUndeployChangeReport(name, revision); err != nil {
return nil, err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
d := deploychangereport{}
if err = json.Unmarshal(safeResp, &d); err != nil {
return nil, err
Expand Down Expand Up @@ -350,8 +350,8 @@ func CleanProxy(name string, reportOnly bool, keepList []string) (err error) {
var revision int

// disable printing
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

// step 1. get a list of revisions that are deployed.
if proxyDeploymentsBytes, err = ListProxyDeployments(name); err != nil {
Expand Down Expand Up @@ -424,8 +424,8 @@ func ExportProxies(conn int, folder string, allRevisions bool) (err error) {
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "apis")

// don't print to sysout
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

respBody, err := apiclient.HttpClient(u.String())
if err != nil {
Expand Down
12 changes: 6 additions & 6 deletions internal/client/apps/apps.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@ func Manage(appID string, developerEmail string, action string) (respBody []byte

// SearchApp
func SearchApp(name string) (respBody []byte, err error) {
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

u, _ := url.Parse(apiclient.BaseURL)
// search by name is not implemented; use list and return the appropriate app
Expand Down Expand Up @@ -239,8 +239,8 @@ func GenerateKey(name string, developerID string, apiProducts []string, callback

// Export
func Export(conn int) (payload [][]byte, err error) {
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

// parent workgroup
var pwg sync.WaitGroup
Expand Down Expand Up @@ -445,9 +445,9 @@ func createAsyncApp(app application, developerEntities developers.Appdevelopers,
newAppCredentials := newDeveloperApp["credentials"].([]interface{})
temporaryCredential := newAppCredentials[0].(map[string]interface{})

apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
_, err = DeleteKey(developerEmail, newDeveloperApp["name"].(string), temporaryCredential["consumerKey"].(string))
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
if err != nil {
clilog.Error.Println(err)
return
Expand Down
6 changes: 3 additions & 3 deletions internal/client/apps/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func CreateKey(developerEmail string, appID string, consumerKey string, consumer
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "developers", developerEmail, "apps", appID, "keys")

if len(apiProducts) > 0 {
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
}
respBody, err = apiclient.HttpClient(u.String(), payload)

Expand All @@ -58,9 +58,9 @@ func CreateKey(developerEmail string, appID string, consumerKey string, consumer

// since the API does not support adding products when creating a key, use a second API call to add products
if len(apiProducts) > 0 {
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
respBody, err = UpdateKeyProducts(developerEmail, appID, consumerKey, apiProducts)
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
}

return respBody, err
Expand Down
8 changes: 4 additions & 4 deletions internal/client/developers/developers.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ func Get(email string) (respBody []byte, err error) {

// GetDeveloperId
func GetDeveloperId(email string) (developerId string, err error) {
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
var developerMap map[string]interface{}
u, _ := url.Parse(apiclient.BaseURL)
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "developers", url.QueryEscape(email)) // since developer emails can have +
Expand Down Expand Up @@ -159,8 +159,8 @@ func Export() (respBody []byte, err error) {

u.RawQuery = q.Encode()
// don't print to sysout
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
respBody, err = apiclient.HttpClient(u.String())
return respBody, err
}
Expand Down
4 changes: 2 additions & 2 deletions internal/client/developers/subscriptions.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ func ExportSubscriptions(email string) (respBody []byte, err error) {
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "developers", url.QueryEscape(email), "subscriptions")

// don't print to sysout
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
respBody, err = apiclient.HttpClient(u.String())
return respBody, err
}
4 changes: 2 additions & 2 deletions internal/client/env/archives.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ import (

// generateUploadURL
func generateUploadURL() (respBody []byte, err error) {
apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
u, _ := url.Parse(apiclient.BaseURL)
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv(), "archiveDeployments:generateUploadUrl")
respBody, err = apiclient.HttpClient(u.String(), "")
Expand Down
12 changes: 6 additions & 6 deletions internal/client/env/env.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func GetDeployments(sharedflows bool) (respBody []byte, err error) {
}

func GetAllDeployments() (respBody []byte, err error) {
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
proxiesResponse, err := GetDeployments(false)
if err != nil {
return nil, err
Expand All @@ -111,7 +111,7 @@ func GetAllDeployments() (respBody []byte, err error) {
deployments = append(deployments, "\"sharedFlows\":"+string(sharedFlowsResponse))
payload := "{" + strings.Join(deployments, ",") + "}"

apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
err = apiclient.PrettyPrint([]byte(payload))
return []byte(payload), err
}
Expand Down Expand Up @@ -148,9 +148,9 @@ func SetEnvProperty(name string, value string) (err error) {
u, _ := url.Parse(apiclient.BaseURL)
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv())
// get env details
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
envBody, err := apiclient.HttpClient(u.String())
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
if err != nil {
return err
}
Expand Down Expand Up @@ -217,9 +217,9 @@ func ClearEnvProperties() (err error) {
u, _ := url.Parse(apiclient.BaseURL)
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "environments", apiclient.GetApigeeEnv())
// get env details
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
envBody, err := apiclient.HttpClient(u.String())
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions internal/client/env/traceconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ func DisableTraceConfig() (respBody []byte, err error) {
var traceRespBody []byte
var payload []byte

apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
if traceRespBody, err = GetTraceConfig(); err != nil {
return nil, err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

traceResp := traceCfg{}
if err = json.Unmarshal(traceRespBody, &traceResp); err != nil {
Expand Down
4 changes: 2 additions & 2 deletions internal/client/envgroups/envgroups.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,11 @@ func DetachEnvironment(name string, environment string) (respBody []byte, err er

envGroupAttachments := attachments{}

apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
if respBody, err = ListAttach(name); err != nil {
return nil, err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

if err := json.Unmarshal(respBody, &envGroupAttachments); err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions internal/client/instances/attachments.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,12 @@ func getAttachmentName(instance string) (attachmentName string, err error) {

instAttach := instanceAttachments{}

apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
listAttachments, err := ListAttach(instance)
if err != nil {
return "", err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

err = json.Unmarshal(listAttachments, &instAttach)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions internal/client/kvm/entries.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ func ExportEntries(proxyName string, mapName string) (payload [][]byte, err erro
var respBody []byte
count := 1

apiclient.SetClientPrintHttpResponse(false)
defer apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(false)
defer apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())

if respBody, err = ListEntries(proxyName, mapName, -1, ""); err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions internal/client/operations/operations.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ func List(state string, completeState OperationCompleteState) (respBody []byte,
u, _ := url.Parse(apiclient.BaseURL)
u.Path = path.Join(u.Path, apiclient.GetApigeeOrg(), "operations")
if state != "" {
apiclient.SetClientPrintHttpResponse(false)
apiclient.ClientPrintHttpResponse.Set(false)
if respBody, err = apiclient.HttpClient(u.String()); err != nil {
return nil, err
}
apiclient.SetClientPrintHttpResponse(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
return filterOperation(respBody, state, completeState)
}

Expand Down
Loading