in awsiotjobs/mender/mender.go [164:182]
func parseJobDocument(jobExecution awsiotjobs.JobExecutioner) (Job, error) {
jobDocument, _ := json.Marshal(jobExecution.GetJobDocument())
job := Job{execution: jobExecution}
json.Unmarshal(jobDocument, &job)
switch job.Operation {
case "mender_install":
if len(job.URL) == 0 {
return job, awsiotjobs.JobError{ErrCode: "ERR_MENDER_MISSING_URL", ErrMessage: "missing url parameter"}
}
case "mender_rollback":
default:
return job, awsiotjobs.JobError{ErrCode: "ERR_JOB_INVALID_OPERATION", ErrMessage: "unrecognized or missing operation"}
}
var menderState State
statusDetails, _ := json.Marshal(jobExecution.GetStatusDetails())
json.Unmarshal(statusDetails, &menderState)
job.menderState = menderState
return job, nil
}