in tools/mig-scaler/scale.go [121:155]
func (cmd *Scale) Execute(ctx context.Context) error {
var err error
client, err := NewClient(ctx, cmd.Workflow)
if err != nil {
return err
}
defer client.Close()
err = client.Cancel(ctx, cmd.MIG)
if err != nil {
return err
}
job := &JobPayload{
Project: cmd.MIG.Project,
Name: cmd.MIG.Name,
Region: cmd.MIG.Region,
Zone: cmd.MIG.Zone,
TargetSize: cmd.TargetSize,
Increment: cmd.Increment,
Wait: uint32(cmd.Wait.Seconds()),
Deadline: time.Now().Add(cmd.Duration),
}
e, err := client.Execute(ctx, job)
if err != nil {
log.Fatalf("error: %v", err)
}
log.Printf("info: job started \"%s\"", e.Name)
// output the full name of the workflow execution to stdout to support scripts
fmt.Println(e.Name)
return nil
}