Ejemplo n.º 1
0
func (client *Client) DeploymentDetail(id string) (*api.DeploymentStatsResponse, error) {
	request := api.DeploymentStatsRequest{Deployment: id}
	request.Sign(client.AccessKeyName, client.AccessKey)
	var response api.DeploymentStatsResponse
	err := client.request("deploy/list", request, &response)
	if !response.Validate(client.AccessKey) {
		return nil, errors.New("Could not validate signature")
	}
	return &response, err
}
Ejemplo n.º 2
0
func (client *Client) ListDeploys(namePattern string, limitToken bool,
	count int) (*api.DeploymentStatsResponse, error) {
	request := api.DeploymentStatsRequest{
		Count:        int64(count),
		NamePattern:  namePattern,
		TokenPattern: ".*",
	}
	request.Sign(client.AccessKeyName, client.AccessKey)
	if limitToken {
		request.TokenPattern = client.AccessKeyName
	}
	var response api.DeploymentStatsResponse
	err := client.request("deploy/list", request, &response)
	if err != nil {
		return nil, err
	}
	if !response.Validate(client.AccessKey) {
		return nil, errors.New("Could not validate signature")
	}
	return &response, nil
}
Ejemplo n.º 3
0
func (client *Client) PollDeployment(depId string,
	f func(*api.DeploymentStats) bool) (*api.DeploymentStats, error) {
	loop := true
	var response *api.DeploymentStatsResponse
	for loop != false {
		request := api.DeploymentStatsRequest{Deployment: depId}
		request.Sign(client.AccessKeyName, client.AccessKey)
		err := client.request("deploy/list", request, &response)
		if err != nil {
			return nil, err
		}
		if !response.Validate(client.AccessKey) {
			return nil, errors.New("Could not validate signature")
		}
		if len(response.Deployments) == 0 {
			return nil, errors.New("Could not find deployment")
		}
		loop = f(&response.Deployments[0])
		time.Sleep(1 * time.Second)
	}
	return &response.Deployments[0], nil
}