code: func parseClusteringKeys(ckStr string) ([]*ClusteringKey, error) {
  	ckStr = strings.TrimSpace(ckStr)
  	cks := strings.Split(ckStr, ",")
  	var clusteringKeys []*ClusteringKey
  	for _, ck := range cks {
  		fields := strings.Fields(ck)
  		if len(fields) == 0 {
  			continue
  		}
  		if len(fields) > 2 {
  			return nil, fmt.Errorf("Clustering key definition %q should look like \"name[ asc/desc]\"",
  				ck)
  		}
  		descending := false
  		if len(fields) == 2 {
  			switch strings.ToLower(fields[1]) {
  			case desc:
  				descending = true
  			case asc:
  				descending = false
  			default:
  				return nil, fmt.Errorf("invalid clustering key order %q in %q", fields[1], ck)
  			}
  
  		}
  
  		clusteringKeys = append(clusteringKeys, &ClusteringKey{Name: strings.TrimSpace(fields[0]), Descending: descending})
  	}
  	return clusteringKeys, nil
  }
docs: // parseClusteringKeys func parses the clustering key of DOSA object