func GetProject()

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
}