in tools/mig-scaler/client.go [151:182]
func parseJob(e *execpb.Execution) (*Job, error) {
var payload JobPayload
err := json.Unmarshal([]byte(e.Argument), &payload)
if err != nil {
return nil, err
}
mig := MIGRef{
Project: payload.Project,
Region: payload.Region,
Zone: payload.Zone,
Name: payload.Name,
}
job := &Job{
ID: parseJobID(e.Name),
State: e.State,
MIG: mig.Normalize(),
TargetSize: payload.TargetSize,
Increment: payload.Increment,
Wait: time.Duration(payload.Wait) * time.Second,
Deadline: payload.Deadline,
}
if e.StartTime != nil {
job.StartTime = e.StartTime.AsTime()
}
if e.EndTime != nil {
job.EndTime = e.EndTime.AsTime()
}
return job, nil
}