github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+incompatible/actor/v7action/deployment.go (about)

     1  package v7action
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/actor/actionerror"
     5  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3"
     6  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3/constant"
     7  )
     8  
     9  type Deployment ccv3.Deployment
    10  
    11  func (actor Actor) CreateDeployment(appGUID string, dropletGUID string) (string, Warnings, error) {
    12  	deploymentGUID, warnings, err := actor.CloudControllerClient.CreateApplicationDeployment(appGUID, dropletGUID)
    13  
    14  	return deploymentGUID, Warnings(warnings), err
    15  }
    16  
    17  func (actor Actor) GetLatestActiveDeploymentForApp(appGUID string) (Deployment, Warnings, error) {
    18  	ccDeployments, warnings, err := actor.CloudControllerClient.GetDeployments(
    19  		ccv3.Query{Key: ccv3.AppGUIDFilter, Values: []string{appGUID}},
    20  		ccv3.Query{Key: ccv3.StatusValueFilter, Values: []string{string(constant.DeploymentStatusValueActive)}},
    21  		ccv3.Query{Key: ccv3.OrderBy, Values: []string{ccv3.CreatedAtDescendingOrder}},
    22  		ccv3.Query{Key: ccv3.PerPage, Values: []string{"1"}},
    23  	)
    24  
    25  	if err != nil {
    26  		return Deployment{}, Warnings(warnings), err
    27  	}
    28  
    29  	if len(ccDeployments) == 0 {
    30  		return Deployment{}, Warnings(warnings), actionerror.ActiveDeploymentNotFoundError{}
    31  	}
    32  
    33  	return Deployment(ccDeployments[0]), Warnings(warnings), nil
    34  }
    35  
    36  func (actor Actor) CancelDeployment(deploymentGUID string) (Warnings, error) {
    37  	warnings, err := actor.CloudControllerClient.CancelDeployment(deploymentGUID)
    38  	return Warnings(warnings), err
    39  }