in cli/main.go [81:142]
func parseWorkflow(ctx context.Context, path string, varMap map[string]string, project, zone, gcsPath, oauth, dTimeout, cEndpoint string, disableGCSLogs, diableCloudLogs, disableStdoutLogs, skipCachingImages bool) (*daisy.Workflow, error) {
w, err := daisy.NewFromFile(path)
if err != nil {
return nil, err
}
Loop:
for k, v := range varMap {
for wv := range w.Vars {
if k == wv {
w.AddVar(k, v)
continue Loop
}
}
return nil, fmt.Errorf("unknown workflow Var %q passed to Workflow %q", k, w.Name)
}
if project != "" {
w.Project = project
} else if w.Project == "" && metadata.OnGCE() {
w.Project, err = metadata.ProjectID()
if err != nil {
return nil, fmt.Errorf("Failed to get GCE project id from metadata: %v", err)
}
}
if zone != "" {
w.Zone = zone
} else if w.Zone == "" && metadata.OnGCE() {
w.Zone, err = metadata.Zone()
if err != nil {
return nil, fmt.Errorf("Failed to get GCE zone from metadata: %v", err)
}
}
if gcsPath != "" {
w.GCSPath = gcsPath
}
if oauth != "" {
w.OAuthPath = oauth
}
if dTimeout != "" {
w.DefaultTimeout = dTimeout
}
if cEndpoint != "" {
w.ComputeEndpoint = cEndpoint
}
if disableGCSLogs {
w.DisableGCSLogging()
}
if diableCloudLogs {
w.DisableCloudLogging()
}
if disableStdoutLogs {
w.DisableStdoutLogging()
}
if skipCachingImages {
w.SkipCachingImages()
}
return w, nil
}