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  }