in gke-windows-builder/builder/builder/gce.go [123:143]
func GetProject() (string, error) {
// Get projectID from GCE metadata.
if metadata.OnGCE() {
// Use the GCE Metadata service.
projectID, err := metadata.ProjectID()
if err != nil {
return "", fmt.Errorf("Failed to get project ID from instance metadata with error: %+v", err)
}
return projectID, nil
}
// Shell out to gcloud.
cmd := exec.Command("gcloud", "config", "get-value", "project")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
return "", fmt.Errorf("Failed to shell out to gcloud: %+v", err)
}
projectID := strings.TrimSuffix(out.String(), "\n")
return projectID, nil
}