github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/lib/jobs/deploy.go (about) 1 package jobs 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func (j *SJobs) DeployRelease(releaseName, svcID string) error { 9 return j.Deploy(true, releaseName, "", svcID) 10 } 11 12 func (j *SJobs) DeployTarget(target, svcID string) error { 13 return j.Deploy(false, "", target, svcID) 14 } 15 16 func (j *SJobs) Redeploy(svcID string) error { 17 return j.Deploy(true, "", "", svcID) 18 } 19 20 func (j *SJobs) Deploy(redeploy bool, releaseName, target, svcID string) error { 21 var params = []string{} 22 if releaseName != "" { 23 params = append(params, fmt.Sprintf("release=%s", releaseName)) 24 } 25 if redeploy { 26 params = append(params, "redeploy=true") 27 } 28 if target != "" { 29 params = append(params, fmt.Sprintf("target=%s", target)) 30 } 31 headers := j.Settings.HTTPManager.GetHeaders(j.Settings.SessionToken, j.Settings.Version, j.Settings.Pod, j.Settings.UsersID) 32 resp, statusCode, err := j.Settings.HTTPManager.Post(nil, fmt.Sprintf("%s%s/environments/%s/services/%s/deploy?%s", j.Settings.PaasHost, j.Settings.PaasHostVersion, j.Settings.EnvironmentID, svcID, strings.Join(params, "&")), headers) 33 if err != nil { 34 return err 35 } 36 return j.Settings.HTTPManager.ConvertResp(resp, statusCode, nil) 37 }